Release 0.4.14 - #675
Merged
Merged
Conversation
…les without Primary Key (#596)
…os-dml fix(dml): preserve leading zeros and boolean strings in string columns (#594)
…tring fix(dml): differentiate literal 'NULL' string from database NULL (#595)
…rning feat(dml): add visual duplicate warning in DML Preview dialog for tables without Primary Key (#596)
…-delay perf(pool): tune idleDisposeDelay to 4 seconds for rapid tab switching (#597)
…types and rich datasets
…ent lock resilience (#611)
…Code and Consolas (#613)
…imization perf(grid): optimize sortResultGridRows with precomputed sort keys (#602)
perf(calc): optimize GridSelectionCalcEngine median calculation with QuickSelect (#603)
…meout fix(storage): enable WAL mode and busy_timeout in LocalDb for concurrent lock resilience (#611)
fix(theme): expand typography monospace fallback stack with Cascadia Code and Consolas (#613)
…ontrast fix(theme): improve accent color contrast in light default theme (#609)
fix(linux): suppress benign GDK cursor theme and synthetic device log spam (#614)
…tions: DROP, TRUNCATE (#608)
…ords and credentials (#607)
…and shortcuts matrix (#606)
…ection-dialogs feat(a11y): add explicit FocusTraversalGroup to multi-section connection dialogs (#610)
…irmation sec(editor): add confirmation modal for destructive DDL and DML operations (#608)
…rkspace-components refactor(workspace): modularize shared SQL editor and result workbench components
- Memoize GridFilterEngine execution in _ResultsTabState - Avoid re-filtering rows and re-allocating filtered rows list on idle build passes - Invalidate cache when filterText, columns, or effectiveRows instance change - Add widget tests for ResultsTab filter memoization stability Closes #650
…filtering perf(workspace): memoize DataGrid filtering in ResultsTab
- Add 150ms debounce Timer for filter text changes in DataGridFilterBar - Provide instant autocomplete suggestions on keystrokes while debouncing full dataset filter callbacks - Execute filter immediately on Enter submission and clear button tap - Cancel pending timers on widget disposal - Add widget tests for debounced filtering and immediate submission Closes #651
…lter-bar perf(workspace): debounce filter input in DataGridFilterBar
…n to background compute - Introduce GridSelectionCalcEngine.computeAdaptive with computeThreshold of 5000 - Offload stats calculations on massive multi-cell selections to background isolate - Update ResultsTab onSelectionValuesChanged to leverage adaptive compute - Add unit tests for synchronous and isolate-based selection statistics calculation Closes #652
…-selection-calc perf(workspace): offload massive grid selection statistics calculation to background compute
- Configure PRAGMA busy_timeout = 5000 in SqliteConnection.connect() onOpen - Prevent immediate SQLITE_BUSY / database locked errors during concurrent disk access - Add unit test verifying PRAGMA busy_timeout on connection initialization Closes #656
fix(sqlite): configure busy_timeout on SQLite connections
- Guard RedisConnection.disconnect() against uninitialized socket close exceptions - Add forceClose() delegating cleanly to disconnect() - Add unit tests for idempotent disconnect and forceClose Closes #657
fix(redis): guard disconnect against null check operator exceptions on uninitialized socket close
…ngine and grid validator - Add _isBinaryType and dialect-specific hex formatting in TableMutationEngine - Format bytea as E'\\x...' / '\\x...'::bytea for PostgreSQL and X'...' for MySQL / SQLite - Add hex validation for blob, binary, varbinary, bytea, and raw in GridDataTypeValidator - Add unit tests for binary formatting and validation across dialects Closes #658
feat(workspace): support binary and BLOB data types in DML mutation engine and grid validator
…i-cell range selection in DataGrid - Add _navigateCell, _jumpToCell, and _selectAll in ResultGridView - Bind Arrow keys (Up, Down, Left, Right) and Shift+Arrows for multi-cell range selection - Bind Home, End, Ctrl+Home, Ctrl+End, PageUp, PageDown, and Ctrl+A / Meta+A - Implement _scrollToCell for auto-scrolling active cells into viewport view - Add widget tests covering cell keyboard navigation, range selection, and shortcuts Closes #662
…tion feat(workspace): implement comprehensive keyboard navigation and multi-cell range selection in DataGrid
…tting, hex viewer, and shortcut support - Add Format XML/HTML, Format Hex, and Wrap/No-Wrap buttons to GridCellInspectorDialog - Add real-time text statistics bar (lines, characters, byte size) - Support keyboard shortcuts in inspector (Ctrl+Enter / Meta+Enter to apply, Alt+N for NULL) - Add Ctrl+I / Meta+I shortcut in VirtualResultGrid to inspect active cell - Add widget tests for XML, Hex formatting, wrap toggles, and shortcut handling Closes #663
…modal feat(workspace): expand rich cell inspector modal with XML/HTML formatting, hex viewer, and shortcut support
…nd manifest request timeouts (close #666)
…silience fix(extensions): harden plugin rpc bridge against stdin flush hangs and manifest request timeouts
…very action in workspace UI (close #667)
…tart-ui feat(extensions): implement extension driver session restart and recovery action in workspace UI
…d grid row cache cleanup (close #670)
…dening perf(workspace): harden memory lifecycle, staging buffer disposal, and grid row cache cleanup
- Add customizable show/dismiss duration and animation curves to PopoverOverlayHandler - Configure high-performance menuHandler with 60ms open and 50ms dismiss duration using Curves.easeOutCubic - Update scale animation from 0.9->1.0 to 0.96->1.0 for subtle, desktop-native reveal - Unify TapRegion group IDs and allow immediate closure when switching sibling menus - Toggle close open dropdowns upon clicking menu button again - Add widget test verifying rapid open timing, toggle close, and sibling switch
) - Unwrap Menubar from MoveWindow in QueryaWindowTitleBar to prevent window drag gesture arena interception from delaying menu clicks - Trigger top-level Menubar opening on onTapDown (pointer down) rather than waiting for mouse release - Adjust entry scale to 0.98 for instantaneous perceived start of dropdown appearance
perf(ui): accelerate menubar dropdown open and transition speed
chore(release): prepare release 0.4.14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 0.4.14 — Performance, Security & Platform Hardening
Major release bringing near-instantaneous menubar dropdown animations, native macOS system menu integration (
PlatformMenuBar), destructive query confirmation modals, deep memory optimizations (string interning, compact column vectors), complete data grid keyboard navigation, and rich multi-format cell inspection.✨ Highlights
⚡ Instantaneous Menubar Dropdowns & Titlebar Polish (#672, #673)
Curves.easeOutCubic.onTapDown).MenubarfromMoveWindowto prevent OS window drag gesture competition from delaying menu clicks.TapRegionboundaries and enabled clean toggle-close and zero-latency sibling menu switching.🛡️ Destructive Query Confirmation Modal (#608, #622, #638, #641)
DROP,TRUNCATE, bulkDELETE/UPDATEwithoutWHERE).⌨️ Data Grid Keyboard Navigation & Rich Cell Inspector (#662, #663, #664, #665)
X'...',\x...) (feat(workspace): support binary and BLOB data types in DML mutation engine and grid validator #658, feat(workspace): support binary and BLOB data types in DML mutation engine and grid validator #661).🍎 Native macOS PlatformMenuBar Integration (#612, #626)
🔌 Driver Resilience & Recovery UI (#666, #667, #668, #669)
🚀 Deep Memory & Performance Optimizations (#602, #603, #604, #605, #615, #616, #625, #627, #650, #651, #652, #653, #654, #655, #670, #671)
sortResultGridRowseliminating redundant comparison overhead.GridSelectionCalcEngine.🔒 Security, Storage & Dialect Fixes (#594, #595, #596, #597, #601, #607, #611, #617, #623, #629, #645, #648, #656, #657, #659, #660)
🧪 Quality & Verification
flutter analyze: 0 issues found.flutter test: 1252 / 1252 non-golden tests passing.