Skip to content

Update zen-browser extension#27373

Merged
raycastbot merged 3 commits into
raycast:mainfrom
thomasbecker:fix/zen-browser-bump-raycast-utils
Apr 23, 2026
Merged

Update zen-browser extension#27373
raycastbot merged 3 commits into
raycast:mainfrom
thomasbecker:fix/zen-browser-bump-raycast-utils

Conversation

@thomasbecker

Copy link
Copy Markdown
Contributor

Description

Bumps @raycast/utils from ^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, so useSQL in @raycast/utils fell through to the sqlite3 CLI 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. useSQL switches to the native path, and its error comes back as:

{ errcode: 5, message: "database is locked", code: "ERR_SQLITE_ERROR" }

No (5) in the message. The detector in @raycast/utils 2.2.1/2.2.2 only used message.match("(5)") || message.match("(14)"), so the lock went undetected, the fallback never ran, and the error bubbled up to the user.

@raycast/utils 2.2.3 (PR #66) added error.errcode === 5 || error.errcode === 14 to the detector, which handles the native node:sqlite error 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):

Cannot query the data database is locked

After (Zen running, this branch via npm run dev):

Bookmarks return as expected.

Checklist

  • I read the extension guidelines
  • I read the documentation about publishing
  • I ran npm run build and tested this distribution build in Raycast
  • I checked that files in the assets folder are used by the extension itself
  • I checked that assets used by the README are placed outside of the metadata folder

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.
@raycastbot raycastbot added extension fix / improvement Label for PRs with extension's fix improvements extension: zen-browser Issues related to the zen-browser extension AI Extension platform: macOS platform: Windows labels Apr 23, 2026
@raycastbot

raycastbot commented Apr 23, 2026

Copy link
Copy Markdown
Collaborator

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 commands
BRANCH="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 dev

We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days.

@greptile-apps

greptile-apps Bot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This is a dependency-only bump of @raycast/utils from ^2.2.0 to ^2.2.3 to pick up the errcode-based SQLite lock detection added in that release, fixing the "database is locked" regression introduced when Raycast's Node runtime gained native node:sqlite support.

  • The new CHANGELOG entry uses {PR-MERGE-DATE} (hyphens) instead of the required {PR_MERGE_DATE} (underscores); the placeholder won't be replaced automatically at merge time.

Confidence Score: 4/5

Safe to merge after fixing the changelog date placeholder typo.

The code change itself is correct and well-motivated, but the {PR-MERGE-DATE} placeholder in the changelog is a present defect — it will be published verbatim as the release date rather than being substituted by the merge tooling.

extensions/zen-browser/CHANGELOG.md — the date placeholder must be corrected to {PR_MERGE_DATE} before merging.

Important Files Changed

Filename Overview
extensions/zen-browser/CHANGELOG.md New changelog entry added for the fix, but uses {PR-MERGE-DATE} (hyphens) instead of the required {PR_MERGE_DATE} (underscores) placeholder.
extensions/zen-browser/package.json @raycast/utils bumped from ^2.2.0 to ^2.2.3 to fix the SQLite lock-detection regression — correct and minimal change.
extensions/zen-browser/package-lock.json Lockfile updated to resolve @raycast/utils to 2.2.3 and adds "peer": true markers for several dev/peer packages — all mechanical npm output.
Prompt To Fix All With AI
This 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

Comment thread extensions/zen-browser/CHANGELOG.md
@0xdhrv 0xdhrv self-assigned this Apr 23, 2026

@0xdhrv 0xdhrv left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, approved ✅

@raycastbot raycastbot merged commit 5647e1c into raycast:main Apr 23, 2026
2 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Published to the Raycast Store:
https://raycast.com/Keyruu/zen-browser

@raycastbot

Copy link
Copy Markdown
Collaborator

🎉 🎉 🎉

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Extension extension fix / improvement Label for PRs with extension's fix improvements extension: zen-browser Issues related to the zen-browser extension platform: macOS platform: Windows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants