28475e483d79474148f7ab1d84df953a6555237d
- activity_log table in _core/schema.ts with household+created_at index; migration 0008_activity_log.sql applied - logActivity() in _core/activity.ts reads current session and inserts a row - ActivityLogEntry type + renderActivity?(entry): string added to EntityTypeRegistration so modules declare human-readable labels without any if/else branches in the widget - core.activity widget replaced with a real async server component that queries the last 20 rows and renders via the registry - logActivity wired into every create/update/delete in calendar, lists, and notes server actions; getAuthorizedItem also returns text so toggle/delete can include item text in the payload - pnpm typecheck, lint, build, and all 4 E2E specs pass Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
famapp
Self-hosted family coordination: shared calendar, lists, notes.
- Plan & architecture:
CLAUDE.md - Current progress:
STATUS.md - Task briefs (for sub-sessions):
docs/tasks/ - Architecture decisions:
docs/decisions/
Languages
TypeScript
94.1%
CSS
4.2%
JavaScript
0.9%
Shell
0.4%
Dockerfile
0.2%
Other
0.2%