Replace stale linuxserver.io paths (abc:users, /app/www/public/*)
with current approach: run make fix-perms after plugin install or
container recreation.
- Update post form parent, Makefile demo targets, and test scripts to use
new trip-scoped paths (01.trips/japan-korea-2026/01.dailies)
- Rename tracker.spec.js → dailies.spec.js and update all /tracker URLs
to /trips/japan-korea-2026/dailies across nav.spec.js, post.spec.js,
helpers.js, and dailies.spec.js
- Add Italy 2025 demo trip to Makefile demo-load/demo-reset targets
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The getgrav/grav image is Debian-based and has no uid 1000 user,
causing Apache to fail switching to APACHE_RUN_USER=#1000 on restart.
fix-perms now creates the uid 1000 user if absent, sets ownership,
then gracefully reloads Apache workers so they run as uid 1000.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
APACHE_RUN_USER/GROUP=#1000 makes PHP/Apache write files owned by
the host user (mischa) instead of http. fix-perms target in setup
ensures ownership is correct after plugin install.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 tests across auth (A1-A5), posting (P1-P5), validation (V1-V4),
tracker (T1-T5), and nav (N1-N5). Uses storageState for single login
per run. Replaces post-with-photo.spec.js with post.spec.js.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
test-config: static YAML validator for post-form.md — checks that the
add-page-by-form action name, pageconfig/pagefrontmatter blocks, and all
required fields are correctly wired. Fast, no server needed. Catches the
class of bug that caused silent post failures.
test-post: end-to-end HTTP test — logs in, submits the form, verifies an
entry.md was created on disk, then cleans up. Requires GRAV_TEST_USER and
GRAV_TEST_PASS in .env (see .env.example).
make test-config # fast, no credentials needed
make test-post # full e2e, needs .env credentials
make test # both
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds section 1 to CLAUDE.md covering the current development mode
config (twig.cache: false), the production mode values to restore at
launch, and an explicit rule never to flip modes mid-development to
work around bugs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>