Skip to content

fix: linux sidebar issue#264

Open
iamEvanYT wants to merge 1 commit intomainfrom
evan/linux-sidebar-debug
Open

fix: linux sidebar issue#264
iamEvanYT wants to merge 1 commit intomainfrom
evan/linux-sidebar-debug

Conversation

@iamEvanYT
Copy link
Copy Markdown
Member

@iamEvanYT iamEvanYT commented Apr 15, 2026

Investigate Linux Flatpak Sidebar not working as intended

Summary by CodeRabbit

  • Chores

    • Updated electron to v41.1.1 and better-sqlite3 to the latest compatible version.
    • Added node-abi as a development dependency for native module support.
  • Documentation

    • Updated build dependencies documentation with new dependency information.

Co-authored-by: Evan <evan@iamevan.dev>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 15, 2026

Walkthrough

Dependencies and build tooling were updated across the project: better-sqlite3 upgraded to ^12.8.0, electron advanced to v41.1.1+wvcus, node-abi added at ^4.28.0 for Electron ABI compatibility, and version-tracking constants in the electron-upgrader script bumped from 40/41 to 41/42.

Changes

Cohort / File(s) Summary
Documentation
docs/contributing/dependencies.md
Added node-abi entry to the "Other Build Dependencies" section.
Package Dependencies
package.json
Updated better-sqlite3 to ^12.8.0, advanced electron dev dependency to v41.1.1+wvcus, and added node-abi at ^4.28.0 to devDependencies.
Electron Version Tracking
scripts/electron-upgrader/_modules/github.ts
Incremented major version constants: NEXT_MAJOR_VERSION from 41 to 42 and CURRENT_MAJOR_VERSION from 40 to 41.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 The versions leap and bounds increase,
Electrons dance from forty's peace,
Node-abi joins the build brigade,
Deps refreshed, no price unpaid,
Hop forward, code, to newer days!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title 'fix: linux sidebar issue' does not match the actual changes, which involve Electron and dependency upgrades, not sidebar fixes. Update the title to reflect the main changes, such as 'chore: bump electron to v41.1.1 and update dependencies' or similar that accurately describes the dependency updates.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch evan/linux-sidebar-debug
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch evan/linux-sidebar-debug

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@iamEvanYT iamEvanYT marked this pull request as ready for review April 16, 2026 09:51
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 16, 2026

Greptile Summary

This PR intends to fix a Linux Flatpak sidebar issue by bumping Electron to v41.1.1+wvcus (castlabs fork), but the electron URL in package.json is identical between the base branch (main at 0.12.0) and this PR HEAD — the electron version is not actually changing. What is changing is that the app version rolls back from 0.12.0 to 0.11.0 and a broad set of dependencies is downgraded (including typescript 6→5, lucide-react 1→0, eslint-plugin-react-hooks 7→5, and several electron-chrome-* packages). This PR appears to originate from a 0.11.x maintenance branch and the diff against the current main includes regressions unrelated to the intended fix.

Confidence Score: 2/5

Not safe to merge — the PR rolls back the version and many dependencies without applying any visible fix to the reported Linux sidebar issue.

Three P1 findings: (1) version rolls back from 0.12.0 to 0.11.0 which can break electron-updater's update logic, (2) broad dependency downgrades (typescript 6→5, lucide-react 1→0, etc.) that would regress the main branch, (3) the electron URL is unchanged from base so the intended fix is not present in this diff. The PR appears to originate from a 0.11.x maintenance branch that has since diverged significantly from main.

package.json — all three P1 findings are concentrated here; the version field, dependency list, and removed script all need review before merge.

Important Files Changed

Filename Overview
package.json Downgrades app version from 0.12.0 to 0.11.0 and rolls back many dependencies (typescript 6→5, lucide-react 1→0, eslint-plugin-react-hooks 7→5, etc.); the electron URL is identical to the base branch
docs/contributing/dependencies.md Minor description update for tldts — removed the macOS-specific qualifier, no issues
scripts/electron-upgrader/_modules/github.ts No changes detected in the diff — file content is identical between base and PR HEAD
bun.lock Lockfile updated to reflect the downgraded dependency versions in package.json

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["main branch\n(v0.12.0, electron v41.1.1+wvcus)"] -->|PR #264 diff| B["PR HEAD\n(v0.11.0, electron v41.1.1+wvcus)"]
    B --> C{Electron URL changed?}
    C -->|No — identical URL| D["No electron fix applied\n(fix already on main)"]
    C -->|Yes| E["Linux sidebar fix applied"]
    B --> F["Version rolled back\n0.12.0 → 0.11.0"]
    B --> G["Deps downgraded\ntypescript 6→5\nlucide-react 1→0\nelectron-chrome-* rolled back"]
    B --> H["script:sync-bangs removed"]
    D --> I["⚠️ Net effect: regressions only"]
    F --> I
    G --> I
    H --> I
