100 Commits
Author SHA1 Message Date
Tommaso CasaburiandGitHub e1f3688e34 Merge pull request #968 from bitsocialhq/master
Merge pull request #961 from bitsocialhq/development
2026-02-25 18:23:46 +08:00
Tommaso CasaburiandGitHub 13154fdc97 Merge pull request #961 from bitsocialhq/development
Development
2026-02-24 21:23:42 +08:00
Tommaso CasaburiandGitHub 3f63a656ad Merge pull request #956 from bitsocialhq/master
Development
2026-02-23 21:15:20 +08:00
Tommaso CasaburiandGitHub d7b07eab9f Merge pull request #955 from bitsocialhq/development
Development
2026-02-23 20:57:22 +08:00
Tommaso CasaburiandGitHub 6769fd1eb4 Merge pull request #950 from bitsocialhq/master
Merge pull request #935 from bitsocialhq/development
2026-02-23 16:17:00 +08:00
TomandGitHub 2e6db46079 Merge pull request #935 from bitsocialhq/development
Development
2026-02-20 13:51:07 +08:00
plebeius c06ae27301 update translation 2026-02-19 19:06:39 +08:00
plebeius ee5b7ffd23 fix spacing 2026-02-19 18:38:12 +08:00
plebeius 274cb6a22c refactor(settings-modal): move crypto settings under Bitsocial Account section 2026-02-19 18:37:43 +08:00
plebeius d1f7f92353 Merge branch 'refactor/remove-nft-avatar' into development 2026-02-19 17:53:05 +08:00
plebeius 7cd46cb49b chore(scripts): add live postimages emulator test and smoke scripts 2026-02-19 17:49:35 +08:00
plebeius e26da8463a feat(android): multi-provider WebView upload with postimages chooser contract 2026-02-19 17:49:31 +08:00
plebeius b3e8df318c feat(media-upload): Electron recipe parity and diagnostics 2026-02-19 17:49:27 +08:00
plebeius bbddb9ce17 feat(file-upload): normalize Android Capacitor rejection and surface attempt details in UI 2026-02-19 17:49:23 +08:00
plebeius f1f5789118 feat(media-hosting): extend ProviderAttempt with stage/elapsedMs/matchedSelectors and parse plugin errors 2026-02-19 17:49:18 +08:00
plebeius 981940731b refactor: remove NFT avatar functionality
Removes avatar-settings component, avatar-visibility store, and all
avatar rendering from posts. Strips avatar from account JSON, renames
NFT gateway label to media IPFS gateway, removes Polygon RPC and
hide-avatars toggle. Deletes 6 avatar-related translation keys.
2026-02-19 17:40:10 +08:00
plebeius 1d133b812d refactor(settings): remove Hide threads without images setting
5chan boards enforce requirePostLinkIsMedia/requirePostLink at subplebbit level; client-side filter redundant.
2026-02-19 15:34:13 +08:00
plebeius b6e7e283a3 update translation 2026-02-19 15:31:59 +08:00
plebeius 11697db1ec refactor(settings): remove blocked addresses setting and block user/board feature
Obsolete with pseudonymity mode (user IDs randomized per board) and custom boards
requiring explicit search/subscribe. Unsubscribe suffices for boards.
2026-02-19 15:30:55 +08:00
plebeius 137241705a refactor(settings): rename subscriptions setting to board subscriptions 2026-02-19 15:25:46 +08:00
plebeius 410b988fbd fix(upload): resolve electron file-path fallback and android provider automation stalls 2026-02-19 13:18:15 +08:00
plebeius afdf129c3e fix: resolve android plugin registration and electron upload runtime detection regressions 2026-02-18 20:13:28 +08:00
plebeius 4cdbf8c6bc fix: upgrade react-i18next to resolve key prop warning 2026-02-18 20:03:15 +08:00
plebeius a39fafa08f fix(electron): make macOS dev dock icon setup non-fatal 2026-02-18 19:52:09 +08:00
plebeius 023adccddf fix: compute click center from full box model quad 2026-02-18 18:58:36 +08:00
plebeius 5fbddcd1ac Update default.json 2026-02-18 18:56:46 +08:00
plebeius 96a4aaec0e feat(media-hosting): add multi-provider configurable upload with fallback
Add Random/Preferred/None modes, preferred provider selection, and provider-order fallback. Catbox/Imgur/PostImages on Android via WebView; Electron CDP automation for Imgur/PostImages. Hide upload controls on web runtime.
2026-02-18 18:51:02 +08:00
plebeius 72b70915fd Update .gitignore 2026-02-18 18:13:38 +08:00
plebeius 2669c9ab09 refactor(settings): rename p2p options to advanced settings 2026-02-18 17:29:41 +08:00
plebeius f5eba9adbe fix(error-display): reset showAfterDelay when error clears 2026-02-18 16:19:50 +08:00
plebeius 91752206f6 Update AGENTS.md 2026-02-18 16:06:36 +08:00
plebeius e0ed510fc6 perf(react-doctor): fix compiler-blocking patterns, raise score 72→81
Replace sync setState-in-effect with keyed remount and render-derived patterns in app, error-display, topbar-edit-modal, catalog-filters; use useCurrentTime() instead of Date.now() in hot paths; fix conditional hooks, passive scroll listeners, lodash path imports.
2026-02-18 15:31:01 +08:00
plebeius afb50ad02d Update AGENTS.md 2026-02-18 15:29:30 +08:00
plebeiusandCursor 0ed95ed6e2 chore: add advisory react-doctor workflow for contributors
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 14:11:01 +08:00
plebeius 255f170b8b chore: add translations 2026-02-17 19:34:03 +08:00
plebeius 96f11b3e26 feat(settings): add media hosting settings and provider-based upload gating 2026-02-17 18:57:54 +08:00
plebeius 45a6ff0bab feat(directories): implement features.noSpoilers and features.noSpoilerReplies for board-specific spoiler checkbox 2026-02-17 17:35:53 +08:00
plebeius 2733ab260b fix(reply-modal): remove link type previewer that displaces UI 2026-02-17 17:21:13 +08:00
plebeius 69231f7bdc Update 5chan-directories.json 2026-02-17 17:18:27 +08:00
plebeius 317b993439 chore: update translations 2026-02-17 16:46:34 +08:00
plebeius d7cdfa393a Merge branch 'development' of github.com:plebbit/plebchan into development 2026-02-17 16:44:34 +08:00
plebeius dbbc83d369 feat: add shared cross-platform catbox media upload flow
Added `useFileUpload()` and `uploadToCatbox()` to centralize upload behavior and remove duplicated upload code from `post-form.tsx` and `reply-modal.tsx`. The flow now routes Android to `FileUploader`, Electron to hidden-input + catbox upload, and web to a translated fallback alert with consistent upload UI state.
2026-02-17 16:44:16 +08:00
TomandGitHub 36e12843eb Merge pull request #919 from bitsocialhq/master
Development
2026-02-17 14:48:50 +08:00
plebeius 6f7dcb410b chore: release v0.6.6 2026-02-16 19:20:53 +08:00
TomandGitHub 5822b6b05b Merge pull request #917 from bitsocialhq/development
Development
2026-02-16 19:19:40 +08:00
plebeius 9c558d21c1 fix(modqueue): enforce role-gated access with not-allowed view 2026-02-16 19:17:38 +08:00
plebeius 6befc6bacd fix(electron): add macOS app icon via icon.icns
Add public/icon.icns generated from icon.png. Update forge.config.js DMG maker and electron/main.js dev dock to use icon.icns. Fixes missing 5chan icon (default Electron icon shown).
2026-02-16 16:16:05 +08:00
plebeius ee7c254e7b Update AGENTS.md 2026-02-16 16:14:52 +08:00
plebeius bb4be3ff6b fix(challenge-utils): format challenge errors with board identifier 2026-02-16 15:13:52 +08:00
plebeius b409766615 Merge branch 'development' of github.com:plebbit/plebchan into development 2026-02-16 14:14:15 +08:00
plebeius 8797232ff1 Update .gitignore 2026-02-16 13:37:16 +08:00
TomandGitHub 75582f9e7a Merge pull request #912 from bitsocialhq/master
Merge pull request #904 from bitsocialhq/development
2026-02-16 13:30:52 +08:00
plebeius 64a5a6a526 chore: add missing key, fix translation 2026-02-15 20:40:06 +08:00
plebeius f4727641b4 chore: add translation 2026-02-15 20:35:20 +08:00
plebeius 50e5370b56 Update 5chan-directories.json 2026-02-15 18:51:05 +08:00
plebeius dedf18e199 perf(replies): progressive render, 500 replies/page, content-visibility
Set repliesPerPage to 500 to avoid Virtuoso pagination sort drift. Add useProgressiveRender with startTransition batching and CSS content-visibility for long reply lists.
2026-02-15 18:46:49 +08:00
plebeius ec620238e3 feat(directories): add schema adapters and preserve v2 metadata
Multi-adapter boundary in normalizeDirectoriesData() supports both
communities[] and directories[] upstream schemas. Sync script mirrors
logic and writes canonical format. Preserves directoryCode and features
for future use.
2026-02-15 18:27:12 +08:00
plebeius 2f563b441a fix(popular-posts): base quota on loaded boards instead of total directories
The postsPerSub quota is now calculated from boards with actually loaded hot comments, not total filtered directories. This prevents the list from collapsing to a single post when many boards are empty or unavailable.
2026-02-15 14:52:27 +08:00
plebeius c667657e96 Update boards-list.tsx 2026-02-15 14:50:17 +08:00
plebeius 32bf635a3c Update use-directories.ts 2026-02-15 14:40:48 +08:00
plebeius e47727c074 fix(home): derive board link state from directory availability
Replaced one-off /biz/ and /pol/ checks with a single board-name-to-address resolver built from useDirectories() data. The homepage boards list now consistently colors and links any available directory board without manual hardcoding.
2026-02-15 14:32:14 +08:00
plebeius 8645f7365a feat(build): sync vendored directories from GitHub on start and build
Adds sync-directories.js script that fetches 5chan-directories.json from bitsocialhq/lists and updates the vendored fallback. Runs before generate:assets in prestart and prebuild to ensure the fallback is fresh for every build. Non-fatal: if fetch fails, existing file is kept.
2026-02-15 14:14:21 +08:00
plebeius 44847b7e95 fix(post): refresh author ID tooltip count when replies change 2026-02-15 14:07:12 +08:00
plebeius afc08e3659 Update AGENTS.md 2026-02-14 20:21:34 +08:00
TomandGitHub c2db8929fc Merge pull request #904 from bitsocialhq/development
Development
2026-02-14 17:48:18 +08:00
plebeius 14c6bf8f3a fix(replies): make thread replies update instantly for pending and confirmed states
Aligned 5chan’s flat thread reply behavior with plebones by using `useReplies` in flat-old mode with appending account comments and rendering from `updatedReplies` when available. Reply rows now subscribe to `useAccountComment` by `index`, so pending replies transition to confirmed automatically after challenge verification without requiring manual update or refresh.
2026-02-13 19:42:38 +08:00
plebeius 98f7a52e9b fix(post-status): base pending and failed labels on cid and state
Pending now means cid is missing, failed now means state is 'failed'.
2026-02-13 17:48:27 +08:00
plebeius befb4079ff update documentation 2026-02-13 14:13:03 +08:00
plebeius f24258f278 fix styling 2026-02-13 14:10:10 +08:00
plebeius 61eb1e80f5 fix(topbar): sync subscription visibility with account subscriptions
Replace per-address visibility tracking with a boolean flag so newly subscribed boards appear immediately in the topbar without requiring a modal reopen.
2026-02-13 14:01:49 +08:00
plebeius 3d2dbbf75c perf: remove reply backlink subscription churn
Replaced per-reply useReplies subscriptions in backlink rendering with a precomputed directRepliesByParentCid map from thread-level filteredReplies. Also optimized quote link rendering in comment-content with scoped store subscription, reduced edit menu state churn, and improved DOM lookups with memoization to keep all backlink rendering data-local and eliminate repeated backend-state-driven reference churn during board scroll.
2026-02-12 20:00:32 +08:00
plebeius 7821f9cd82 perf(post-rendering): reduce quoted backlink rerenders via scoped store subscription
Replaced duplicated quotedByMap construction with useQuotedByMap() hook that subscribes only to post numbers referenced in each thread. Updated registerComments() to skip no-op writes, eliminating unnecessary numberToCid identity changes during feed scrolling.
2026-02-12 18:41:21 +08:00
plebeius 0539bfe67e update translation 2026-02-12 18:25:30 +08:00
plebeius 901f40f6b8 feat(board-header): add hover tooltip for address subtitle 2026-02-12 18:15:11 +08:00
plebeius ad41a78974 feat(post-page): enable Update button to refresh replies, add Auto alert translation
Update button calls useReplies().reset() for manual refresh. Auto button
shows translated informational alert. Register reply feed reset in Post
desktop/mobile when on post page.
2026-02-12 17:44:26 +08:00
plebeius 378242cdde fix(replies): prevent inline quote links from forcing line breaks 2026-02-12 16:17:44 +08:00
plebeius 9dc3686cf2 Merge branch 'development' of github.com:plebbit/plebchan into development 2026-02-12 13:23:54 +08:00
plebeius 9c1879045d update links 2026-02-11 21:27:18 +08:00
plebeius df9278237a typo 2026-02-11 21:17:22 +08:00
TomandGitHub 70bc414870 Merge pull request #895 from bitsocialhq/master
Development
2026-02-11 21:12:40 +08:00
plebeius 76f655cc8c chore: release v0.6.5 2026-02-11 19:17:36 +08:00
TomandGitHub 5dd2ca47d1 Merge pull request #894 from bitsocialhq/development
Development
2026-02-11 19:16:03 +08:00
plebeius 6271d15dae Update release-body.js 2026-02-11 19:15:42 +08:00
plebeius 25375612a9 fix(post): show OP backlinks in board feed cards 2026-02-11 19:06:29 +08:00
plebeius 18cea185e7 refactor: replace default lodash imports with named imports
Replaced `import _ from 'lodash'` with specific named imports (`capitalize`, `lowerCase`, `debounce`, `startCase`) across 18 files. This reduces bundle size and improves tree-shaking efficiency.
2026-02-11 19:01:09 +08:00
plebeius d862550132 fix(post): render OP backlinks from replies quoting OP 2026-02-11 18:52:10 +08:00
plebeius 716c782d1a fix: scroll OP quote to thread card on same-route click 2026-02-11 18:43:39 +08:00
plebeius 6c4c12c136 fix(reply): replies should always target the OP, not other replies 2026-02-11 18:15:06 +08:00
plebeius af259ad032 fix(reply modal): make parent reply quote editable 2026-02-11 16:38:40 +08:00
plebeius 9f14a63268 feat: populate quotedCids when publishing replies with quote references
Parse reply content for >>{postNumber} references, resolve post numbers to CIDs via usePostNumberStore, and include resolved CIDs in publishCommentOptions when publishing. Extracted quote handling into reply-quote-utils.ts for testability and clarity.
2026-02-11 16:07:01 +08:00
plebeius e9558a618a chore(deps): upgrade plebbit-react-hooks 2026-02-11 16:06:09 +08:00
plebeius 7827405460 Update AGENTS.md 2026-02-11 15:46:06 +08:00
plebeius 4898b5aa4f Update .gitignore 2026-02-11 15:30:25 +08:00
plebeius 50f373eb83 fix(deps): resolve dependabot alert 2026-02-11 13:43:17 +08:00
TomandGitHub a6cf257b78 Merge pull request #888 from bitsocialhq/master
Development
2026-02-10 21:47:09 +08:00
plebeius 11b713ce10 chore: release v0.6.4 2026-02-10 21:36:39 +08:00
plebeius 702816f99b fix: include manual post-number quotes in reply backlinks
Backlink map generation now merges protocol-level quotedCids with parsed >>number references from reply content. Manual quotes are resolved through numberToCid from usePostNumberStore and deduplicated using Set. Centralized QUOTE_NUMBER_REGEX in url-utils to keep markdown conversion and backlink detection aligned.
2026-02-10 16:53:34 +08:00
plebeius 35783ff627 style(markdown): align markdown number-quote links with reply quote styling 2026-02-10 16:28:04 +08:00
plebeius b8546a86c5 fix(post): prevent quote hover highlight on op cards 2026-02-10 16:26:05 +08:00
plebeius 223ec4c494 fix: show OP badge for number-based quote links
`NumberQuoteLink` now receives thread context from `Markdown` and forwards `isOP` to `ReplyQuotePreview` when the resolved quote CID matches the thread `postCid`. This makes `>>14` render as `>>14 (OP)` consistently with existing `quotedCids` links.
2026-02-10 16:23:15 +08:00