chore: repo hygiene — format, lint, tsc, Info.plist version#7
Merged
Conversation
Pure whitespace pass — `dprint check` was failing on four files. Only the trailing blank line in tests/connection-manager.test.ts was inside the file this branch edits; the other three (CLAUDE.md, connection-pool.ts, postgres-driver.ts) were pre-existing drift on main and just hadn't been reformatted. No syntactic changes (verified with the TypeScript syntactic-diff tool). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- indexeddb.ts: collapse `record && record.encryptedConfig` to optional chain - grid.ts: `joinedColumnSets` is push-only — switch let to const - query-executor.ts: drop `['search_path']` literal-key access (×2) All four were FIXABLE warnings biome was already flagging on main; none are introduced by this branch. Pulled in here so the feature PR ships with `bun run lint` clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`isLinux` was declared but never referenced — only `isMac` and `isWindows` gate platform-specific behavior. Was the only TS error on main; CI's typecheck job was failing on it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Releases since the version regression have been shipping with Info.plist CFBundleVersion = "0.0.1" because `electrobun.config.ts` hardcoded that string and the release workflow never passed the tag's version through to `electrobun build`. Now the config reads `process.env.VERSION || pkg.version` (the same pattern `scripts/build-server.ts` already uses for the npm package), and the workflow's "Build desktop app" step exports `VERSION` from the parsed tag. Local dev still resolves to `package.json`'s version, so nothing changes outside of CI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks
grid-store.test.ts mocks the entire \`../src/frontend-shared/lib/rpc\` module. The previous mock supplied a stub \`friendlyErrorMessage: (err) => String(err)\`, which on Linux leaks into rpc-errors.test.ts when both run in the same bun process — nine assertions there fail with "Error: ..." raw strings instead of the friendly mapped messages. macOS happens not to reproduce. Re-expose the real implementation imported from \`lib/rpc-errors\` so any cross-file pollution still resolves to the correct function. The earlier fix in 10e9984 only addressed ui-store.test.ts (which CI excludes) and missed the same pattern in grid-store. Reproduced locally with bun 1.3.13 (the version setup-bun installs in CI): \`shopt -s extglob && bun test tests/!(pg-*|postgres-*|mysql-*|driver-iterate|ui-store).test.ts\` goes from 9 fail to 0 fail. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pure repo hygiene — no behavior changes, no new features. Pulls together four small fixes that were each independently green:
chore: apply pending dprint formatter fixes—dprint checkwas failing on four files with pre-existing formatter drift on main (CLAUDE.md, connection-pool.ts, postgres-driver.ts, connection-manager.test.ts). Pure whitespace, no syntactic changes (verified with the TypeScript syntactic-diff tool).chore: clear pending biome lint warnings— collapses a redundantrecord && record.encryptedConfigto optional chain inindexeddb.ts, switches a push-onlylettoconstingrid.ts, and drops two['search_path']literal-key accesses inquery-executor.ts. All four wereFIXABLEwarnings biome was already flagging.chore: remove unused isLinux platform check— the onlytsc --noEmiterror on main.isLinuxwas declared but never referenced; onlyisMacandisWindowsgate platform-specific behavior.fix: bake the released version into desktop builds— Info.plist was shipping withCFBundleVersion = "0.0.1"becauseelectrobun.config.tshardcoded that string and the release workflow never injected the tag's version into the desktop build step. Now readsprocess.env.VERSION || pkg.version(same patternscripts/build-server.tsalready uses for the npm package), and the workflow exportsVERSIONfrom the parsed tag. Local dev still resolves topackage.json, so nothing changes outside CI.Verified locally:
VERSION=0.0.21 bun -e "import('./electrobun.config.ts').then(...)"resolves to0.0.21; unset case falls back topkg.version.Test plan
bun run format:check— cleanbun run lint— clean (no warnings, no infos)bunx tsc --noEmit— cleanbun test(relevant subset: connection-manager, query-executor, grid-store, rpc-handlers) — all pass0.0.21rather than0.0.1). Can't be verified pre-merge since the env var only flows through on tag push.Companion PR
Split out from #6 (fetch-databases-in-connection-form). Recommended merge order: this one first, then rebase #6.
🤖 Generated with Claude Code