Update zen-browser extension#27373
Conversation
Search bookmarks and history break with "Cannot query the data, database is locked" when Zen is running. Raycast recently started bundling a Node runtime with node:sqlite, so useSQL now goes through the native path instead of the sqlite3 CLI. Native sqlite throws "database is locked" with errcode 5 but no "(5)" in the message text. @raycast/utils 2.2.2 only matched the text, so the copy-to-temp fallback never ran. 2.2.3 adds the errcode check.
|
Thank you for your first contribution! 🎉 🔔 @Keyruu @theherk @walker-tx @Jimmy-b36 @sdaza @elliothco @ridemountainpig @Davidferl @sjasct @pernielsentikaer @Zheckan @Diwanshumidha @vmrjnvc @MrGHPrice you might want to have a look. You can use this guide to learn how to check out the Pull Request locally in order to test it. 📋 Quick checkout commandsBRANCH="fix/zen-browser-bump-raycast-utils"
FORK_URL="https://github.com/thomasbecker/extensions.git"
EXTENSION_NAME="zen-browser"
REPO_NAME="extensions"
git clone -n --depth=1 --filter=tree:0 -b $BRANCH $FORK_URL
cd $REPO_NAME
git sparse-checkout set --no-cone "extensions/$EXTENSION_NAME"
git checkout
cd "extensions/$EXTENSION_NAME"
npm install && npm run devWe're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days. |
Greptile SummaryThis is a dependency-only bump of
Confidence Score: 4/5Safe to merge after fixing the changelog date placeholder typo. The code change itself is correct and well-motivated, but the extensions/zen-browser/CHANGELOG.md — the date placeholder must be corrected to Important Files Changed
Prompt To Fix All With AIThis is a comment left during a code review.
Path: extensions/zen-browser/CHANGELOG.md
Line: 3
Comment:
**Wrong changelog date placeholder**
The new entry uses `{PR-MERGE-DATE}` (hyphens) instead of the repository-standard `{PR_MERGE_DATE}` (underscores). The placeholder won't be substituted automatically at merge time, so the release will show the literal string `{PR-MERGE-DATE}` rather than the actual date. The immediately following entry in this file — `## [Add Kagi Search Engine] - {PR_MERGE_DATE}` — uses the correct form.
```suggestion
## [Fix Bookmark and History Search When Zen Is Running] - {PR_MERGE_DATE}
```
**Rule Used:** What: Changelog entries must use `{PR_MERGE_DATE}`... ([source](https://app.greptile.com/review/custom-context?memory=c2214c11-df56-490a-b1c0-09a385df481a))
How can I resolve this? If you propose a fix, please make it concise.Reviews (1): Last reviewed commit: "fix(zen-browser): bump @raycast/utils to..." | Re-trigger Greptile |
|
Published to the Raycast Store: |
|
🎉 🎉 🎉 Such a great contribution deserves a reward, but unfortunately we couldn't find your Raycast account based on your GitHub username (@thomasbecker). Please link your GitHub account to your Raycast account to receive your credits and soon be able to exchange them for some swag. |
Description
Bumps
@raycast/utilsfrom^2.2.0(lockfile:2.2.1) to^2.2.3.Search Bookmarks and Search History break with "Cannot query the data, database is locked" when Zen is running. Until recently, Raycast's Node runtime didn't expose
node:sqlite, souseSQLin@raycast/utilsfell through to thesqlite3CLI path. The CLI's error text contains(5), which matches the existing lock detector and triggers the copy-to-temp fallback — so searches worked.Raycast now bundles Node 22.22.2, which does expose
node:sqlite.useSQLswitches to the native path, and its error comes back as:No
(5)in the message. The detector in@raycast/utils2.2.1/2.2.2 only usedmessage.match("(5)") || message.match("(14)"), so the lock went undetected, the fallback never ran, and the error bubbled up to the user.@raycast/utils2.2.3 (PR #66) addederror.errcode === 5 || error.errcode === 14to the detector, which handles the nativenode:sqliteerror shape. Bumping the pin fixes the regression.No source changes — dependency bump only, plus lockfile and changelog entry.
Screencast
Before (Zen running, installed store version):
After (Zen running, this branch via
npm run dev):Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder