🐛 Fixed admin sidebar hidden behind legacy screens on mobile#28956
🐛 Fixed admin sidebar hidden behind legacy screens on mobile#28956betschki wants to merge 1 commit into
Conversation
On mobile, opening the sidebar from a legacy Ember screen (e.g. the billing/Ghost(Pro) screen) appeared to do nothing — the sidebar drawer opened in the DOM but was painted behind the screen content. Legacy Ember screens use very high z-index values (the billing overlay is z-index: 9999) and none of the Ember host's ancestors establish a stacking context, so those z-indexes compete in the root stacking context and paint over the React shell's mobile sidebar drawer (z-50), which is portalled to <body>. Isolating #ember-app into its own stacking context keeps those legacy z-indexes scoped to the Ember content region, so the shell's sidebar drawer renders above it as expected. Fullscreen Ember screens are unaffected — they hide the sidebar via sidebar visibility, not z-index.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughIn 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
9larsons
left a comment
There was a problem hiding this comment.
Good find, thanks for this!
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx run-many --target=build --projects=tag:publi... |
✅ Succeeded | 1s | View ↗ |
nx run-many -t test:unit -p @tryghost/admin |
✅ Succeeded | 1m 31s | View ↗ |
nx run @tryghost/admin:build |
✅ Succeeded | 1m 13s | View ↗ |
nx run-many -t lint -p @tryghost/admin |
✅ Succeeded | 15s | View ↗ |
nx run ghost:build:assets |
✅ Succeeded | 2s | View ↗ |
nx run ghost:build:tsc |
✅ Succeeded | 6s | View ↗ |
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗
☁️ Nx Cloud last updated this comment at 2026-07-01 14:52:00 UTC

On mobile, opening the sidebar from a legacy Ember screen (e.g. the billing/Ghost(Pro) screen) appeared to do nothing — the sidebar drawer opened in the DOM but was painted behind the screen content.
Legacy Ember screens use very high z-index values (the billing overlay is z-index: 9999) and none of the Ember host's ancestors establish a stacking context, so those z-indexes compete in the root stacking context and paint over the React shell's mobile sidebar drawer (z-50), which is portalled to .
Isolating #ember-app into its own stacking context keeps those legacy z-indexes scoped to the Ember content region, so the shell's sidebar drawer renders above it as expected. Fullscreen Ember screens are unaffected — they hide the sidebar via sidebar visibility, not z-index.
Got some code for us? Awesome 🎊!
Please take a minute to explain the change you're making:
Please check your PR against these items:
We appreciate your contribution! 🙏