recon/templates
Matt a4288c0cd8 Add contacts/phone book system with per-user scoping
New files:
- lib/auth.py: Authentik forward-auth helpers (get_user_id, @require_auth)
- lib/contacts.py: ContactsDB with CRUD, soft delete, restore, purge, find_nearby
- lib/contacts_api.py: Flask Blueprint with 9 API endpoints at /api/contacts
- templates/knowledge/deleted_contacts.html: Dashboard recovery page

Modified:
- lib/api.py: Register contacts_bp, add KNOWLEDGE_SUBNAV entry, /deleted-contacts route
- config/profiles: has_contacts feature flag (true for home, false for pi profiles)

Separate SQLite DB at data/contacts.db. Per-user isolation via X-Authentik-Username.
Home/Work labels enforced unique per user. Haversine proximity queries (75m default).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-22 05:29:54 +00:00
..
kiwix Replace wget/SingleFile/Playwright backends with Zimit 2026-04-19 14:06:23 +00:00
knowledge Add contacts/phone book system with per-user scoping 2026-04-22 05:29:54 +00:00
peertube Initial commit: RECON codebase baseline 2026-04-14 14:57:23 +00:00
settings Initial commit: RECON codebase baseline 2026-04-14 14:57:23 +00:00
base.html Kiwix integration: ZIM processor, dashboard tab, wiki.echo6.co citations 2026-04-17 07:00:24 +00:00
search.html Initial commit: RECON codebase baseline 2026-04-14 14:57:23 +00:00