github liketrek/TREK v5.1.1

36 minutes ago

5.1.1

Full diff since 5.1.0

Test the TREK apps

The TREK apps for iPhone, iPad, Apple Watch and Android are in a closed test, and you can join. They run on your own TREK server and add what a browser cannot: home and lock screen widgets, an Apple Watch app, encrypted push notifications, offline maps, sharing from any app into a trip, Wallet passes, and layouts made for iPad, tablets and foldables.

👉 Sign up at liketrek.com/app-test: pick Apple or Android, tick the devices you can test on, and leave the email of your Apple ID or Google account. Access goes out once the builds pass Apple's and Google's review. Connect the app to a TREK server on the newest version, such as this one, or to the demo; please don't test with TREK Cloud.

Fixed

Assistant

  • The assistant on Claude Sonnet 5.5 came back without an answer. The model at times ended a turn on its follow-up suggestions alone; it is now asked for the answer, and the suggestions show under it. (#2930, Closes #2789)
  • A chat failed with HTTP 400 after leaving the page. Leaving while the assistant was still running its tools left the chat in a state Anthropic and the OpenAI Responses API refused; the calls that never ran are now answered when the chat is sent again, and affected chats work on their next message. (#2930)
  • The trip assistant failed Tours tools with an argument error. A tool from a group it had not loaded yet got its arguments as text; such a call now runs and loads the group, and a failing call tells the assistant to send its arguments again. (#2973, Closes #2967)

Maps and places

  • Far from Europe, TREK could not reach its own services. Node gave each address only 250 ms to connect, less than a round trip from Australia, so place search fell back to OpenStreetMap and sharing place details stayed unavailable; the attempt now has 2 s, and the log names the reason behind "fetch failed". (#2943, Closes #2944)
  • Sharing place details stayed unavailable until someone searched. An installation now asks for its TREK services key a few minutes after startup, and the daily check fetches a missing key. (#2945)
  • Sharing place details left out what users typed before. When an admin agrees, the details typed since 5.1.0 are shared too, a few at a time and never replacing newer values; the consent prompt says so. (#2945)
  • A place added on another copy of the world map stayed there. It was saved with a longitude like 274.9, without a name, and routes to it ran across the whole map; every point is now on the real world, and a migration moves the ones already saved. (#2977, Closes #2976)
  • Places and flights showed on different copies of the world map. A trip across the date line is now drawn on one copy, with pins, routes and flights joined, and the map opens across the Pacific. (#2977, Closes #2975)
  • Selecting a place fanned a whole city across the map. The selection now only opens small clusters or stops sharing one coordinate. (#2995, Closes #2990)
  • The selected place was hard to find on the map. Its pin now has a white border inside a pulsing blue ring, and the map keeps it above the place card, also on portrait tablets. (#2995, Closes #2991)
  • The places selection bar was cut off with a long list. "Select all" and "Delete selected" now stay at the foot of the panel however long the list is. (#2940)
  • A map whose vector style could not load stayed empty under its markers. It now falls back to raster tiles.

Trips, bookings and tours

  • Flights across time zones were out of order. Bookings with a known time zone are now ordered by when they actually leave, in every view of the day. (#2932, Closes #2929)
  • Date first in day headings: a long title hid the date, and renaming replaced it. The title now gives way, and the rename pencil and input go with the title line under the date. (#2932, Closes #2920, Closes #2921)
  • The day after a side trip started at the wrong hotel. A day now wakes up in the stay checked into last and ends at the one that runs on, and a taxi from the hotel no longer adds a road from the hotel to itself. (#2978)
  • The Tour booking type read like the Tours tab. It is now Guided tour, and the empty Tours tab says that booked tours go under Bookings. (#2978)
  • A transit booking on a day with a flight could not be moved. A timed booking now stays where it is dropped, and bookings that would then be out of order move next to it. (#2986, Closes #2983)
  • Importing a GPX or KML file with a track lost its waypoints. The import preview now offers to add the points as places too, on by default. (#2970, Closes #2969)
  • A flight imported through KItinerary lost its seat. Flight and ticket seats are both read now, and each leg of a connecting flight keeps its own seat. (#3000)
  • The trip PDF could not be saved from the iOS Home Screen app. The preview there now offers "Open in Safari", which opens the trip with the export ready. (#2962)
  • The packing list named only the first person bringing an item. The tooltip, the phone row and the item sheet now name everyone. (#2980)
  • Dates always showed in one fixed format. There is now a date format setting per user with an admin default, and every numeric date and date picker follows it. (#2972, Closes #2971)

Costs

  • An expense in the display currency did not count as typed. It went through the trip currency and back and could settle a few cents off; such rows now count exactly as typed. (#2974, Closes #2965)
  • Budget categories written through the MCP split by case. A category in any case or a common name like Hotel or Flight is now stored as its fixed Costs key, and the tools name the real keys. (#2979)

Journey

  • A newest-first journey link opened at the oldest day on a phone. It now opens on the latest day, and a running journey on today. (#2980)
  • A planned place on the journey map offered no way to write it up. Its card now has New entry, which starts from the suggestion the trip left for it or a new entry at its time and spot.
  • Swiping through a journey's entries jolted. The cards now keep their place and the middle one grows the moment the swipe lands. (Closes #3004)
  • The journey map's zoom buttons sat under the bottom bar on a phone. Touch screens zoom with a pinch, so the buttons now show only with a mouse or trackpad. (Closes #3001)
  • The map of a shared journey stopped short in mobile Safari. It now runs to the edge of the screen. (Closes #3002)
  • A shared journey had no day picker on desktop. It now has the journal's, with every day one click away. (Closes #2998)
  • The journey location search listed places only by their local names. It now suggests places as you type, with where each one is. (Closes #3003)
  • The feed's entries showed half between the header pills. They now go under them cleanly.
  • The journey editor offered External photos without a photo provider. It now offers them only when one is on. (#2957)
  • The MCP described journal visibility wrongly. The tools now say that only a draft stays off the share link. (#2979)

Collections

  • Long labels hid the place name. The name keeps its room, the row shows as many labels as fit with a +N for the rest, and the label strip over the map folds into a list. (#2987, Closes #2981)
  • Switching lists slid a whole new page in on a phone. The list now changes in place.

On the phone

  • The mobile web app felt like a website. Pages slide like a navigation stack, days, road trip stages and Vacay months swipe, sheets drag from anywhere, an edge swipe goes back and lists refresh by pulling. Maps keep working offline for Mapbox users too, through a stored fallback map. (#2996)
  • A tooltip opened on a tap and stayed. Touch screens no longer open tooltips; a mouse or trackpad still does.
  • A switch that was on was hard to see in the dark scheme. Its knob now takes the track's ink.
  • Pictures in the chat could not be opened large. A tap now opens them full screen.
  • Arabic did not read in its direction. Arrows turn round, Latin names keep their ends and figures stay whole.
  • The demo's welcome was a desktop dialog on a phone. It is now a sheet from the bottom with a full-width start button.

Installation and server

  • Docker and Helm: the container took minutes to start on a large volume. It now checks only each volume root and what sits directly in it, warns when chown is refused, and the chart gains podSecurityContext and securityContext. (#2932, Closes #2918)
  • The Docker image shipped Debian packages with known security holes. It now takes the base image's pending security fixes, zlib among them.
  • Deleting a trip left its files in storage. Files a delete or a replace leaves unused now go a day later, once nothing else names them; a nightly check shows older leftovers in Admin > Storage, and deleting them stays off until an admin switches it on. (#2934, Closes #2924)
  • Rotating the encryption key or resetting the admin failed with SQLITE_READONLY. Both scripts now stop before doing anything and print the docker exec -u node command to run instead. (#2941, Closes #2933)
  • Web Push could not be turned on with Chrome on Android. Google's newer push host jmt17.google.com is now accepted. (#2942, Closes #2939)
  • Notification settings listed events an install could not send. Rows for switched-off addons, photo providers and plugins no longer show, and their saved choices are kept. (#2957)
  • A page opened while the server restarted kept the default configuration. It now asks again until the server answers. (#2957)
  • New installs started with Journey and Collections off. They now start on, next to the other addons; existing installs keep theirs. (#2977)
  • The README's sponsor section did not link dataforest cloud everywhere it named it. (#2930)

Internal

Groundwork for the native iOS and Android apps, which are in a closed test and do not ship with this release.

  • Native app: the start screen. Photo and grid in light mode too, translated into every language, fitting a phone on its side and an upright iPad, and drawn the same on older Android web views. (#2994)
  • Native app: device features. A Face ID and fingerprint lock, push notifications end-to-end encrypted through the TREK relay, "Open in TREK" for booking files, links into a trip's links through the share sheet, haptics, a cache of the map tiles viewed, and a single prompt for notifications. (#2996)
  • Native app: widgets and Apple Watch. Home and lock screen widgets, a Live Activity for the travel day, and an Apple Watch app with complications whose ticks reach every watch on the trip at once through a silent push.
  • Native app: iPad and the unfolded Duo. Sections in a rail beside the content, the trip, tours, road trip, journal, Studio and settings in columns side by side, and trips that open without a loading screen. (#3010)
  • Native app: Android level with iOS. Widgets, the device's location, the tile store, Google Play billing and Google Wallet.

Sponsor

TREK runs on dataforest cloud. dataforest builds cloud servers made in Germany: enterprise hardware and a premium network in Frankfurt, up to 20 TB of traffic included, block storage, one-click apps and billing by the hour. They sponsor the servers behind TREK's public services, and they are a great home for your own TREK too. Get started with dataforest cloud.

Don't miss a new TREK release

NewReleases is sending notifications on new releases.