Offline: the whole site works with no connection (v0.10.3)
722583c
Honeymoon portal v0.10.1: Files tab, offline documents, touch-locked trip calendar, phone calendar
00d9408
Honeymoon portal v0.10.0: one place panel, nine tabs, travel on the timeline, the phone layout
8559754
The hero animates on touch at any width, not just below the breakpoint
ca6b57a
Budget lines drag to reorder and to move between sections
63a2676
Under 21: the flag on the guest list, the drinkers count on the budget
0fc2a95
Troubleshooting: "Unknown resource" when saving
The shape is worth knowing: the generic [resource] routes whitelist tables,
a singleton has to be special-cased by name, and the special case has to
exist in every verb that can reach it. settings had one in POST but not
PATCH, so a whole tab could not save while the endpoint looked healthy.
d5af98a
A Kids Meal filter on the guest list
Documents the whole filter row while passing, and the one thing that makes
this filter different: dietary answers live on the RSVP, so it matches the
household, and Not Eating overrides a kids' meal.
6325515
Kids' meal and Not eating: a plate is no longer a chair
Two answers that decide the plate rather than modify it. A kids' meal is a
different plate; not eating is a seat with no plate against it, so the
kitchen total and the headcount stop being the same number.
- Seating and the Export: the seven answers, plates-not-chairs in the
kitchen tiles, what is and is not counted as chicken, the CSV columns
- Guests and RSVPs: both new options on the RSVP card, and why ticking
Not Eating clears the rest
- Features: the RSVP bullet now lists the dietary answers
- Architecture: the DietaryEntry shape on rsvps
ddca420
Seating and the Export: a page of its own, plus the couple and vendors
The export has been undocumented since v0.9.87. New Seating-and-the-Export
page covers both chart views, who can be seated, the couple, vendors, every
export option, what prints, the chicken, the one-page fit and the CSV.
- Features: the seating bullet described only the canvas; guest list gains
the couple and the vendors tab
- Guests and RSVPs: step-by-step for adding the couple and vendors, plus
the admin-side dietary editor
- Architecture: the vendors table and guest_list.kind
- Development: check:seating was missing entirely; honeymoon count was
stale at 257 (now 659)
- Home and _Sidebar: link the new page
30a8e75
Map: the lasso's review button goes both ways
7eea5ec
Map: full-screen mode, and how the root class that drives it works
7ae7659
Itinerary: the split-view stop row is two lines, and the preset times hide until the box has focus
e6d2263
Map: the tools moved onto the map; the draw-an-area tool folded into the lasso
23faf33
Journeys, the geocoder pair, the flight-lookup states, and the env-var trap
Installation carried a compose snippet passing only three environment
variables through, which is the reason a correctly-set FLIGHT_API_KEY
never reached the container. Features and Architecture describe travel as
journeys; the portal page documents which geocoder answers and what the
flight lookup's three replies mean.
a3a6197
Travel: journeys, not legs filed onto days (v0.9.54)
a6122a4
Troubleshooting: the geocoder 403, the fuzzy-match trap, and the two flight-lookup states
0d10dcb
The honeymoon portal, as of v0.9.50
Seven waves of work from docs/honeymoon-improvements-2026-08-25.md:
trip mode and the offline Today view, share links, the booking vault and
budget, road times, weather, daylight, opening hours, time zones, the
conflicts panel, the place library's import/export and detail drawer,
per-person ratings and comments, the calendar feed, snapshots, documents
and post-trip mode. Features and Architecture updated to match.
aecfbe7
Document nine releases: stays areas and the Removed bucket, the finance pass, and how images actually reach the servers
- Honeymoon: an area per stay, filtering by it, and removing a stay without
deleting it — including why the map does not follow the area filter and why
delete is only offered inside the bucket
- Finances: full width, two columns for the forms, money cells that read as
money, and the Escape that used to save the edit it was discarding
- Deployment: both hosts pull their own images; the Portainer webhook is not
used, and the evidence for why — including that two other stacks on the same
Portainer do have working ones, so it is not a product limitation
- Architecture, Troubleshooting, Development, Features, Home
f060117
Document the admin API auth, and the dev-origin trap
4e0e129
Link the live demo at weddingwebsitedemo.com
It is up on the OVH box behind Nginx Proxy Manager, so every page that
described the demo as something you bring up yourself now leads with the one
you can just click.
003b71c
Stop GitHub eating <place name> as an HTML tag
c731c1e
Follow the docker-compose.yml -> docker-compose.dev.yml rename
f272bb3
Catch the wiki up: CI/CD, demo mode, and everything the honeymoon portal grew
The wiki was written at v0.9.5 and the app is at v0.9.30. Deployment still
described building the image on a laptop, Installation pointed at paths that
moved into docker/, Development named CLAUDE.md, and the demo page described
a stack you filled by hand rather than one that is read-only and seeds itself.
- The demo instance: rewritten around DEMO_MODE — no login, writes answered
but never stored, the flag refused unless the database really is the demo's,
and a seeder that runs on every start so the demo carries new features' data
- Deployment: pushing to main is the deploy; what publishes what, and why a
v* tag must never move :latest. Plus redeploying the demo
- Installation: docker/ paths, the three compose files, no obsolete version key
- Development: AGENTS.md and the symlink trap, running locally in demo mode
- Architecture: how demo mode is put together, and the three honeymoon columns
that encode a decision (rank, arrive_day_offset, leg coordinates)
- Honeymoon portal: split view, minimised overlay, flying to a day, travel arcs,
the Travel tab, overnight legs, stays map/ranking/sort/mid tier, and dates
that no longer delete days
- Troubleshooting: six new rows, mostly demo- and pipeline-shaped
cc4b871
Give the two longest pages internal headings
Honeymoon portal was 369 lines under a single heading, which is a wall
rather than a page — its tab-by-tab structure was hiding in bold
lead-ins. Promoted those to headings so the wiki's own contents list and
the sidebar can navigate it, and did the same for Finances. The prose is
untouched; the lead-in stays bold because it is the first sentence of its
section, not a label.
Also dropped the heading five pages repeated from their own title, an
artefact of splitting a level-3 section into a page of its own.
0309210
Move the technical documentation out of the README
Fifteen pages, split from a README that had grown to 1,083 lines. The
content is moved verbatim — only heading levels shifted — apart from the
Development page, which was a single line pointing at CLAUDE.md and is now
a real page, and Home and _Sidebar, which are new.
Every substantive line of the old README was checked to still exist in
either the trimmed README or one of these pages.
The README keeps what a front page is for: what the thing is, the
screenshots, a quick start, and an index of these pages.
6926c7a