Hello,
I would like to report a timezone handling issue observed on the community-managed Panoramax Taiwan instance.
(This bug report was drafted with the assistance of Codex)
Environment
- Instance: https://panoramax.osm.tw
- API version reported by the instance:
2.13.0 - Upload client:
panoramax_cli 1.4.1 - Capture location: New Zealand
- Capture timezone:
Pacific/Auckland/+12:00 - Tested on: 2026-08-25
Input
Filename:
2026-08-14T18-06-32+1200_f00157.jpg
The accompanying panoramax.csv contains:
file,capture_time
2026-08-14T18-06-32+1200_f00157.jpg,2026-08-14T18:06:32+12:00
The JPEG also contains:
Exif.Photo.OffsetTimeOriginal = +12:00
Xmp.exif.DateTimeOriginal = 2026-08-14T18:06:32.00+12:00
Upload command:
panoramax_cli upload \
--api-url https://panoramax.osm.tw \
--split-distance 200 \
MIO
Actual result
The uploaded photo is:
https://panoramax.osm.tw/?focus=pic&pic=13631122-4b16-421b-b256-5d1f1a812bb3
The API item is:
https://panoramax.osm.tw/api/collections/4c56038b-669d-4ee0-973f-965ec1fe52c7/items/13631122-4b16-421b-b256-5d1f1a812bb3
It returns:
{
"datetime": "2026-08-14T06:06:32+00:00",
"datetimetz": "2026-08-14T06:06:32+00:00"
}
The original timezone is still present in the EXIF metadata returned by the API, but it is not preserved in datetimetz.
The Web viewer therefore displays the capture time as GMT+00 instead of the local New Zealand time.
Expected result
It is acceptable for datetime to be normalized to UTC:
2026-08-14T06:06:32+00:00
However, based on the Panoramax API documentation and changelog, datetimetz should preserve the original timezone:
2026-08-14T18:06:32+12:00
The viewer should then display the local capture time, approximately 18:06:32 GMT+12.
Reproduction
curl -fsSL \
'https://panoramax.osm.tw/api/collections/4c56038b-669d-4ee0-973f-965ec1fe52c7/items/13631122-4b16-421b-b256-5d1f1a812bb3' \
| jq '.properties | {
datetime,
datetimetz,
original: .exif["Xmp.exif.DateTimeOriginal"],
offset: .exif["Exif.Photo.OffsetTimeOriginal"]
}'
Additional notes
The official deployment documentation recommends keeping the PostgreSQL database timezone set to UTC.
Could you please clarify:
- Should the server preserve the input timezone in
datetimetz? - Is this behavior fixed in a newer server version?
- Should the Web viewer derive the local timezone from the picture coordinates when
datetimetzis UTC?
Relevant documentation:
- CLI external metadata:
https://docs.panoramax.fr/cli/USAGE/#external-metadata - API 2.6.0 changelog (
datetimetz):https://gitlab.com/panoramax/server/api/-/tags/2.6.0 - Database timezone setup:
https://docs.panoramax.fr/backend/install/database_setup/
Thank you.


