|
Stability fixes batch — tech debt review 2026-04-29
Critical: - Concurrent WS run race guard (#1) - Tool task cancellation on generator teardown (#2) - StopAsyncIteration kills fallback chain (#3) - Session loading race with _lastLoadId guard (#4) - ContentCard .match() crash on non-string result (#5) - Image data type guard in buildMessageList (#6) High: - Cap WS replay buffer at 500 events (#7) - Deduplicate memory extraction task with asyncio.Lock (#9) - TTL-based fallback blacklisting (5 min) (#10) - Subagent tool exception isolation (#11) - Inline image size/count validation on WS (#12) - Clean up orphaned file on DB insert failure (#13) - Deep watch streamingMsg for auto-scroll (#14) - WS_SCHEME wss:// support for HTTPS (#15) - Sending guard against duplicate message sends (#16) - Global unhandledrejection listener in API layer (#17) Medium: - Cap planning_logs at 20 entries (#22) - Store cleanup_loop task reference (#23) - BaseException → Exception in _run_with_sentinel (#24) - Propagate SystemExit in agent loop (#25) - Configurable output_reserve_tokens (#26) - Always reloadSession on session_sync (#30) - FIFO queue for confirm dialogs (#31) - Reset body.overflow on ImageLightbox unmount (#32) - try/finally in fallback copy (#33) - _isConnecting guard in WS send() (#34) Low: - Lazy-init deps.py singletons (#36) - Replace __import__ with direct imports (#38) - Preserve token count 0 in ollama.py (#39) - Clear orphaned streamingMsg on reconnect reload (#43) - Escape single quote in UserMessage (#44) - Polyfill-free findLast replacement (#48) - Match <table> tags with attributes in markdown (#49) - Attach copy buttons only when msg.done (#50) - Fix hasMeta falsy-0 bug (#53) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
|---|
|
|
| docs/tech_debt_review_2026-04-29.md 0 → 100644 |
|---|
| navi/api/deps.py |
|---|
| navi/api/routes/health.py |
|---|
| navi/api/routes/sessions.py |
|---|
| navi/api/websocket.py |
|---|
| navi/config.py |
|---|
| navi/content_store.py |
|---|
| navi/core/agent.py |
|---|
| navi/llm/base.py |
|---|
| navi/llm/fallback.py |
|---|
| navi/llm/ollama.py |
|---|
| navi/main.py |
|---|
| navi/memory/store.py |
|---|
| webclient/dist/assets/index-2iU8ea7y.css 100644 → 0 |
|---|
| webclient/dist/assets/index-CCd1kKp-.css 0 → 100644 |
|---|
| webclient/dist/assets/index-D9ibLFCS.js 0 → 100644 |
|---|
|
Not supported
|
| webclient/dist/assets/index-P1GIOxAT.js 100644 → 0 |
|---|
|
Not supported
|
| webclient/dist/index.html |
|---|
| webclient/src/api/index.js |
|---|
| webclient/src/components/chat/InputBar.vue |
|---|
| webclient/src/components/chat/MessageList.vue |
|---|
| webclient/src/components/messages/AssistantMessage.vue |
|---|
| webclient/src/components/messages/ContentCard.vue |
|---|
| webclient/src/components/messages/UserMessage.vue |
|---|
| webclient/src/components/ui/ImageLightbox.vue |
|---|
| webclient/src/composables/useConfirm.js |
|---|
| webclient/src/composables/useCopy.js |
|---|
| webclient/src/composables/useMarkdown.js |
|---|
| webclient/src/composables/useWebSocket.js |
|---|
| webclient/src/stores/chat.js |
|---|