Repository navigation
Releases
Releases · morfredus/morfPhoto
morfPhoto - v0.15.3
morfPhoto 0.15.3
- Dead service-template leftovers:
ExampleModule, theexamplemodule type, theexamples/minimaldemo (which used the template port 8901) and thePOST /exampleroute. - The no-config fallback now starts an empty
photomodule (no root, database in the state directory) instead of the demo module, so the service stays startable.
morfPhoto - v0.15.0
morfPhoto 0.15.0
GET /api/v1/sourcesreportsreachablefor each pushed source: a bounded probe of the mount point (sameavailability_timeout_msas the indexer, never a barestatvfs). Unlikemounted, it turns false when the source machine is off or its address changed, so PhotoHub can offer to reconfigure the access instead of failing silently.- The privileged helper now classes mount.cifs "could not resolve address" as
host_unreachable(it fell back to the genericcifs_mount_failed), so a client can retry a source by IP address after a hostname that the server cannot resolve.
morfPhoto - v0.14.9
morfPhoto 0.14.9
- ISO read from Ricoh GR III (and other Pentax-family maker notes) was wrong (9 instead of 200): a bare
-ISO#let ExifTool pick the maker-note raw index code. The extractor now requests-ExifIFD:ISO#explicitly. Existing photos need a full reindex to correct stored values.
morfPhoto - v0.14.8
morfPhoto 0.14.8
- Schema v6: composite index
files(directory, state)./api/v1/photos/summary(polled by PhotoHub) joined every folder context to the files of its directory with a full table scan; during an indexing pass it took minutes, blocked the single HTTP thread and made/statusand PhotoHub time out ("morfPhoto injoignable"). The migration runs once at startup. - The summary is cached (10 s when idle, 60 s during an indexing pass), so repeated polling no longer recomputes it on the single HTTP thread.
morfPhoto - v0.14.6
morfPhoto 0.14.6
- Resync the vendored morfDeploy (0.21.2):
config pushskips identical files.
morfPhoto - v0.14.4
morfPhoto 0.14.4
- Vendored morfDeploy 0.21.0. An update now brings the installed config fully up to the example: new keys also reach modules already present (matched by
id), documentation comments follow the example, and keys a version declares inremoved_keys(service.json) are deleted after a backup.
morfPhoto - v0.14.3
morfPhoto 0.14.3
- Re-vendored morfBeacon to 0.7.2 (documentation-only release;
include/andsrc/unchanged).
morfPhoto - v0.14.1
morfPhoto 0.14.1
- Resync vendored morfBeacon to 0.7.1. Picks up the async
/statusreply fix: the beacon status server no longer blocks the event loop draining a reply to a slow client, so the heartbeat can no longer be starved (which produced false "service down" alerts across the parc). No API change.
morfPhoto - v0.14.0
morfPhoto 0.14.0
- Representative folder sampling for the preview (
GET /api/v1/photos?directory=…&sample=N). Returns N image paths spread across the whole folder and deduplicated by stem (filename without extension), so a shot's RAW and JPEG count once and the preview never shows two near-identical frames. Distinct from pagination: taking the first N photos tended to return the same scene (a RAW+JPEG pair, or a burst), giving a poor overview. Reads the database only (no mount access, so a sleeping source cannot block it).
morfPhoto - v0.13.1
morfPhoto 0.13.1
- A sleeping source no longer freezes morfPhoto's HTTP workers. When a network source (SMB/CIFS) goes dead - the source PC asleep - any access to its mount blocks until the CIFS timeout (~180 s). Three endpoints touched the mount directly and could hang:
PUT/DELETE /api/v1/context(writing/removing the.morfphoto.jsonsidecar) andGET /api/v1/thumbnail(preview). Each now runs a bounded accessibility probe (probeAccessible,watch.availability_timeout_ms, default 5 s) before touching the path -thumbnailprobes beforeisWithinRoots, whosecanonicalFilePath()would itself block. An unreachable source now returns a clear error fast instead of hanging. (/statusand/healthzwere already safe: they only read the database and/proc/mounts.) - Mounts now fail fast on a dead share. The privileged helper mounts CIFS with
soft,echo_interval=10, so I/O on a source whose machine fell asleep errors in ~20 s instead of blocking ~180 s (the default CIFS timeout). Applies to both the test mount and the persistedfstabline; re-push a source to migrate its options.