Skip to content

Release 0.4.1 — UI performance (#93) - #95

Merged
ZhuchkaTriplesix merged 38 commits into
mainfrom
dev
Jun 13, 2026
Merged

Release 0.4.1 — UI performance (#93)#95
ZhuchkaTriplesix merged 38 commits into
mainfrom
dev

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

After merge

  1. Confirm GitHub Action Auto Version Bump commits 0.4.1+7 on main.
  2. Tag release: git tag 0.4.1 && git push origin 0.4.1 (triggers Release workflow).

Test plan

  • flutter analyze — clean
  • flutter test — 385 passed

ZhuchkaTriplesix and others added 30 commits June 9, 2026 10:00
Replace Overlay-based Material dropdowns with a shared MenuAnchor widget
styled via shadcn tokens, integrate on New Connection and migrate settings/toolbar selects.
…nchor

feat(ui): QueryaDropdown на MenuAnchor (#87)
Centralize trigger/menu metrics in QueryaDropdownTokens and restyle trigger,
menu panel, hover states, and selected checkmarks across all dropdown call sites.
)

Fix trigger text clipping, align all Preferences dropdowns via PreferencesFieldRow,
and add global UI scale (85–150%) with scaled QueryaDropdown metrics.
)

Menu panel follows anchor width via crossAxisUnconstrained; replace interface
scale presets with a Telegram-style 75–200% slider with live preview.
#89)

Default slider ticks at 75–200% presets; hold Shift for 1% continuous control.
Add WindowLayout.dialogConstraints and apply UI scale to all app modals
including connection forms, preferences, and SQL editor dialogs.
…-system

feat(ui): дизайн-система QueryaDropdown, interface scale и модалки (#89)
Restructure documentation with a docs index, architecture guide, and
expanded contributing guide; archive historical spikes; stop tracking
generated .flutter-plugins-dependencies.
Stop tracking Cursor rules; keep them local-only per developer setup.
Keep the file untracked — it is generated locally and listed in .gitignore.
docs: repo cleanup and professional README/docs (#91)
Keep interface scale drag local to the preferences slider; commit once on
release. Split theme and scale ListenableBuilders, cache ThemeData, and
stop bumping AppSettingsRevision on ui_scale writes.
Remove synchronous highlight on the UI thread; debounce scheduling by 100ms
and route all jobs through compute. Update editor tests to flush timers.
Replace material.Table with VirtualResultGrid using ListView.builder,
fixed column widths, and lighter cell widgets for large query results.
Virtualize large PG/MySQL object lists via lazyConnectionTreeList, drop
per-row TextPainter in tree labels, and build top-level panel with SliverList.
Menu overlay context unmounted before the second dialog, so New Database Connection stopped after Next.
Use ValueNotifier split panes, SqlWorkspaceSettingsRevision, connection-id panel slot, and FormValidityNotifier for connection dialogs.
Provide postgres, mysql, mongo, and redis with seed data for manual testing.
Shared snapshot diffing for stats views to skip setState when polled data is unchanged.
Use replaceIfChanged and hoist the version RegExp to avoid redundant rebuild work.
Reuse HighlighterPair instances instead of rebuilding on every createPair call.
Avoid allocating a RegExp on every preview line render.
Move cell string conversion off the UI thread for large result sets.
Avoid hover setState and defer pretty JSON encoding until expand.
Ellipsize trigger text inside bounded width to prevent horizontal overflow.
Use separated list builders for hash/list/set/zset rows and dispose TTL controller on close.
Query SHOW GLOBAL STATUS/VARIABLES and information_schema for the stats dashboard.
Replace the version-only stub with polled metrics cards and a databases table.
ZhuchkaTriplesix and others added 8 commits June 13, 2026 21:01
Align card grid layout with other engines and fix header/dropdown overflow.
Use equal-height metric cards, human-readable labels, and replaceIfChanged polling.
Use InkWell hoverColor and always-visible row actions instead of per-row rebuilds.
Use InkWell hoverColor for row highlights and stateless action buttons.
Satisfies unnecessary_string_interpolations analyzer rule in CI.
perf(ui): reduce rebuilds and virtualize heavy surfaces (#93)
Document #93 performance release, docker compose quick start, and keep pubspec
at 0.4.0+6 so the main merge workflow can bump to 0.4.1+7.
@github-actions github-actions Bot added the enhancement New feature or request label Jun 13, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit e0c30a3 into main Jun 13, 2026
5 checks passed
ZhuchkaTriplesix added a commit that referenced this pull request Jul 27, 2026
Release 0.4.1 — UI performance (#93)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

perf(ui): reduce rebuilds and virtualize heavy surfaces

1 participant