Loading

Comments Outside Diff (3)

  1. package.json, line 4 (link)

    P1 Version rollback from 0.12.0 → 0.11.0

    The PR rolls the version field back from 0.12.0 to 0.11.0. This means any already-published 0.12.x release would be "newer" than what's in the manifest, which can confuse electron-updater (it uses semver comparison to decide whether to offer an update — a lower version in the source could trigger a downgrade loop or suppress future updates). This looks unintentional given that the rest of the 0.12.x codebase is still present in main.

  2. package.json, line 84-116 (link)

    P1 Broad dependency rollback unrelated to the Linux sidebar fix

    This PR downgrades a large number of dependencies when merged into the 0.12.0-based main branch, including:

    • typescript ^6.0.2^5.8.3
    • lucide-react ^1.8.0^0.577.0
    • eslint-plugin-react-hooks ^7.0.1^5.2.0
    • electron-chrome-extensions 4.9.44.7.5
    • electron-chrome-web-store 0.13.30.11.2

    These downgrades could silently break features or type-checking that relies on the newer versions already present on main. Additionally, the electron URL is identical between the base and this PR (#v41.1.1+wvcus), so the electron version itself is not changing — the actual fix for the Linux sidebar issue is not visible in this diff and may already be present on main.

  3. package.json, line 33 (link)

    P1 script:sync-bangs removed without explanation

    The script:sync-bangs entry (bun run scripts/sync-bangs.ts) is deleted in this PR. If this script is still needed for maintaining bang-search data, removing it silently may cause confusion. If it was intentionally deprecated, a note in the PR description or a separate commit would help reviewers verify intent.

Reviews (1): Last reviewed commit: "chore: bump electron to v41.1.1+wvcus [N..." | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/electron-upgrader/_modules/github.ts`:
- Around line 2-5: The constants NEXT_MAJOR_VERSION and CURRENT_MAJOR_VERSION
can drift; add an invariant check in the github module that runs at module
initialization to verify NEXT_MAJOR_VERSION === CURRENT_MAJOR_VERSION + 1 and
throw or log an explicit error if not, so any future upgrade that forgets to
bump one of these values fails fast with a clear message referencing
NEXT_MAJOR_VERSION and CURRENT_MAJOR_VERSION.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 0ade4968-7270-491c-8548-5eff928f3775

📥 Commits

Reviewing files that changed from the base of the PR and between 73389b0 and ee1ef08.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • docs/contributing/dependencies.md
  • package.json
  • scripts/electron-upgrader/_modules/github.ts

Comment on lines +2 to +5
const NEXT_MAJOR_VERSION = 42;

/** The major version number for current major version electron releases */
const CURRENT_MAJOR_VERSION = 40;
const CURRENT_MAJOR_VERSION = 41;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Add a guard to prevent future major-version drift.

These constants are easy to desync during future upgrades. A small invariant check keeps failures explicit.

Suggested patch
 const NEXT_MAJOR_VERSION = 42;
 
 /** The major version number for current major version electron releases */
 const CURRENT_MAJOR_VERSION = 41;
+
+if (NEXT_MAJOR_VERSION !== CURRENT_MAJOR_VERSION + 1) {
+  throw new Error("Electron major version constants are out of sync");
+}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/electron-upgrader/_modules/github.ts` around lines 2 - 5, The
constants NEXT_MAJOR_VERSION and CURRENT_MAJOR_VERSION can drift; add an
invariant check in the github module that runs at module initialization to
verify NEXT_MAJOR_VERSION === CURRENT_MAJOR_VERSION + 1 and throw or log an
explicit error if not, so any future upgrade that forgets to bump one of these
values fails fast with a clear message referencing NEXT_MAJOR_VERSION and
CURRENT_MAJOR_VERSION.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant