Repository navigation
fix(web): restore right-side banner fade on legacy headers - #2126
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Exempt native header selectors web/postcss/scopeTailwindToUnapi.ts, web/src/__tests__/scopeTailwindToUnapi.spec.ts |
The plugin leaves matching native header selectors unscoped. Tests check header and banner state changes, and confirm unrelated selectors retain .unapi scoping. |
Update image-header banner styles web/src/assets/main.css |
Image-header rules exclude consolidated headers. The gradient uses an isolated ::before pseudo-element and changes direction and stops at widths up to 768px. Import paths use single quotes; imported files and layers are unchanged. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Suggested reviewers: pujitm
Merge Risk: 
Minimal · up to 823ee
-
No confirmed merge-blocking issue remains; proceed with normal checks.
Pre-merge checks: 
4 · 
1
-
Failed checks: 1 warning Passed checks: 4 passedFull details: Docstring Coverage
-
Explanation
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 unsupported.)
Resolution
Write docstrings for the functions missing them to satisfy the coverage threshold.
-
Finishing Touches: 💡 1
-
📝 Generate docstrings: 💡
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
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.
A rabbit sees the banner glow,
A header wears a gradient show.
The scoped rules step aside,
While mobile colors turn and glide.
I nibble CSS, then hop away.
Comment @coderabbitai help to get the list of available commands.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2126 +/- ##
==========================================
+ Coverage 53.94% 53.97% +0.02%
==========================================
Files 1046 1046
Lines 73606 73610 +4
Branches 8825 8834 +9
==========================================
+ Hits 39707 39730 +23
+ Misses 33771 33752 -19
Partials 128 128 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
This plugin has been deployed to Cloudflare R2 and is available for testing. |
🔄 PR Merged - Plugin Redirected to StagingThis PR has been merged and the preview plugin has been updated to redirect to the staging version. For users testing this PR:
Staging URL: Thank you for testing! 🚀 |
🤖 I have created a release *beep* *boop* --- ## [4.37.8](v4.37.7...v4.37.8) (2026-10-26) ### Bug Fixes * **api:** preserve partial results and accurate notification counts ([#2123](#2123)) ([3371fd4](3371fd4)) * **auth:** limit repeated authorization requests ([#2094](#2094)) ([e160a4e](e160a4e)) * **auth:** prevent custom permission checks racing policy refresh ([#2125](#2125)) ([05ba1bf](05ba1bf)) * **graphql:** bound request size and expanded selections ([#2121](#2121)) ([0c60d9d](0c60d9d)) * **graphql:** filter schema metadata requests ([#2095](#2095)) ([dcd396e](dcd396e)) * **settings:** omit internal provider values ([#2096](#2096)) ([30e8d6a](30e8d6a)) * **updates:** embed internal OS checks on Tools page ([#2020](#2020)) ([b95ae92](b95ae92)) * **web:** restore right-side banner fade on legacy headers ([#2126](#2126)) ([da7b87d](da7b87d)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Eli Bosley <11823237+elibosley@users.noreply.github.com>
|
Thanks for fixing the missing fade! There is still one issue with longer server descriptions though: the new fixed-width gradient leaves the beginning of the description over the banner, making it unreadable with a dark banner. Previously, the fade followed the width of the description/profile area. I understand the header is being consolidated, and this suggestion only concerns the legacy header during that transition. I tested a temporary CSS change that disables the outer fixed-width gradient and renders var(--banner-gradient) on #UserProfile::before instead, keeping the :not(.unraid-consolidated-header) restriction. This restores the previous appearance with longer descriptions. Could the legacy fade follow the profile content width again, while leaving the consolidated header unchanged? For reference, this is the temporary F12 snippet I used to test it. This produces the expected appearance with my long description; the actual source implementation is up to you. |
Summary
Restore the banner color fade on the componentized header and keep a smooth fade behind the controls on the right.
Why This Exists
Work Intent: make the existing banner fade setting work on Unraid 7.3 without changing the unified header.
The native header contains
.unapicomponents, so prefixing its banner selectors with.unapiprevents them from matching. Once enabled, the previous overlay also ends abruptly and changes the profile controls' positioning.Resolution
Keep native banner selectors outside the component scope, exclude
.unraid-consolidated-header, and paint a continuous right-side gradient behind the existing header content.Reviewer Considerations
::beforeand the production optimizer's:beforeform have regression coverage.#header.imageelement, so every compatibility rule explicitly excludes its container class.Behavior Changes
Implementation Summary
Verification
pnpm test src/__tests__/scopeTailwindToUnapi.spec.ts __test__/components/HeaderThemes.test.ts: 23 tests passed.pnpm codegen,pnpm build, targeted ESLint/Prettier, and the full web pre-commit lint/format hook passed.Risk
The shared scope plugin is the main compatibility boundary. Selector regressions cover the unified markup, and existing unified-header theme tests pass. A live unified-header browser run was not performed.
Summary by CodeRabbit