Skip to content

Releases: donnchawp/travel-steps

Travel Steps 0.5.1

Choose a tag to compare

@donnchawp donnchawp released this 19 Oct 11:47

Photos now come from their own URLs under /travel-steps/, and the trip edit page shows a plain introduction as text.

  • Photo URLs. Photos are served from /travel-steps/photo/, outside REST, at the same URL for everyone: their URLs no longer carry a nonce. A photo that isn't there, or that you can't see, gets the same 404, which caches don't keep, and photos only some people may see can't be loaded by other sites. Old photo URLs redirect to the new ones. Like the trip pages, photos need pretty permalinks, and an authentication proxy that lets /travel-steps/* through now lets their photos through too.
  • Introduction field. The trip edit page shows an introduction of plain paragraphs as text, not block markup, and an ampersand as typed. An introduction with more than paragraphs, such as an image or a heading, links to the block editor instead, and saving the form leaves it as it was.
  • Fixes. A backslash typed in a trip's title is kept when the trip is saved.

There's also a demo in WordPress Playground: a week in the west of Ireland, synced from stand-in Immich and Dawarich servers.

Install: download travel-steps.zip below, which includes the Composer dependencies, and upload it under Plugins → Add New, or replace the plugin folder. A git checkout needs composer install --no-dev first.

Travel Steps 0.5.0

Choose a tag to compare

@donnchawp donnchawp released this 17 Oct 13:56

Immich photos are now cached in the background and cleared out daily, and the lightbox swipes on touch screens.

  • Photo cache filling. After an Immich trip syncs, or you pin, hide or show a photo or change the cover, WordPress caches every photo visitors can see on the trip in the background. The trip keeps working when Immich is down or the author's key stops working, at the cost of disk space for the whole trip. A few photos that always fail no longer hold up the rest.
  • Photo cache sweep. A daily sweep deletes cached photos that no trip or upload uses any more. The new site setting "Delete cached photos after (days)" also deletes photos cached longer ago than that; 0, the default, keeps them. Deleting the plugin deletes the photo cache.
  • Cached photo names. Cached photos are named after a keyed hash of their id instead of the id in their proxy URL, so on nginx without the deny rule nobody can fetch a hidden photo from the cache folder by its id. Photos cached by 0.4.0 or earlier are renamed on the first request after the update.
  • Photo tools on phones. Press Edit photos on the trip page to pin, hide or choose a cover. Until then the photo tools are hidden and can't be pressed by accident.
  • Lightbox. On touch screens you swipe between photos, and the lightbox fills the screen; elsewhere it keeps its arrows. It no longer shows the previous photo while the next one loads, and it stops downloading photos you've moved past.
  • Unpublished steps. Editors of a published trip get a warning when some of its steps aren't published, and those steps' badges say "Draft, not public".
  • Place names. Immich photos without GPS that Dawarich placed get a town and country from the bundled place names, instead of joining the place around them or heading a day "Somewhere new".
  • Fixes. Photo URLs are never marked for shared caches when the viewer can edit the trip or the URL carries a nonce; a cached photo deleted during a request is fetched again instead of sent empty.

There's also a demo in WordPress Playground: a week in the west of Ireland, synced from stand-in Immich and Dawarich servers.

Install: download travel-steps.zip below, which includes the Composer dependencies, and upload it under Plugins → Add New, or replace the plugin folder. A git checkout needs composer install --no-dev first.

Travel Steps 0.4.0

Choose a tag to compare

@donnchawp donnchawp released this 15 Oct 11:25

Trips can now have a password, and your home stays off the map in more cases.

  • Password-protected trips. A published trip can have a password. Visitors enter it on the trip page; logged-in users on its viewer lists, and anyone who can edit it, see it without one. Core REST follows the same rule.
  • Home photos in trips of uploads. Photos taken at home stay on their day, without a place: they add no marker, place name or country. The notice after a sync counts them on a line of their own.
  • Steps with no position. Visitors now see published steps that have no position, such as a day at home, on the timeline without a marker on the map. Sync clears a step's position when it can no longer find one, so a step placed before you set or widened your home no longer shows there.
  • Countries. A country named differently by Immich, Dawarich or the place names counts once in a trip's stats.
  • Settings. Your own section is now "Personal settings", saved with Save, and its radius is "Home radius".
  • Fixes. Core REST no longer returns or counts (in X-WP-Total) trips and steps a visitor can't see, however the query names them; password-protected trip pages are kept out of page caches.

There's also a demo in WordPress Playground: a week in the west of Ireland, synced from stand-in Immich and Dawarich servers.

Install: download travel-steps.zip below, which includes the Composer dependencies, and upload it under Plugins → Add New, or replace the plugin folder. A git checkout needs composer install --no-dev first.

Travel Steps 0.3.0

Choose a tag to compare

@donnchawp donnchawp released this 13 Oct 16:21

Trips no longer need Immich: a trip can take its photos from uploads to the trip instead.

  • Uploaded photos. Add photos to a trip through the media window. They're stored privately, served without their GPS data, and their file names stay out of every listing. HEIC needs WordPress 6.7. The trip's dates come from the photos and follow them as you add more, and places are named offline from GeoNames, so a trip of uploads needs neither Immich nor Dawarich.
  • Photos with no time. An upload with no time taken can be given one, suggested from the file name where it has a date and time.
  • Albums. An Immich album trip takes any dates you leave out from the album.
  • More authors. Authors and up can make trips, each with their own Immich and Dawarich API keys and home location.
  • Fixes. Other authors' steps no longer appear in a trip; pin, hide and cover need permission to edit trips; a date that doesn't exist is refused instead of crashing sync.

There's also a demo in WordPress Playground: a week in the west of Ireland, synced from stand-in Immich and Dawarich servers.

Install: download travel-steps.zip below, which includes the Composer dependencies, and upload it under Plugins → Add New, or replace the plugin folder. A git checkout needs composer install --no-dev first.

Travel Steps 0.2.2

Choose a tag to compare

@donnchawp donnchawp released this 11 Oct 20:15

A fix for the button under each step's photos.

It used to say "Show all 6 photos" while revealing only the 2 that weren't already on screen. It now counts what it reveals: "Show 2 more photos".

There's also a demo in WordPress Playground: a week in the west of Ireland, synced from stand-in Immich and Dawarich servers.

Install: download travel-steps.zip below, which includes the Composer dependencies, and upload it under Plugins → Add New, or replace the plugin folder. A git checkout needs composer install --no-dev first.

Travel Steps 0.2.1

Choose a tag to compare

@donnchawp donnchawp released this 11 Oct 20:08

A fix for syncing with Dawarich.

The trip's start and end times are now URL-encoded when they're sent to Dawarich. Before, the +00:00 in times like 2025-06-09T00:00:00+00:00 went out as a bare +, which a query string reads as a space, so a server that decodes it strictly couldn't read the dates and returned no location points.

There's also a demo in WordPress Playground: a week in the west of Ireland, synced from stand-in Immich and Dawarich servers.

Install: download travel-steps.zip below, which includes the Composer dependencies, and upload it under Plugins → Add New, or replace the plugin folder. A git checkout needs composer install --no-dev first.

Travel Steps 0.2.0

Choose a tag to compare

@donnchawp donnchawp released this 11 Oct 19:23

Dawarich is now optional. Without a Dawarich key, sync maps each trip from where its photos were taken. Photos more than 20 km apart are joined with dashed lines, and the distance is measured in straight lines between photos.

Changes

  • Distance includes flights. It follows the whole track, gaps included.
  • GPS glitches are dropped. A fix you couldn't have reached without travelling faster than an airliner is removed from the route, distance, photo locations, step placement and country count. Each fix is checked against its neighbours on both sides, and against your home fixes, so a bad first fix or one the morning you leave is caught too.
  • Settings
    • Each API key has a "Remove the saved key" checkbox.
    • Either home field accepts a pasted latitude, longitude pair, for example from Google Maps.
    • Home coordinates that can't be read show an error instead of being cleared without a word. That includes a decimal comma such as 48,85.
  • Warnings
    • The edit page explains when a synced trip has no favourite photos, and so no steps.
    • Editors are told when published steps are hidden because their trip isn't public.
  • Trips list: oldest first, by start date.

Upgrading

Sync each trip again to apply the new distance and glitch filtering. Titles, stories and step dates aren't changed by a sync.

Install: download travel-steps.zip below, which includes the Composer dependencies, and upload it under Plugins → Add New. A git checkout needs composer install --no-dev first.

Travel Steps 0.1.0

Choose a tag to compare

@donnchawp donnchawp released this 11 Oct 16:16

First release.

Polarsteps-style trip journals for WordPress: the route comes from Dawarich, photos from Immich, and each day of the trip is a step post you write in the block editor.

  • Sync builds one draft step per day, placed by time zone, with its photos and places.
  • A Trip photos block marks where a place's photos go in a step's story.
  • Pin, hide, or set the header photo from the trip page.
  • Photos are proxied through WordPress, with caching and ETags; nothing loads from Immich in the browser.
  • Leaflet is bundled. Map tiles come from OpenStreetMap (see External services in readme.txt).
  • Creating, editing and syncing trips requires manage_options, which the travel_steps_capability filter can change.

Install: download travel-steps.zip below, which includes the Composer dependencies, and upload it under Plugins → Add New. A git checkout needs composer install --no-dev first.