* fix(ai): add quick proposal confirmation buttons (all locales)
When the assistant proposes an action, render Yes/No buttons below the
message so the user does not need to type a short reply — fixing the
issue where short replies caused the LLM to re-ask instead of executing.
- aiProposalDetect.ts: pure detectors for proposal sentences/short replies
- AiAssistant.vue: inline Yes/No buttons on last assistant proposal message
- ai.ts: system-prompt rule to skip re-confirmation on short affirmatives
- i18n: 3 keys added to all 7 locales (en/zh-CN/zh-TW/ja/es/it/pt-BR)
Tests: 55/55. TypeCheck: passed.
* fix(ai): add i18n keys and UI changes for proposal confirmation
Updated 14 documentation files covering major feature additions:
- Query editor: execution target picker, history time range filter
- Data grid: copy with headers, column reordering, binary hex viewer
- MongoDB: database/collection deletion, metadata display, use command
- Redis: command history navigation, text selection, slowlog panel
- AI assistant: searchable model dropdown, prompt history navigation
- Database support: PrestoSQL
- Keyboard shortcuts: Ctrl+P quick open for database objects
Replace res.json() with res.text() + fallback JSON parse so that
non-JSON error bodies (e.g. HTTP 502 with empty body) no longer
produce the unclear 'error decoding response body' message.
Also add 502/503/504 to classify_error for proper category prefixes.
- Use synchronous pool removal in desktop disconnect_db to prevent
race condition when user quickly disconnects and reconnects
- Rename recordMetadataLoadError to recordConnectionLostError and
export it for cross-store reuse
- Sync query execution errors back to connection state via
recordConnectionLostError in queryStore catch blocks
- Add backend check_connection_health method (dbx-core) with Tauri
command and web route for proactive pool verification
- Add frontend checkConnectionHealth API (tauri.ts/http.ts/api.ts)
- Enhance ensureConnected to verify backend pool health before
assuming connection is valid, auto-reconnect if stale