Load favorite location on startup v0.4.3
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
@@ -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,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) => {
|
||||
|
||||
Reference in New Issue
Block a user