Load favorite location on startup v0.4.3
This commit is contained in:
1 parent
e250a83b6d
commit
0541790dba
5 files changed
+17
-5
No files matched your search
@@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# 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
|
## 0.4.2
|
||||||
|
|
||||||
- Added shared favorite locations to the Location tab.
|
- Added shared favorite locations to the Location tab.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Photo Date Editor
|
# 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.
|
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.
|
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:
|
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
|
## 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:
|
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_NAME = os.getenv("APP_NAME", "Photo Date Editor")
|
||||||
APP_URL = os.getenv("APP_URL", "http://localhost:8080")
|
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_MB = int(os.getenv("MAX_UPLOAD_MB", "150"))
|
||||||
MAX_UPLOAD_BYTES = MAX_UPLOAD_MB * 1024 * 1024
|
MAX_UPLOAD_BYTES = MAX_UPLOAD_MB * 1024 * 1024
|
||||||
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper()
|
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper()
|
||||||
|
|||||||
@@ -983,6 +983,10 @@ async function initialise() {
|
|||||||
}
|
}
|
||||||
} catch {}
|
} 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()) {
|
if (!isSupported()) {
|
||||||
setSaveStatus('failed', 'Browser folder access unavailable', 'Use a current Chromium browser over HTTPS.');
|
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';
|
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'];
|
const SHELL = ['/', '/styles.css', '/app.js', '/manifest.webmanifest', '/vendor/leaflet/leaflet.css', '/vendor/leaflet/leaflet.js'];
|
||||||
|
|
||||||
self.addEventListener('install', (event) => {
|
self.addEventListener('install', (event) => {
|
||||||
|
|||||||
Reference in new issue
Block a user