The guides of the map, bookings, costs, files, collab, lists, road trip and
transports now describe the desktop as it is after the redesign: the bars
with their icon buttons and filter popovers, the dialogs with the title in
the head band and status and type as pills, the three booking views and
the booking detail, the compact note cards, the Costs table. Two guides
are new: the booking views (cards, list, timeline, the Trip and Day zoom
and the detail) and the Costs table view. Every changed text is translated
into every locale, and the Plan tab texts call the bookings tab by the
label it shows, Book.
Every picture of the thirteen trip screens is taken again against the new
layout, on one picture day. Scripts follow the new markup; the Dawarich
fixture uploads its recording again when the stored one belongs to another
run, and the spare poll gets its vote from a member so its winner shows
green.
server-launch.mjs skips the server build with E2E_SERVER_PREBUILT, so
several recordings on their own port pairs can share one dist.
The first round could not photograph a few screens because the service
behind them was not there: Dawarich, AirTrail, a document store, the
booking extractor. They are there now, so the guides are too.
- map-dawarich-trail, dawarich-countries and dawarich-wishes: the run
uploads a recording of the seeded trip, and of the year before it, into
a Dawarich of its own (dawarich-track.ts) and reads it back.
- airtrail-import: four flights are put into an AirTrail account, two of
them connecting in Tokyo, so the picker offers the layover.
- import-booking-file and import-transport-file: the confirmations carry
their facts as schema.org data the way portals send them, the extractor
reads them, and the guides go on to the filled-in form and the card.
- files-sync and document-providers: a Nextcloud folder with two
documents in it, bound to the trip, and the switches in the admin panel.
- read-place: three seeded places carry their OpenStreetMap id, so the
card shows the week's hours, the phone number and the Open or Closed
ring. The rating stays Google's, and the texts say so now.
- map-compass on the MapLibre renderer, which the guide switches to and
back; files-preview opens a PDF, which needs the full browser rather
than the headless shell (channel: chromium on the help-media project).
Each of those takes an address and a key from e2e/help/media.env, which
is not committed; media.env.example and the README say what each one
needs and why the address has to be the machine's own on the network.
The seed's dates are offsets from the day the pictures are taken
(e2e/dates.ts): the trip ends today, so the boarding pass, What's Next
and the forecast have something to show whenever the run happens, and
nobody bumps a date in three files every few weeks. run.mjs fixes the day
once per run so the projects and the workers agree across midnight.
- The lightbox header's button group is the right thing to ring, but its centre
falls between the buttons where the picture underneath takes the pointer, so
the hover never landed. The pointer goes on a button, the ring stays on the
group.
- The collection the place is saved into was matched by a name another guide's
list starts with.
- help-media gets four minutes a guide instead of two and a half. A guide is a
whole task and a few of them wait on the network more than once; the
nearby-places one runs two POI searches and opens the place form on top.
Every one of these passed when its own file was run alone and failed when all
of them ran against one seeded trip, because another screen's fixture had put
something in the way.
- The Bookings fixture names a booking after a place, so the Assign File dialog
offered two entries opening with the same words.
- The Lists tab has a Shared button, which the loose name of the navbar's Share
also matches, so opening a trip on that tab never settled.
- A traveller's avatar is named by the initial it draws, not by the username;
the title carries the name.
- Departure and Arrival are what a booking gets when it crosses days, so the
guide about them points at the flight, not at the train that starts and ends
on one day.
- The What's Next stop was timed from the wall clock of whoever runs this,
while the browser's clock is pinned to the day the pictures are taken on.
Both now come from the same constant.
- The map was panned with the arrow keys, which Leaflet only reads while its
container has focus, and focusing it from here did not take. It is dragged
now, from a point checked to be free of markers, because a press on a marker
drags the place onto a day instead.
Place details, Day details, Map, Transports, Bookings, Lists, Costs, Files,
Collab and Road Trip: 77 guides over 360 steps, each one a task a reader can
follow, with the Playwright script that will photograph it. The fixtures they
need go in beside ensureDaysFixtures, and every screen is a child of the trip,
so the panel folds them under it.
The capture now pins the browser's clock to the day the seeded trip ends. A
picture has to look the same whoever takes it and whenever: a day later the
trip is over, My Trips moves it out of the boarding pass, What's Next has
nothing left to list, and a forecast for a day in the past is not a forecast.
Only `Date` is pinned, so timers keep running.
trip-days is green end to end after its locators were checked against the
running app; its route guides read day 6, whose two stops sit next to each
other, because day 1's are separated by the flight and have no leg of their own.