MTL ExplorerReleased · 0.9.0Home

Photo handling improvement verification

Focused local verification for the Track Details photo timeline, server-side activity matching, camera offsets, mini-map positions, and enhanced media viewer.

Use only public tracks and fully synthetic media. Do not use local personal GPX tracks or photos as fixtures or evidence.

On this page

Reusable regression data

Run docker/gpx_porto_taxi_dataset/generate_regression_photos.py <output-dir> in the app container or a Python environment with Pillow, piexif, ffmpeg, and ffprobe. It creates six small synthetic JPEGs, a short H.264/AAC MP4, a short H.264/AAC MOV, a manifest, and mtl-regression-media-track.gpx. Four photos and the MP4 contain embedded GPS. Two photos and the MOV contain camera time only and should resolve to the matching GPX route. The GPS points are near, but not identical to, the track points.

For the full installed-app flow, follow the copy/index order in full regression start instructions.

Run the focused frontend regression with:

cd mtl-client
npm run test:media-regression

For thumbnail recovery, cover a burst of 120 uncached photos with a busy converter, opening despite a failed preview, retry on activation, keyboard and touch activation, and cancellation when leaving the collection or hiding thumbnails. Verify that a cached preview loads during thumbnail conversion, an uncached preview survives 60 seconds of converter contention, and queued thumbnails wait across preview retries. Check activity photos, the media mosaic, and the filmstrip in light and dark themes. A filmstrip drag must not restart recovery or select a photo.