TableR v0.1.6b
TableR v0.1.6b is a feature + hardening release on top of v0.1.6a: a large convenience pass across the launcher, data grid, tabs, sidebar, ERD, and AI panel, plus a stability/consolidation round (tool registry, bundle UI prefs, a11y fixes, local usage stats).
Highlights
Launcher & connections
history filters (engine/status/recent) in the launcher.
execution time across query/table/sandbox paths; carried by export/import.
- Connection groups with color accents, drag-to-assign, collapse/expand, and
- Per-connection query timeout (1–600s) on
ConnectionConfig, resolved at - SQL favorites group under localStorage-backed folders with move-to-folder
context menu and collapsible headers.
Data grid
divider shadow, persisted per table via the column-layout store, with a 160px scrollable-width budget guard.
- Column pin/freeze: context-menu pin left/right, sticky columns with a
- Duplicate row, bulk set-value on a selection, and Markdown export.
- Manual "Generate test rows" from the grid toolbar or table context menu:
client-side typed generator (locale pools + hints) → staged inserts → review modal → apply.
Tabs & views
the split collapses when empty.
- Duplicate tab and a real two-pane split view: tabs drag between panes,
- ERD export gains SVG alongside PNG/drawio (same renderer, 2x snapshot,
standalone vector file named <db>-erd-<date>.svg); fixed a pre-existing undefined rows bug in PNG exports.
Sidebar & data ops
- Multi-select tables (Ctrl/Shift-click) with a selection bar: bulk export
into a directory (atomic .part → rename, per-table failures collected, cancellable) and a typed-phrase bulk drop with live row-count previews through the guarded structure-statements path.
AI panel
models warn instead of blocking.
(agent-tools/*.ts) — the 2500-line switch is now orchestration only; behavior unchanged (94 executor tests + 14 eval goldens pass).
no linked folder exists, so the feature works out of the box.
- Image attach: up to 4 images per message, 5MB downscale, non-vision
- Agent tool executor refactored into a per-tool registry
- Rules: "New rule" falls back to the global
<data_dir>/rulesroot when - Model picker: search box, "Free only" toggle, Free badge (
:freesuffix
or all-zero pricing), and per-1M-token input/output/cache prices when the provider publishes them (OpenRouter).
Workspace bundle & shell
localStorage keys (connection groups, favorite folders, recents, column layouts, theme, shortcuts) export/import with a "UI Preferences" checkbox; safety/consent/per-device keys are excluded.
open_external_url command (http(s)-only).
readable and copyable in the About modal — no telemetry, nothing leaves the machine.
- Workspace bundles now carry UI preferences: shareable
tabler.* - Help menu: "Report an issue" and "Send feedback" open GitHub via the new
- Local-only usage counter: per-feature open counts in localStorage,
- F1 no longer hijacked inside Monaco (keeps its own command palette);
Ctrl+/ unchanged.
Accessibility & stability
replaced by a stretched real button; rename/delete sit above it.
darkened; "Create connection" primary button fill darkened.
- Launcher connection cards:
role=buttondiv with focusable descendants - WCAG AA contrast on the light preset:
tertiaryTextand muted/dim tokens - e2e
workspace-smokeaxe scan: zero serious/critical violations.
Verification
npm run eval:agent— 14/14 golden testsnpm run test:run— 1212 unit testscargo test --lib— 433 testsnpm run test:e2e— 3/3 specs (incl. axe a11y scan)cargo clippy --all-targets -D warnings,tsc --noEmit,eslint— clean