# Toora St Chat - Development Roadmap ## Core Fixes (COMPLETED) - [x] Fix message loading after login - ensure auth token is attached to all PocketBase requests - [x] Fix Apprise notification routing - send only to selected recipients - [x] **PocketBase Delete Rule**: Set to `@request.auth.id = sender` (creator can delete) - [x] Fix desktop "New Message" button visibility (removed `lg:hidden`) - [x] Fix Save/Read/Delete with proper error handling and UI feedback - [x] Fix send message - removed `recipients` relation field from payload (causing 400) - [x] Fix auto-scroll issue - removed `scrollIntoView` and `messagesEndRef` - [x] Composer auto-hides after successful send - [x] Fix Apprise CORS in dev - added `/notify` proxy to vite.config.ts - Dev server now proxies apprise requests through localhost:3000 ## Pages & Navigation (COMPLETED) - [x] Remove Archive page and nav link - [x] Saved/Pinned Messages panel at bottom of Inbox (collapsible) ## Messaging (COMPLETED) - [x] Recipient-aware sending (Family or individual) - [x] Message reading panel - click to expand inline - [x] Saved messages (bookmark icon, toggle save, pinned section) - [x] Auto-cleanup - load only last 30 regular messages - Saved messages loaded separately, no age limit ## Attachments (PARTIAL) - [x] Inline image preview and download link - [ ] Upload via PocketBase media collection (UI ready, needs backend) ## Production Notes - Apprise CORS on production requires .35 Caddy to allow `chat.lab.audasmedia.com.au` origin - This is a server config issue, not frontend code ## Explicitly NOT Doing - No search, reactions, archive, threading, read receipts ## Design Principles - Family message sender, not full chat system - Simple, fast, mobile-first - PocketBase single source of truth