Some checks failed
Validate / Hassfest (push) Has been cancelled
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>
715 B
715 B
Phase 9: Telegram Bot Management
Status: Pending Parent: primary-plan.md
Tasks
1. Register Telegram bots [ ]
- New entity: TelegramBot (name, token, bot_username fetched via getMe)
- CRUD API: /api/telegram-bots
- Frontend page to manage bots
2. View active bot chats [ ]
- Call Telegram getUpdates API to discover chats the bot has interacted with
- Display chat list (id, title, type) per bot
- Refresh on demand
3. Target uses registered bot + chat selector [ ]
- Target form: select from registered bots (dropdown) instead of raw token
- Select from discovered chats instead of typing chat_id manually
- Keep backward-compatible raw input as fallback