25 lines
2.1 KiB
Markdown
25 lines
2.1 KiB
Markdown
# Session Continuity
|
|
|
|
## Last Session (2026-03-09)
|
|
- Completed final `chat-provider-fixes` follow-up round with three workstreams:
|
|
- `shared-trip-tool-access`: `get_trip_details` and `add_to_itinerary` now authorize `shared_with` members using `Q(user=user) | Q(shared_with=user)).distinct()`; `list_trips` remains owner-only
|
|
- `chat-regression-tests`: focused backend regression tests in `backend/server/chat/tests.py` for shared-trip access and required-param regex boundaries (9 tests, all pass)
|
|
- `chat-a11y-and-dropdown-polish`: aria-labels in `AITravelChat.svelte` now use i18n keys; settings dropdown closes on outside click and Escape; locale key parity across all 20 files
|
|
- All three workstreams passed reviewer + tester validation
|
|
- Prior sessions completed: `chat-loop-hardening`, `default-ai-settings`, `suggestion-add-flow`, `chat-tool-grounding-and-confirmation`, `chat-tool-output-cleanup`, `embedded-chat-ux-polish` — all reviewed and tested
|
|
|
|
## Active Work
|
|
- `chat-provider-fixes` plan complete — all workstreams implemented, reviewed, tested, documented
|
|
- See [plans/](../plans/) for other active feature plans
|
|
- Pre-release policy established — architecture-level changes allowed (see AGENTS.md)
|
|
|
|
## Known Follow-up Items (from tester findings)
|
|
- No automated test coverage for `UserAISettings` CRUD + precedence logic
|
|
- No automated test coverage for `send_message` streaming loop (tool error short-circuit, multi-tool partial success, `MAX_TOOL_ITERATIONS`)
|
|
- No automated test coverage for `DaySuggestionsView.post()`
|
|
- No Playwright e2e test for tool summary reconstruction on conversation reload
|
|
- LLM-generated name/location fields not truncated to `max_length=200` before `LocationSerializer` (low risk)
|
|
- Non-English locale `chat_a11y` values are English placeholders — requires human translation (separate concern)
|
|
- `outsideEvents` array includes both `pointerdown` and `mousedown` — double-fires but idempotent; could simplify to `['pointerdown', 'touchstart']`
|
|
- Escape handler in settings dropdown lacks `settingsOpen` guard — idempotent no-op, no functional consequence
|