Skip to content

Releases: lengockhoa/UnicDB

UnicDB 1.53.20

Choose a tag to compare

@lengockhoa lengockhoa released this 07 Sep 05:35

Extend multi-selection Cmd+Enter to shellscript files:

  • New command UnicDB.runShellSelection + Cmd/Ctrl+Enter keybindings for resourceLangId == shellscript
  • New function commandRunShellSelection() in src/extension.ts that iterates editor.selections, takes range text for non-empty selections, takes the cursor's current line for empty selections, and sends each piece to the reused UnicDB Script terminal
  • Mirrors the SQL multi-selection pattern shipped in 1.53.17 (commit 3e33f0a) — highlighting 3 lines in a .sh file and pressing Cmd+Enter now runs only those 3 lines in the terminal
  • Guard fix: bq04 + bqFollowup frozen-surface guards updated to filter the key and keybindings keys as legitimate contributes changes (previously the regex missed them and would trip on any new keybinding)

Verification: 250 files / 3743 tests / 0 failed · UnicDB-1.53.20.vsix packaged (2.04 MB)

v1.53.18

Choose a tag to compare

@lengockhoa lengockhoa released this 07 Sep 04:53

Test-only hotfix patch — align the 4 webview tab-order test files (webviewBundle, webviewPerTableTabs, webviewResultLimit, webviewMultiRunTabs) with the Messages-first + reverse-chronological tab order shipped in 1.53.17. No production code changes; CI was failing the published 1.53.17 .vsix's test suite.

Files: src/ui/tests/webviewBundle.test.ts, src/ui/tests/webviewPerTableTabs.test.ts, src/ui/tests/webviewResultLimit.test.ts, tests/webviewMultiRunTabs.test.ts

Verification: npm run typecheck ✅ · npm test ✅ (250 files / 3730 tests / 0 failed) · UnicDB-1.53.18.vsix packaged

UnicDB 1.53.16

Choose a tag to compare

@lengockhoa lengockhoa released this 06 Sep 18:00

ui(ai-settings): merge API key into the same row as Timeout and Max steps (order: API key [grow] | Timeout | Max steps), remove the separate API key section. API key shares the Base URL row's visual style and sits on the same horizontal line as the other numeric inputs.

UnicDB 1.53.15

Choose a tag to compare

@lengockhoa lengockhoa released this 06 Sep 17:55

ui(results): instant hover tooltips on every button in UnicDB Results panel — toolbar icons, result tabs (with query/status/rowcount), Messages tab, and tab close button. CSS ::after pseudo-element reads from data-tooltip; existing native title attribute kept for screen readers and as slow fallback.

UnicDB 1.53.13

Choose a tag to compare

@lengockhoa lengockhoa released this 06 Sep 17:50

fix(ui): swap sparkle (AI Settings) and plus (Add Connection) toolbar positions. AI Settings form reorg — API key now directly below Base URL; model blocks reordered Lite → Work → Smart → Autocomplete.

UnicDB 1.53.12

Choose a tag to compare

@lengockhoa lengockhoa released this 06 Sep 17:41

fix(ai): field-agnostic reasoning-model text extraction (glm-5-turbo and any future cheap reasoning model). AI Settings icon now sparkle so it no longer collides visually with Settings gear.

UnicDB v1.53.11

Choose a tag to compare

@lengockhoa lengockhoa released this 06 Sep 17:24

Robust text extraction from non-standard Lite Model responses

When the model produces 77 output tokens but UnicDB extracts 0 chars (as
happened with glm-5-turbo through some Lite Model proxies), the text was
missed because the response used a shape the parser didn't recognize.

Fix

  • parseChatCompletionsResponse now handles message.content as either a
    string or an array of typed parts ([{type:"text", text:"..."}]).
  • Both parsers fall back to extractAnyText, a recursive walker that
    concatenates any string in text-shaped keys (text, content,
    delta, output_text, message).
  • The SSE aggregator's empty-text path now calls fallbackTextFromSseEvents
    before throwing, so unrecognized SSE shapes still surface their text.

Files

  • src/ai/provider.tsextractAnyText + fallbackTextFromSseEvents + parser fallback wiring

UnicDB v1.53.9

Choose a tag to compare

@lengockhoa lengockhoa released this 06 Sep 17:19

Empty-text debug dump

Empty-provider-error notification now includes the raw text length + 240-char preview + a path to a debug dump file in the extension's globalStorage folder. User can cat the file or paste its contents back for diagnosis without DevTools.

UnicDB v1.53.8

Choose a tag to compare

@lengockhoa lengockhoa released this 06 Sep 17:13

Empty-diff error now visible

Clicking UnicDB: Generate Commit Message in a Git repo with no changes previously showed an info toast (UnicDB: no changes to summarize.) that was easy to miss.

Now it surfaces as a clear error notification:

UnicDB: nothing to commit — this Git repo has no staged or unstaged changes. Stage or modify at least one file, then click again.

Files

  • src/ai/commitGenCommand.tsshowInfoshowError + clearer message
  • src/ai/__tests__/commitGenCommand.test.ts — Test #4 updated

UnicDB v1.53.7

Choose a tag to compare

@lengockhoa lengockhoa released this 06 Sep 17:12

Empty commit-message bug fix + bigger U

Silent-failure fix

  • UnicDB.generateCommitMessage button was loading then doing nothing — the provider was returning SSE but the aggregator extracted empty text, and the empty-result path was silent (no notification).
  • Provider now throws a clear SSE parsed but produced no text — unrecognized event format with the raw body snippet when aggregation finds events but no text. The notification in CommitGenCommand surfaces a separate diagnostic when sanitizeCommitMessage() yields empty string after a successful call.
  • Net effect: every failure mode now produces a visible, copy-pasteable error.

Bigger U

  • media/commit-spark.svg: bolder, taller blue U (~130% relative scale), dominant at 16x16 toolbar size.

Tooltip

  • Command title -> UnicDB: Generate Commit Message so hover shows the full command name.

Files

  • src/ai/provider.ts — throw on empty aggregated text
  • src/ai/commitGenCommand.ts — show error on empty post-sanitize text
  • media/commit-spark.svg — bigger U
  • package.json — title with UnicDB prefix