Files
talktime/features/INDEX.md
T
patrickandClaude Sonnet 5 8f6e05481b fix(PROJ-11): address QA BUG-2/3/4, partially mitigate BUG-1
BUG-4 (High, failed acceptance criterion) — per-tile unread badges:
new use-team-unread-counts.ts runs one app-level Matrix client (separate
from useTeamChat's detail-view client) that syncs every room GET /api/teams
now resolves (matrixRoomId added via leftJoin on chat_rooms) and reports
unread counts per team. TeamsPage tiles show the badge without the chat
tab being open. Side fix: createMatrixClient() now dynamic-imports
matrix-js-sdk instead of a static import, so the new always-mounted hook
doesn't drag the SDK (and its 7.8MB crypto WASM) back into TeamsPage's
main bundle — verified via build output (TeamDetail chunk 853KB -> 27KB,
SDK now in its own on-demand chunk).

BUG-3 (High) — kick-while-open: use-team-chat.ts now listens for
RoomEvent.MyMembership; leaving/removal flips status to a new "removed"
state instead of leaving history and the composer usable.

BUG-2 (High, partially mitigated) — minted tokens are unscoped Matrix
credentials by nature (Matrix has no token scoping). Disabled
user_directory search on Synapse (config + live matrix.perlbach24.de
instance), verified empty results instead of cross-club user listing.
Direct addressing by known Matrix ID is still possible — full tenant
isolation needs an explicit decision (one Synapse per club vs. an
isolation module on a shared homeserver), documented as an open item
in the spec rather than silently declared fixed.

BUG-1 (Critical, not fixed) — backend/.env.example is outside my
permission sandbox (can't read or write .env* files). Documented the
required block in the spec for manual addition; talkhub's real .env
already has the values.

Verified end-to-end on talkhub/matrix test LXCs. Not addressed in this
pass (lower priority per QA): BUG-5/6/7/8/9/10.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0143yYvjesjHndBACoweyK67
2026-09-11 20:21:07 +02:00

2.6 KiB

Feature Index

Central tracking for all features. Updated by skills automatically — never hand-edit the status column without also updating the matching feature spec header.

Status Legend

  • Planned - Requirements written, ready for architecture
  • In Progress - Tech design done, frontend/backend being built
  • In Review - QA testing in progress
  • Deployed - Live in production

Features

ID Feature Status Spec Created
PROJ-1 Auth (Login/Logout/Session) Deployed PROJ-1-auth.md 2026-09-11
PROJ-2 Verein anlegen + Vereinsadministrator Deployed PROJ-2-verein-und-vereinsadministrator.md 2026-09-11
PROJ-3 Mitgliederverwaltung Deployed PROJ-3-mitgliederverwaltung.md 2026-09-11
PROJ-4 Abteilungsverwaltung Deployed PROJ-4-abteilungsverwaltung.md 2026-09-11
PROJ-5 Mannschaftsverwaltung (inkl. Saison) Deployed PROJ-5-mannschaftsverwaltung.md 2026-09-11
PROJ-6 Rollen & Berechtigungen (RBAC) Deployed PROJ-6-rollen-und-berechtigungen.md 2026-09-11
PROJ-7 Einladungssystem Deployed PROJ-7-einladungssystem.md 2026-09-11
PROJ-8 Audit Log Deployed PROJ-8-audit-log.md 2026-09-11
PROJ-9 Synapse-Integration (Health Check, User Provisioning, Raum-Sync) Deployed PROJ-9-synapse-integration-health-check.md 2026-09-11
PROJ-10 Deployment (Docker Compose + Synapse Installer) Deployed PROJ-10-deployment.md 2026-09-11
PROJ-11 Chat (Matrix Client-Server API) In Review PROJ-11-chat.md 2026-09-11
PROJ-12 Automatische Löschfrist für ausgetretene Mitglieder (DSGVO) Planned PROJ-12-mitglieder-loeschfrist.md 2026-09-11

Noch nicht gestartet (siehe docs/PRD.md Core Features): dedizierte Tenant-Isolation-Tests. P2 (Medien-Anhänge, Push) bewusst aus PROJ-11 ausgeklammert, siehe dessen Non-Goals.

Nachträge 2026-09-11 (commit bc4d749): Passwort-Reset → PROJ-1, Mitglied hart löschen → PROJ-3. Nachtrag 2026-09-11 (commit ffe2d45): API-Zugriff bei suspended/left sofort entziehen (nicht nur Matrix) → PROJ-3.

Next Available ID: PROJ-13