From 3d9848b4eee563a29237e4e3ec42030d5a5c79fe Mon Sep 17 00:00:00 2001 From: broisnischal Date: Thu, 25 Jun 2026 10:23:27 +0545 Subject: [PATCH 1/2] chore::major hotfix --- src/lib/components/Sidebar.svelte | 14 +++++++++++--- src/lib/components/StudioShell.svelte | 2 +- src/lib/components/VirtualColumnsPanel.svelte | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/lib/components/Sidebar.svelte b/src/lib/components/Sidebar.svelte index 9dc869dc..83dd4693 100644 --- a/src/lib/components/Sidebar.svelte +++ b/src/lib/components/Sidebar.svelte @@ -721,12 +721,16 @@ bind:this={scrollContainerEl} bind:clientHeight={sidebarHeight} class="app-scroll min-h-0 w-full flex-1 overflow-y-auto" + role="none" onscroll={onSidebarScroll} onclick={(e) => { if (selectedItems.size > 0 && !/** @type {Element} */(e.target).closest?.('li')) { clearSelection() } }} + onkeydown={(e) => { + if (e.key === 'Escape' && selectedItems.size > 0) clearSelection() + }} > {#if loadingTables}
{#if tablesOpen} -
{/if} {/if} diff --git a/src/lib/components/StudioShell.svelte b/src/lib/components/StudioShell.svelte index fdf8561c..dba23445 100644 --- a/src/lib/components/StudioShell.svelte +++ b/src/lib/components/StudioShell.svelte @@ -3469,7 +3469,7 @@ let rowSearch = $state('') stroke-dasharray="44 220" stroke-linecap="round" class="text-foreground/20" /> -
+
diff --git a/src/lib/components/VirtualColumnsPanel.svelte b/src/lib/components/VirtualColumnsPanel.svelte index a20e4dc0..269ed625 100644 --- a/src/lib/components/VirtualColumnsPanel.svelte +++ b/src/lib/components/VirtualColumnsPanel.svelte @@ -116,6 +116,7 @@
{ if (e.key !== 'Escape') return if (formOpen) { e.stopPropagation(); cancelForm() } From 108f69547214f88bed52acf68627cf23e5ca3b11 Mon Sep 17 00:00:00 2001 From: broisnischal Date: Thu, 25 Jun 2026 16:13:31 +0545 Subject: [PATCH 2/2] chore::major hotfix --- package-lock.json | 14 ++++- package.json | 1 + src/app.css | 9 +++- src/lib/components/JsonCellLightbox.svelte | 4 +- src/lib/components/JsonViewer.svelte | 4 +- src/lib/components/JsonViewerPage.svelte | 4 +- src/lib/components/OrmRunner.svelte | 4 +- src/lib/components/SecuritySqlModal.svelte | 4 +- src/lib/components/SqlEditor.svelte | 62 +++++++++++++--------- src/lib/monaco-env.js | 36 +++++++++++-- src/lib/monaco-sql-complete.js | 28 ++++++---- src/lib/stores/settings.js | 14 ++++- 12 files changed, 128 insertions(+), 56 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7353e0a0..7a45e79f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "stroke", - "version": "0.5.0", + "version": "0.7.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "stroke", - "version": "0.5.0", + "version": "0.7.1", "dependencies": { "@dagrejs/dagre": "^3.0.0", "@fontsource-variable/geist": "^5.2.9", "@fontsource-variable/geist-mono": "^5.2.8", "@fontsource-variable/inter": "^5.2.8", + "@fontsource-variable/jetbrains-mono": "^5.2.8", "@tailwindcss/vite": "^4.3.0", "@tanstack/svelte-hotkeys": "^0.10.0", "@tauri-apps/plugin-autostart": "^2.5.1", @@ -184,6 +185,15 @@ "url": "https://github.com/sponsors/ayuhito" } }, + "node_modules/@fontsource-variable/jetbrains-mono": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource-variable/jetbrains-mono/-/jetbrains-mono-5.2.8.tgz", + "integrity": "sha512-WBA9elru6Jdp5df2mES55wuOO0WIrn3kpXnI4+W2ek5u3ZgLS9XS4gmIlcQhiZOWEKl95meYdvK7xI+ETLCq/Q==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@iconify/types": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", diff --git a/package.json b/package.json index b6abca29..db0fb435 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@fontsource-variable/geist": "^5.2.9", "@fontsource-variable/geist-mono": "^5.2.8", "@fontsource-variable/inter": "^5.2.8", + "@fontsource-variable/jetbrains-mono": "^5.2.8", "@tailwindcss/vite": "^4.3.0", "@tanstack/svelte-hotkeys": "^0.10.0", "@tauri-apps/plugin-autostart": "^2.5.1", diff --git a/src/app.css b/src/app.css index 019216a5..e9a222e8 100644 --- a/src/app.css +++ b/src/app.css @@ -2,6 +2,7 @@ @import "tw-animate-css"; @import "@fontsource-variable/geist"; @import "@fontsource-variable/geist-mono"; +@import "@fontsource-variable/jetbrains-mono"; @import "@fontsource-variable/inter"; @import "./lib/themes/app-themes.css"; @@ -13,7 +14,13 @@ --app-zoom: 1; --app-font-size: 14px; --editor-font-size: 14px; - --editor-line-height: 24px; + /* 1.5 ratio — matches VS Code / Cursor's default editor line height. */ + --editor-line-height: 21px; + /* Dedicated code font for Monaco editors, kept independent of the app's UI / + data-grid mono (`--font-mono`) — same separation VS Code makes between its + "editor font" and everything else. JetBrains Mono is a true code typeface: + heavier, even rhythm, designed ligatures. */ + --editor-font-family: "JetBrains Mono Variable", "Geist Mono Variable", ui-monospace, monospace; } /* JSON colorizer tokens (highlightJson) — dark-friendly defaults, light override diff --git a/src/lib/components/JsonCellLightbox.svelte b/src/lib/components/JsonCellLightbox.svelte index 91b0cc1f..698343b2 100644 --- a/src/lib/components/JsonCellLightbox.svelte +++ b/src/lib/components/JsonCellLightbox.svelte @@ -5,7 +5,7 @@ import CheckCheck from '@lucide/svelte/icons/check-check' import Braces from '@lucide/svelte/icons/braces' import * as monaco from 'monaco-editor' - import { configureMonacoWorkers, monacoFontFamily } from '$lib/monaco-env.js' + import { configureMonacoWorkers, editorFontFamily } from '$lib/monaco-env.js' import { defineStrokeMonacoThemes, monacoThemeId, readEditorFontOptions } from '$lib/monaco-themes.js' import { normalizeThemeId } from '$lib/themes/registry.js' @@ -57,7 +57,7 @@ readOnly: true, automaticLayout: true, minimap: { enabled: false }, - fontFamily: monacoFontFamily(), + fontFamily: editorFontFamily(), fontSize, lineHeight, fontLigatures: false, diff --git a/src/lib/components/JsonViewer.svelte b/src/lib/components/JsonViewer.svelte index a00b5bfe..429f07ff 100644 --- a/src/lib/components/JsonViewer.svelte +++ b/src/lib/components/JsonViewer.svelte @@ -1,7 +1,7 @@