Repository navigation
feat: make module deprecation more visible to users - #4495
Conversation
A deprecated module was only hinted at on the modules list, by a warning icon whose tooltip said no more than "Deprecated" - so a user running one had no way to find out, or to learn why. Add a shared `Badge` component, and a `ModuleDeprecation` lookup beside the module stores that reports both levels the store can deprecate: the module as a whole, and the specific version in use. The label distinguishes them, so a row does not condemn a module that is itself current. The per-module version subscription is only taken when there is a store version to look up, leaving dev/builtin versions and the no-version case free. Surface it in the three places a user meets a module: - Connection/surface list rows: a badge beside the module name, with the reasons in a tooltip. The name keeps its own truncating span so the badge cannot be clipped. - Help modal: the reasons spelled out above the help text. This needs the raw version id kept alongside its display name. - Config panel: the same notice at the top of the panel. The modules list keeps its indicator, redesigned onto the shared badge so it finally shows the reason. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAxrCHCfp9TKnaeZHPzt3v
The store's default reason is the literal string "Version is deprecated", which most of its version entries send verbatim, so prefixing it produced "Deprecated version / The version in use is deprecated: Version is deprecated" - the same fact three times over. Drop the prefix: the heading names the subject, so the body is only the reason. A reason that is nothing but that boilerplate becomes advice the user can act on, and a leading boilerplate line is dropped while the detail under it is kept - six version entries, all qsys-remote-control and bmd-atem, open that way. A reason that merely begins with the same wording is left intact. Reasons also keep their own line breaks, which those multiline entries need, and when both the module and the version in use are deprecated each line now says which it is about. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAxrCHCfp9TKnaeZHPzt3v
The panel a user opens to manage a module's versions said nothing about the module itself being deprecated - only its versions table hinted at anything, and then only per version. Put the same notice at the top of the body, where it is the first thing read. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAxrCHCfp9TKnaeZHPzt3v
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (7)
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe pull request adds shared module deprecation lookup and display components. Module lists and management panels show module-level deprecations. Instance help, edit, and list views show deprecations for the applicable module and version. ChangesModule Deprecation Notices
Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to The deprecation notices are ready to merge after normal checks; no actionable merge-blocking issue was established. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change adds read-only notices to existing screens. Reasons are displayed as text, and configuration actions remain unchanged. No introduced security issue was identified, but metadata access controls and freshness were not fully verified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Module reasons come to light Comment |
A deprecated module was only hinted at on the modules list, by a warning
icon whose tooltip said no more than "Deprecated" - so a user running one
had no way to find out, or to learn why.
Summary by CodeRabbit