Load favorite location on startup v0.4.3

This commit is contained in:
dmo
2026-07-23 09:57:52 +02:00
parent e250a83b6d
commit 0541790dba
5 changed files with 17 additions and 5 deletions
+8
View File
@@ -1,5 +1,13 @@
# Changelog
## 0.4.3
- Fix favorite locations appearing empty after a browser refresh.
- Load the shared server-side favorite list during application startup instead of waiting for **Open photo folder**.
- Keep the existing refresh when opening a folder as a defensive re-sync for changes made by another family member.
- Preserve all favorites already stored in the `photo-date-editor-data` Docker volume.
- Bump the application and service-worker cache version to 0.4.3.
## 0.4.2
- Added shared favorite locations to the Location tab.
+3 -3
View File
@@ -1,6 +1,6 @@
# Photo Date Editor
Version 0.4.2
Version 0.4.3
A self-hosted browser UI for manually dating scanned photographs. The browser receives temporary read/write access to a local computer or Chromebook folder, sends one JPEG at a time to the Docker backend for ExifTool processing, and overwrites the same local file after processing.
@@ -59,7 +59,7 @@ GEOCODER_URL=https://nominatim.openstreetmap.org/search
Open the configured HTTPS URL through Caddy, click **Open photo folder**, and grant read/write access.
## Upgrade from 0.1 through 0.4.1
## Upgrade from 0.1 through 0.4.2
Replace the project files with this version and rebuild:
@@ -123,7 +123,7 @@ The chosen precision is also written into XMP Photoshop Instructions.
## Location behavior
Favorite locations are shared by everyone using the same Docker stack. Choose a saved place and click **Use**, or place a pin/set coordinates and click **Add current location** in the favorite-locations card. The favorite list is stored in the named Docker volume `photo-date-editor-data`, so it survives image rebuilds and container recreation. Deleting a favorite only removes it from the reusable list; it does not alter photos that were already geotagged.
Favorite locations are loaded automatically when the page opens and are shared by everyone using the same Docker stack. Choose a saved place and click **Use**, or place a pin/set coordinates and click **Add current location** in the favorite-locations card. The favorite list is stored in the named Docker volume `photo-date-editor-data`, so it survives image rebuilds and container recreation. Deleting a favorite only removes it from the reusable list; it does not alter photos that were already geotagged.
The **Location** tab supports five ways to set GPS metadata:
+1 -1
View File
@@ -25,7 +25,7 @@ from fastapi.staticfiles import StaticFiles
APP_NAME = os.getenv("APP_NAME", "Photo Date Editor")
APP_URL = os.getenv("APP_URL", "http://localhost:8080")
APP_VERSION = "0.4.2"
APP_VERSION = "0.4.3"
MAX_UPLOAD_MB = int(os.getenv("MAX_UPLOAD_MB", "150"))
MAX_UPLOAD_BYTES = MAX_UPLOAD_MB * 1024 * 1024
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper()
+4
View File
@@ -983,6 +983,10 @@ async function initialise() {
}
} catch {}
// Favorite locations are server-side shared data and must be loaded on every page start,
// independently of whether the user opens a photo folder in this browser session.
await loadFavoriteLocations();
if (!isSupported()) {
setSaveStatus('failed', 'Browser folder access unavailable', 'Use a current Chromium browser over HTTPS.');
for (const button of elements.openButtons) button.title = 'Requires a Chromium browser and HTTPS';
+1 -1
View File
@@ -1,4 +1,4 @@
const CACHE_NAME = 'photo-date-editor-v4-2';
const CACHE_NAME = 'photo-date-editor-v4-3';
const SHELL = ['/', '/styles.css', '/app.js', '/manifest.webmanifest', '/vendor/leaflet/leaflet.css', '/vendor/leaflet/leaflet.js'];
self.addEventListener('install', (event) => {