Skip to content

Fix executable bit on Solo theme image assets - #553

Merged
minimaluminium merged 2 commits into
TryGhost:mainfrom
evanwon:fix-solo-image-exec-bit
Oct 14, 2026
Merged

minimaluminium merged 2 commits into
TryGhost:mainfrom
evanwon:fix-solo-image-exec-bit

Conversation

@evanwon

@evanwon evanwon commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

packages/solo/assets/images/default-skin.png, default-skin.svg, and preloader.gif are committed with mode 100755 (executable bit set). These are static binary image assets and shouldn't be executable.

This is a permission-only change — the file content is untouched (blob SHAs are identical), only the mode changes from 100755 → 100644.

Why this matters

On self-hosted Ghost installs, the executable bit causes the ghost doctor / ghost update file-permission check to flag these files (it expects 644/664):

Checking file permissions
Your installation folder contains some directories or files with incorrect permissions:
- ./content/themes/solo/assets/images/default-skin.svg
- ./content/themes/solo/assets/images/default-skin.png
- ./content/themes/solo/assets/images/preloader.gif

Resetting the mode to 100644 clears the warning, matching every other asset in the theme.

Notes

  • Only packages/solo is affected; I didn't touch other themes, though it may be worth checking whether the same exec-bit slipped into other packages.

default-skin.png, default-skin.svg, and preloader.gif in packages/solo
are committed with mode 100755 (executable). They are static binary
image assets and should not be executable. On self-hosted Ghost installs
this trips the `ghost doctor` / `ghost update` file-permission check,
which expects 644/664. This sets their mode to 100644; content is
unchanged (blob SHAs are identical).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 23, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters: 3
  • packages/solo/assets/images/default-skin.png is excluded by !**/*.png
  • packages/solo/assets/images/default-skin.svg is excluded by !**/*.svg
  • packages/solo/assets/images/preloader.gif is excluded by !**/*.gif

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7d547e00-01a8-4ea1-a7fa-247e9f55a3ab

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@minimaluminium
minimaluminium merged commit c85d008 into TryGhost:main Oct 14, 2026
65 checks passed
@minimaluminium

Copy link
Copy Markdown
Member

Thanks for catching this and sending the fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants