m038
41dc3dbeea
docs: add UI/UX alignment implementation plan
2026-06-20 12:08:34 +02:00
m038
ce7549cef1
docs: remove incorrect dark mode out-of-scope note from UI alignment spec
2026-06-20 11:56:02 +02:00
m038
f0c8ce3137
docs: add UI/UX alignment design spec (back pills, card hover, map flash)
2026-06-20 11:53:51 +02:00
m038
6d20e0fedc
test: add S1–S6 Playwright tests for story mode (listing, shortcodes, back nav, cross-trip)
2026-06-20 10:13:56 +02:00
m038
832e135e3a
fix: correct stale G1-G4 comment to G1-G5 in gpx-journey spec
2026-06-20 00:54:06 +02:00
m038
0b49f90206
test: add M5–M6 integration tests for GPX connector logic
2026-06-20 00:50:19 +02:00
m038
5a52b8ff18
test: add Playwright tests G1-G5 for buildJourneySegments algorithm
...
Tests load italy-2025 map page to get MapUtils in scope, then exercise the
GPX proximity algorithm with synthetic data via page.evaluate.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01WPJztrVGbwic2xTG7G9fjM
2026-06-20 00:39:45 +02:00
m038
2efdfbebb7
docs: add GPX connector logic implementation plan
2026-06-20 00:24:32 +02:00
m038
dfdb4d5ac3
docs: add GPX connector logic design spec
2026-06-20 00:15:10 +02:00
m038
50b64fbcb3
build: add Italy 2025 stories folder to demo-load target
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Vgmzx8VTTTmCskSpQtsLTr
2026-06-19 23:44:18 +02:00
m038
640016c54f
docs: add Tuscany demo stories implementation plan
2026-06-19 23:34:38 +02:00
m038
64dbcefd9b
docs: add Tuscany demo stories design spec (3 story composition showcases)
2026-06-19 23:30:59 +02:00
m038
3fbba7672d
test: fix M2 timing — wait for first marker before counting
...
Markers are added in map.on('load') which fires after the canvas
becomes visible; the old check was racy. Add an explicit waitFor
so M2 reliably passes with demo data loaded.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Vgmzx8VTTTmCskSpQtsLTr
2026-06-19 23:17:05 +02:00
m038
6c378d77ca
build: add story folder to demo-load and demo-reset targets
2026-06-19 23:04:14 +02:00
m038
7602b135f8
docs: add stats redesign spec
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01RB86BaJBG3eGiMdfhmHRrQ
2026-06-19 22:31:33 +02:00
m038
46c33837ba
docs: add dev server port and trip page filter bar notes to CLAUDE.md
2026-06-19 21:56:03 +02:00
m038
b1ec642d60
test: add MapLibre canvas tests (M1–M4), skip N5 (map nav link disabled)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01G7CzY4z2Qm5sYE2nySRWuH
2026-06-19 21:52:38 +02:00
m038
28dc6c1f6c
test: add F1–F7 Playwright tests for trip page filter bar and stats toggle
2026-06-19 21:51:13 +02:00
m038
3c35176b90
test: update N4 — filter bar replaces trip nav link to dailies
2026-06-19 21:50:41 +02:00
m038
5e864b0c03
docs: add trip page filter bar implementation plan
2026-06-19 21:24:19 +02:00
m038
c9ce336b18
docs: add trip page filter bar design spec
2026-06-19 21:20:55 +02:00
m038
e329cd4ad2
docs: update trip-switching checklist — home.alias is now permanent /home
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01RB86BaJBG3eGiMdfhmHRrQ
2026-06-19 15:52:46 +02:00
m038
abd953e1f6
docs: add home and trip pages implementation plan
2026-06-19 15:26:03 +02:00
m038
dc8b7f58d2
docs: add home page & content flow design spec
2026-06-19 15:07:10 +02:00
m038
6d54092413
docs: rewrite production todo — fresh install, correct Admin2 gap, ordered steps
2026-06-19 13:26:05 +02:00
m038
ab92f3b469
docs: add production todo list
2026-06-19 13:24:13 +02:00
m038
ae17483ca4
docs: update dark mode plan — CartoDB tiles replace Stadia (no key required)
2026-06-19 13:18:47 +02:00
m038
e032292c97
docs: update CLAUDE.md, bugs log, and posting pipeline for Grav 2.0 + trip entity
...
- CLAUDE.md: add Grav 2.0 upgrade method, Admin2 setup, trip entity architecture, updated paths
- bugs-and-fixes.md: fix stale paths, add BUG-004 (Admin2 empty dashboard) and BUG-005 (PHP session path)
- posting-pipeline.md: update paths to trips/dailies structure
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-19 13:11:53 +02:00
m038
e6eb93cd2c
feat: trip entity restructure + Grav 2.0 upgrade
...
- Switch to getgrav/grav Docker image with GRAV_CHANNEL=beta (Grav 1.7.53)
- Apache runs as host UID 1000; fix-perms target handles container setup
- Rename tracker → dailies throughout (URL slug, templates, tests)
- Trip entity: /trips/<slug>/{dailies,map,stats,stories} hierarchy
- Nav driven by active_trip in site.yaml
- GPX route rendering on map via leaflet-gpx CDN
- Italy 2025 demo trip with real Tuscany GPS routes
- Admin blueprint for trip pages (date range, cover image, album URL)
- Dark mode + visual polish plan ready at docs/superpowers/plans/2026-06-19-dark-mode.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-19 09:09:19 +02:00
m038
2835d876cc
docs: update fix-perms instructions for getgrav/grav image
...
Replace stale linuxserver.io paths (abc:users, /app/www/public/*)
with current approach: run make fix-perms after plugin install or
container recreation.
2026-06-19 02:01:16 +02:00
m038
2ff31f311b
docs: add dark mode implementation plan
2026-06-19 01:59:17 +02:00
m038
0cb109b2a3
docs: add dark mode + visual polish design spec
2026-06-19 01:56:34 +02:00
m038
5e954d8adf
fix: update paths for trips/japan-korea-2026/dailies restructure
...
- 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 >
2026-06-19 01:49:38 +02:00
m038
6926b4084a
docs: add trip entity implementation plan
2026-06-19 01:17:05 +02:00
m038
943026658b
fix: make fix-perms idempotent and persistent across container restarts
...
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 >
2026-06-19 00:15:56 +02:00
m038
6702b5d9b6
feat: support GRAV_CHANNEL_SUFFIX for Grav 2.0 RC production install
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-19 00:14:05 +02:00
m038
b2f6cb1977
fix: update test-post.sh for Grav 1.7.53 / Login 3.x compatibility
...
- login-form-nonce replaces form-nonce (Login plugin 3.x)
- task value is login.login not login
- login success check uses form presence, not status code (/post returns
200 unauthenticated)
- entry discovery searches by title, handles .en.md suffix
- cleanup uses docker exec to remove files owned by www-data
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 23:41:51 +02:00
m038
8824f79c64
feat: run Apache as host UID 1000 and add fix-perms target
...
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 >
2026-06-18 23:34:57 +02:00
m038
9fd349e5ec
chore: update .gitignore to allow cache-on-save plugin
2026-06-18 23:18:01 +02:00
m038
df55917347
feat: switch to getgrav/grav 2.0 RC docker image
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 23:13:53 +02:00
m038
6fe066e77d
docs: fix plan commit steps for user/ git repo separation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 23:12:52 +02:00
m038
b98ae50f30
docs: add Grav 2.0 upgrade implementation plan
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 23:05:13 +02:00
m038
9beb22f4c2
docs: add Grav 2.0 upgrade design spec
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 23:00:02 +02:00
m038
edc232ae83
Merge pull request 'Playwright UI test suite (25 tests)' ( #1 ) from experimental-polar-steps into main
...
Reviewed-on: #1
2026-06-18 22:41:34 +02:00
m038
a50e7f5386
feat: add comprehensive Playwright UI test suite
...
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 >
2026-06-18 22:34:11 +02:00
m038
545e3f5ba0
feat: add Playwright UI test for post-with-photo flow
2026-06-18 20:35:17 +02:00
m038
1fa8ff954d
fix: increase PHP upload limit to 100M per file, 500M total
2026-06-18 20:26:27 +02:00
m038
fb28f09e0c
test: add form config validator and HTTP integration test
...
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 >
2026-06-18 19:57:49 +02:00
m038
706d1dee21
fix: raise PHP upload limits to 25M per file for photo uploads
2026-06-18 19:40:49 +02:00
m038
618e0c707b
feat: add demo-load and demo-reset make commands
2026-06-18 17:52:33 +02:00