Skip to content

Releases

morfPhoto - v0.15.3

Choose a tag to compare

@morfredus morfredus released this 07 Nov 12:36

morfPhoto 0.15.3

  • Dead service-template leftovers: ExampleModule, the example module type, the examples/minimal demo (which used the template port 8901) and the POST /example route.
  • The no-config fallback now starts an empty photo module (no root, database in the state directory) instead of the demo module, so the service stays startable.

morfPhoto - v0.15.0

Choose a tag to compare

@morfredus morfredus released this 01 Nov 23:35

morfPhoto 0.15.0

  • GET /api/v1/sources reports reachable for each pushed source: a bounded probe of the mount point (same availability_timeout_ms as the indexer, never a bare statvfs). Unlike mounted, 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 generic cifs_mount_failed), so a client can retry a source by IP address after a hostname that the server cannot resolve.

morfPhoto - v0.14.9

Choose a tag to compare

@morfredus morfredus released this 01 Nov 21:35

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

Choose a tag to compare

@morfredus morfredus released this 15 Oct 19:21

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 /status and 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

Choose a tag to compare

@morfredus morfredus released this 10 Oct 14:23

morfPhoto 0.14.6

  • Resync the vendored morfDeploy (0.21.2): config push skips identical files.

morfPhoto - v0.14.4

Choose a tag to compare

@morfredus morfredus released this 29 Sep 14:37

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 in removed_keys (service.json) are deleted after a backup.

morfPhoto - v0.14.3

Choose a tag to compare

@morfredus morfredus released this 27 Sep 14:53

morfPhoto 0.14.3

  • Re-vendored morfBeacon to 0.7.2 (documentation-only release; include/ and src/ unchanged).

morfPhoto - v0.14.1

Choose a tag to compare

@morfredus morfredus released this 07 Sep 21:49

morfPhoto 0.14.1

  • Resync vendored morfBeacon to 0.7.1. Picks up the async /status reply 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

Choose a tag to compare

@morfredus morfredus released this 06 Sep 00:20

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

Choose a tag to compare

@morfredus morfredus released this 05 Sep 22:46

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.json sidecar) and GET /api/v1/thumbnail (preview). Each now runs a bounded accessibility probe (probeAccessible, watch.availability_timeout_ms, default 5 s) before touching the path - thumbnail probes before isWithinRoots, whose canonicalFilePath() would itself block. An unreachable source now returns a clear error fast instead of hanging. (/status and /healthz were 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 persisted fstab line; re-push a source to migrate its options.