-
Notifications
You must be signed in to change notification settings - Fork 10
Development #877
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Development #877
Conversation
Development
Added fallback variable to track valid candidates that don't match appName. Now returns immediately on exact match, otherwise continues searching and falls back to any valid executable. Applied fix consistently across Windows, Darwin, and Linux branches including .app directories and .AppImage files.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cursor Bugbot has reviewed your changes and found 6 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on February 8
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| const useInitialTheme = (pendingPostSubplebbitAddress?: string) => { | ||
| const location = useLocation(); | ||
| const { subplebbitAddress: paramsSubplebbitAddress, accountCommentIndex } = useParams<{ subplebbitAddress: string; accountCommentIndex?: string }>(); | ||
| const { communityAddress: paramsSubplebbitAddress, accountCommentIndex } = useParams<{ communityAddress: string; accountCommentIndex?: string }>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrong route parameter name breaks theme selection
High Severity
The route parameter key was changed from subplebbitAddress to communityAddress, but the actual routes use :boardIdentifier (as defined in app.tsx). This causes paramsSubplebbitAddress to always be undefined since no route parameter named communityAddress exists. Board pages will incorrectly fall through to the default theme instead of selecting themes based on NSFW status.
|
|
||
| - name: Setup Node.js v22 for Electron build | ||
| uses: actions/setup-node@v2 | ||
| with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Linux arm64 build downloads wrong architecture IPFS binary
High Severity
The Linux arm64 build runs on ubuntu-22.04 (x64 runner) but downloads the IPFS binary without setting BUILD_ARCH. The resolveBuildArch() function in before-pack.js falls back to process.arch which returns 'x64' on the x64 runner, causing the arm64 build to package an x64 IPFS binary that won't work on arm64 Linux systems.
| const iconPath = path.join(dirname, '..', isDev ? 'public' : 'build', 'icon.png'); | ||
| app.dock.setIcon(iconPath); | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
App name incorrectly set to 'seedit' on macOS
High Severity
The newly added code sets app.setName('seedit') for ALL macOS builds, but the app is named '5chan' everywhere else (in forge.config.js, documentation, etc.). The comment says "for development mode on macOS" but there's no isDev check in the condition. This causes production macOS builds to display "seedit" in the dock and menu bar instead of "5chan".
| if (subplebbitAddress) { | ||
| const subplebbit = subplebbits.find((s) => s.address === subplebbitAddress); | ||
| if (subplebbit?.nsfw) { | ||
| const communityAddress = pendingPostSubplebbitAddress || pendingPost?.communityAddress; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrong property name for pending post address fallback
Medium Severity
The fallback pendingPost?.communityAddress uses a non-existent property on Comment objects. The correct property is subplebbitAddress, as used consistently throughout the codebase (e.g., in use-theme.ts and app.tsx). When pendingPostSubplebbitAddress parameter is not provided, the fallback fails and pending post views get incorrect theme selection.
| - uses: ncipollo/release-action@v1 | ||
| with: | ||
| artifacts: 'dist/5chan*.AppImage,dist/5chan-html*.zip' | ||
| artifacts: 'dist/5chan*.AppImage,dist/5chan*-arm64.AppImage,dist/5chan-html*.zip' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Release workflow looks for artifacts in wrong directory
High Severity
The release workflow expects artifacts in dist/ but electron-forge outputs to out/make/ by default. The test workflow correctly references out/ directory, and find-forge-executable.js searches in out/ and out/make/. However, the release workflow's artifact patterns (dist/5chan*.AppImage, dist/5chan*.dmg, dist/5chan*.exe) won't match any files, causing releases to have no downloadable binaries.
Additional Locations (2)
| - uses: ncipollo/release-action@v1 | ||
| with: | ||
| artifacts: 'dist/5chan*.AppImage,dist/5chan-html*.zip' | ||
| artifacts: 'dist/5chan*.AppImage,dist/5chan*-arm64.AppImage,dist/5chan-html*.zip' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HTML archive creation deleted but still referenced
Medium Severity
The electron/after-all-artifact-build.cjs file that created the 5chan-html-*.zip static web build was deleted, but the release workflow still includes dist/5chan-html*.zip in its artifacts pattern. The scripts/release-body.js also references this file for generating download links. The HTML archive won't be created, leaving a gap in the release deliverables.


Note
Medium Risk
Moderate risk because it changes the desktop build/release toolchain (Forge packaging, CI matrices, and artifact naming) and modifies how the bundled Kubo binary is downloaded/located at runtime across platforms/architectures.
Overview
Migrates desktop packaging from
electron-builderto Electron Forge via a newforge.config.js, newelectron:build:*scripts (incl. per-arch targets), updated CI tests toelectron-forge package, and cleanup ofelectron-builderhooks/config (including removal ofelectron/after-all-artifact-build.cjs).Release pipelines are reworked for multi-arch artifacts and Node 22: Linux and macOS now build matrix
x64+arm64, React builds forceNODE_ENV=production, and release body generation is moved to a newfinalize-releasejob that updates the body after assets upload.IPFS/Kubo bundling is updated and hardened: bumps Kubo to
0.39.0, downloads platform/arch-specific binaries (env-overridable), adjusts runtime binary resolution and logging inelectron/start-ipfs.js, and updates Electron runtime paths fromdist/tobuild/(preload,index.html, tray/icon). Also renames “default subplebbits” data to “directories” (5chan-directories.jsonschema change tocommunities) and updates UI/hooks/docs links accordingly.Written by Cursor Bugbot for commit c4e2f75. This will update automatically on new commits. Configure here.