🐛 Fixed theme uploads freezing when folders are read-only#28898
Conversation
ref https://linear.app/ghost/issue/ONC-1838/timøeout-on-theme-upload ref TryGhost/framework#761 ref TryGhost/gscan#853 Theme uploads could hang without any visible error when a zip contained folders without sufficient write permissions. GScan needs to write into those folders while extracting and validating the theme. Updated `gscan` to include the permission handling fix so missing permissions are restored during upload and the theme can be installed successfully instead of leaving the UI frozen.
|
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 ignored due to path filters (1)
📒 Files selected for processing (1)
WalkthroughThe 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx run-many --target=build --projects=tag:publi... |
✅ Succeeded | 2s | View ↗ |
nx run-many -t test:unit -p ghost,@tryghost/adm... |
✅ Succeeded | 8m 47s | View ↗ |
nx run ghost:test:ci:integration |
✅ Succeeded | 2m 41s | View ↗ |
nx run @tryghost/admin-x-settings:test:acceptance |
✅ Succeeded | 7m 1s | View ↗ |
nx run ghost:test:integration |
✅ Succeeded | 2m 33s | View ↗ |
nx run @tryghost/admin:build |
✅ Succeeded | 4m 33s | View ↗ |
nx run ghost-admin:test |
✅ Succeeded | 3m 12s | View ↗ |
nx run ghost:test:legacy |
✅ Succeeded | 2m 12s | View ↗ |
Additional runs (7) |
✅ Succeeded | ... | View ↗ |
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗
☁️ Nx Cloud last updated this comment at 2026-06-25 13:22:42 UTC
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #28898 +/- ##
==========================================
- Coverage 74.28% 74.28% -0.01%
==========================================
Files 1565 1568 +3
Lines 135098 135198 +100
Branches 16413 16415 +2
==========================================
+ Hits 100363 100430 +67
+ Misses 33751 33749 -2
- Partials 984 1019 +35
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|

ref https://linear.app/ghost/issue/ONC-1838
ref TryGhost/framework#761
ref TryGhost/gscan#853
Theme uploads could hang without any visible error when a zip contained folders without sufficient write permissions. GScan needs to write into those folders while extracting and validating the theme.
Updated
gscanto include the permission handling fix so missing permissions are restored during upload and the theme can be installed successfully instead of leaving the UI frozen.