Files
haos-hacs-immich-album-watcher/plans
alexei.dolgolyov 0200b9929f
Some checks failed
Validate / Hassfest (push) Has been cancelled
Phase 8: Server health, album filter, Jinja2 engine, password change
5 features implemented:

1. Server health indicator: green/red/yellow dot on each server card.
   Pings Immich in background on page load. New GET /api/servers/{id}/ping.

2. Album selector filter: search input above album list in tracker form.
   Filters by name as you type (case-insensitive). Shows total count.

3. Album last update time: each album in the selector shows its
   updatedAt date. Backend now returns updatedAt from Immich API.

4. Full Jinja2 template engine in notifier:
   - build_full_context() assembles all ~40 variables from blueprint
   - Common date/location detection across assets
   - Per-asset date/location when they differ
   - Favorite indicator, people formatting, asset list with truncation
   - Video warning for Telegram
   - All template slots from TemplateConfig used contextually

5. Password change: PUT /api/auth/password endpoint (validates current
   password, min 6 chars). UI in sidebar footer with inline form.

Also: Phase 9 plan (Telegram bot management) added.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 17:27:00 +03:00
..

Plans

This folder contains the primary architecture plan and phase-specific subplans for the Immich Watcher project restructuring.

Structure

  • primary-plan.md -- Master plan with architecture decisions and phase overview
  • phase-1-core-library.md -- Extract shared core library
  • phase-2-haos-refactor.md -- Wire core into HAOS integration
  • phase-3-server-backend.md -- Build standalone FastAPI server
  • phase-4-frontend.md -- Build SvelteKit web UI
  • phase-5-haos-server-sync.md -- Optional HAOS-Server integration

Tracking

Each plan uses checkbox tracking:

  • [ ] -- Not started
  • [x] -- Completed
  • [~] -- In progress
  • [-] -- Skipped/deferred

Phase subplans are created when work on that phase begins (not all upfront).