Skip to content

Theme assets reach a split docroot; symlink-off copy at the asset base — 1.7.1 - #269

Merged
WebTigers merged 1 commit into
mainfrom
fix/split-docroot-theme-assets
Sep 14, 2026
Merged

WebTigers merged 1 commit into
mainfrom
fix/split-docroot-theme-assets

Conversation

@WebTigers

Copy link
Copy Markdown
Owner

Summary

Found by the first one-click cPanel install through TigerWHM (host3, symlink() disabled, subdomain docroot inside public_html): the activated theme rendered unstyled because /_greymist/* 404'd.

  • Tiger_Install::linkPublicAssets() mirrors every _* entry under <root>/public (a theme's asset base, a module's own publish) into a split docroot; co-located installs unchanged.
  • Tiger_Theme::activate() publishes to the request's DOCUMENT_ROOT too, and the symlink()-off fallback copies to the theme's asset base instead of _modules/<slug>.
  • New Tiger_Install::publishOne() — the one link-or-copy unit for both.

Test plan

  • InstallAssetsTest: +3 (mirror in link and copy mode with the marker; no self-loop when co-located; publishOne respects a user's real dir).
  • Full suite 2355 green locally; re-proven on host3 after release (the account page install, theme CSS served).

🤖 Generated with Claude Code

https://claude.ai/code/session_01L8p9pLJ3DFstG3xZuh2QgZ

…et base (1.7.1)

Found by the first one-click cPanel install (TIGER-39 on host3, symlink()
disabled, subdomain docroot inside public_html): Grey Mist activated but
/_greymist/* 404'd. Two causes: nothing mirrored a theme's asset base from
<root>/public into the docroot, and the symlink-off fallback published to
_modules/<slug> where the theme's HTML does not point.

linkPublicAssets() now mirrors every public/_* entry into a split docroot
(co-located unchanged); Tiger_Theme::activate() publishes to the request's
DOCUMENT_ROOT as well; Tiger_Install::publishOne() is the one link-or-copy
unit for both. Tests: mirror in link + copy mode, no self-loop when
co-located, publishOne respects a user's real directory.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L8p9pLJ3DFstG3xZuh2QgZ
@WebTigers
WebTigers merged commit 457a6d9 into main Sep 14, 2026
14 checks passed
@WebTigers
WebTigers deleted the fix/split-docroot-theme-assets branch September 14, 2026 10:28
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.

1 participant