Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
cd3ee5a
feat(database): add Postgres/MySQL client with connect and schema bro…
kenzouno1 Jul 1, 2026
31b08e2
feat(database): add SQL query editor, results grid, and safe execution
kenzouno1 Jul 1, 2026
2ddbe72
fix(database): close read-only bypass, poisoned-commit, and unbounded…
kenzouno1 Jul 1, 2026
6dca7a2
fix(database): use a non-empty SSL sentinel in the connection form
kenzouno1 Jul 1, 2026
cdd246f
Merge remote-tracking branch 'origin/main' into feat/database-client
kenzouno1 Jul 1, 2026
64326de
docs(database): add implementation plan and phase/review reports
kenzouno1 Jul 1, 2026
dc1374e
fix(database): harden connection lifecycle, update validation, and SQ…
kenzouno1 Jul 1, 2026
7b5864a
feat(database): preview table rows from the schema tree
kenzouno1 Jul 1, 2026
f671e8d
docs(database): add stagereview/coderabbit risk review report
kenzouno1 Jul 1, 2026
9d9e682
refactor(database): rework connection row with double-click open and …
kenzouno1 Jul 1, 2026
f71ae46
feat(database): editable data grid with sort, filter, and inline editing
kenzouno1 Jul 1, 2026
d8f9fe4
docs(database): add data grid editor implementation report
kenzouno1 Jul 1, 2026
a6e516b
fix(database): harden data grid saves and async result ordering
kenzouno1 Jul 1, 2026
0642d89
fix(database): verify MySQL TLS hostname and preserve BIGINT precision
kenzouno1 Jul 1, 2026
a4ea870
fix(database): harden data-grid editing and result-cell selection
kenzouno1 Jul 1, 2026
37b42ef
chore(database): remove database-client plan and review reports
kenzouno1 Jul 1, 2026
a45d776
fix(database): bound execute results and evict pg client on rollback …
kenzouno1 Jul 1, 2026
f5ea51c
fix(database): guard cell formatting and tighten column-filter typing
kenzouno1 Jul 1, 2026
1fd2c1b
fix(database): evict/destroy connections when COMMIT or ROLLBACK fails
kenzouno1 Jul 1, 2026
6708c48
fix(database): make the data-tab close button reachable by keyboard
kenzouno1 Jul 1, 2026
fbe9e25
merge: main into feat/database-client
kenzouno1 Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 38 additions & 1 deletion config/localization-coverage-allowlist.json
Original file line number Diff line number Diff line change
@@ -1 +1,38 @@
[]
[
{
"area": "src/renderer",
"filePath": "src/renderer/src/components/database/data-grid-filters.ts",
"kind": "object-property:label",
"text": "LIKE",
"dynamic": false,
"count": 1,
"reason": "SQL operator keyword shown verbatim in the filter dropdown; not translatable copy."
},
{
"area": "src/renderer",
"filePath": "src/renderer/src/components/database/data-grid-filters.ts",
"kind": "object-property:label",
"text": "ILIKE",
"dynamic": false,
"count": 1,
"reason": "SQL operator keyword shown verbatim in the filter dropdown; not translatable copy."
},
{
"area": "src/renderer",
"filePath": "src/renderer/src/components/database/data-grid-filters.ts",
"kind": "object-property:label",
"text": "IS NULL",
"dynamic": false,
"count": 1,
"reason": "SQL operator keyword shown verbatim in the filter dropdown; not translatable copy."
},
{
"area": "src/renderer",
"filePath": "src/renderer/src/components/database/data-grid-filters.ts",
"kind": "object-property:label",
"text": "IS NOT NULL",
"dynamic": false,
"count": 1,
"reason": "SQL operator keyword shown verbatim in the filter dropdown; not translatable copy."
}
]
5 changes: 5 additions & 0 deletions config/packaged-runtime-node-modules.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ const PACKAGED_RUNTIME_PACKAGE_ROOTS = [
'electron-updater',
'i18next',
'jsonc-parser',
'mysql2',
'node-pty',
// Database client drivers — bundled + lazy-imported (await import) from the main
// process; absent from this allowlist => MODULE_NOT_FOUND in packaged builds. The
// graph walk pulls their transitive deps (pg-*, denque, named-placeholders, …).
'pg',
'posthog-node',
// serve-sim (for CLI JS entry + closure + state/middleware + to make packaged require('serve-sim') + its internal relatives work; mirrors other runtime JS like ws/yaml/zod. Natives/dylibs still via extraResources + the node_modules/serve-sim copy in resources from builder. Client if added too.
'serve-sim',
Expand Down
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,9 @@
"electron-updater": "^6.8.3",
"i18next": "^26.3.1",
"jsonc-parser": "^3.3.1",
"mysql2": "^3.22.5",
"node-pty": "^1.1.0",
"pg": "^8.22.0",
"posthog-node": "^5.33.3",
"qrcode": "^1.5.4",
"react-i18next": "^17.0.8",
Expand Down Expand Up @@ -141,6 +143,7 @@
"@tiptap/react": "^3.22.5",
"@tiptap/starter-kit": "^3.22.5",
"@types/node": "^25.6.0",
"@types/pg": "^8.20.0",
"@types/qrcode": "^1.5.6",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
Expand Down
Loading