-
Notifications
You must be signed in to change notification settings - Fork 22
Development #803
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 #803
Conversation
Merge pull request #794 from bitsocialhq/development
not needed, we now use https://github.com/mhkafadar/notifine
not needed, using AGENTS.md instead
Updated @types/react and @types/react-dom from 18.x to ^19.1.2 to match React 19. Upgraded react-markdown from 8.0.6 to ^10.1.0 for React 19 compatibility. Fixed TypeScript errors across components including useRef initial values, ref type mismatches, JSX namespace issues, and react-markdown component prop types.
Refactored timeout and interval management across components to use refs for proper cleanup. Fixed memory leak in use-time-filter hook by tracking interval lifecycle. Improved error handling type safety in error-display component.
…o npm package Migrated build system from electron-builder to Electron Forge with new configuration in forge.config.js. Replaced manual IPFS binary downloads with kubo npm package, updating start-ipfs.js to resolve binaries from node_modules. Simplified CI workflows to use new build scripts and verification helpers. Added scripts to find and verify executables in Forge output directory.
- Disabled asar packaging due to silent failure in electron-packager - Added generateAssets hook to download IPFS/Kubo binaries before packaging - Added ignore patterns for kubo symlinks and .bin directories that cause build failures - Simplified CI workflow with proper pipefail handling - Removed legacy electron-builder config from package.json - Added glob and progress dependencies needed for hooks The asar creation was silently failing due to issues with symlinks in node_modules. With asar disabled, the app bundle is larger but packaging completes successfully.
|
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 3 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This PR is being reviewed by Cursor Bugbot
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.
| "analyze-bundle": "cross-env NODE_ENV=production PUBLIC_URL=./ GENERATE_SOURCEMAP=true vite build && npx source-map-explorer 'build/assets/*.js'", | ||
| "electron": "yarn build:preload && cross-env ELECTRON_IS_DEV=1 yarn electron:before && cross-env ELECTRON_IS_DEV=1 electron .", | ||
| "electron:no-delete-data": "yarn electron:before:download-ipfs && electron .", | ||
| "electron:no-delete-data": "yarn electron:before:delete-data && electron .", |
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.
Script deletes data despite name promising preservation
High Severity
The electron:no-delete-data script is supposed to start Electron without deleting user data (as its name clearly indicates), but it now calls electron:before:delete-data which runs rimraf .plebbit, thereby deleting all user data. The old script called electron:before:download-ipfs which only downloaded IPFS binaries without touching user data. Users running yarn electron:no-delete-data or yarn electron:start:no-delete-data will unexpectedly lose their .plebbit data directory.
| process.on('SIGTERM', cleanup); | ||
|
|
||
| // Start polling | ||
| pollPort(); |
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.
Unused script file added to repository
Low Severity
The file scripts/verify-executable.js is added but never used anywhere in the codebase. It's not referenced in any workflow file, package.json script, or other configuration. While scripts/find-forge-executable.js is used in the test workflows, this verification script appears to be dead code that was committed but never integrated.
| return () => { | ||
| clearFeedbackTimeout(); | ||
| }; | ||
| }, []); |
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.
Duplicated timeout reset pattern across components
Low Severity
The timeout management pattern is duplicated between error-display.tsx (clearFeedbackTimeout/scheduleFeedbackReset) and comment-tools.tsx (clearResetTimeout/scheduleReset). Both components implement identical logic: a ref to hold the timeout ID, a clear function, a schedule function that clears first then sets a new timeout, and cleanup on unmount. This could be extracted into a reusable custom hook.
Additional Locations (1)
Merge pull request #803 from bitsocialhq/development
Note
Medium Risk
Moderate risk because it changes desktop build/packaging (switching to Electron Forge) and IPFS binary resolution logic, which can break release artifacts or runtime startup across platforms; remaining changes are mostly CI/docs/typing and low impact.
Overview
This PR migrates desktop packaging from
electron-builderto Electron Forge by addingforge.config.js, newelectron:package/electron:buildscripts, and CI updates to package withelectron-forge packageand validate outputs (including a newscripts/find-forge-executable.js).It also reworks IPFS/Kubo runtime and build integration: adds
kuboas a dependency, updateselectron/start-ipfs.jsto resolve the correct binary path in dev vs packaged apps (and across OS/platform dirs), and updates build ignores/.gitignorefor Forge/AppImage artifacts.Additionally, it cleans up repo/branding and minor app behavior: removes the Telegram notification workflow, updates README messaging/links to Bitsocial, adds Vercel analytics only on
seedit.app, switches share links tohttps://seedit.app, prevents navigating to the currently viewed community (newalready_in_communityi18n key), and tightens a few TS typings/timeout cleanups in UI components.Written by Cursor Bugbot for commit e509d86. This will update automatically on new commits. Configure here.