Commit Graph
100 Commits
Author SHA1 Message Date
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
plebeius c4b6c77d4c feat: render >>{number} as interactive quote links with hover preview
Added bidirectional `usePostNumberStore` for post number ↔ CID mapping, populated from thread views. Preprocesses `>>{number}` into markdown links, renders them via `NumberQuoteLink` and `ReplyQuotePreview`, and deduplicates against `quotedCids` when both refer to the same post.
2026-02-10 16:23:06 +08:00
plebeius db70a9148b fix(reply modal): restore multiline quote insertion 2026-02-10 15:51:58 +08:00
plebeius 8a192b41b4 feat(reply-modal): insert quoted post numbers at textarea caret
Replace single-quote blocking behavior with smooth multi-quote support. When the reply modal is open, clicking another post number now inserts >>number at the current caret position instead of showing an alert. Includes caret tracking across blur events and an infinite-loop guard to prevent recursive `setPublishReplyOptions` calls.
2026-02-10 14:57:47 +08:00
plebeius 9d17213e66 fix(post): improve user ID display with domain detection and length limits 2026-02-10 14:06:43 +08:00
plebeius 3be78393d1 feat(release): extract one-liner release description 2026-02-10 14:01:44 +08:00
plebeius 1bd8aa34eb fix translation 2026-02-10 14:00:45 +08:00
plebeius a581bf5760 add missing translations 2026-02-10 13:48:34 +08:00
plebeius 4a96f88efd feat: add copy user ID menu item and rename copy link to copy direct link
Add 'Copy user ID' button to both desktop and mobile post menus, allowing users to copy the full author address. This provides a way to verify authenticity against the 8-char display ID. Also rename 'Copy link' to 'Copy direct link' for clarity. Update security comments to reflect the new approach and add translations for all 35 languages.
2026-02-10 13:45:55 +08:00
plebeius 24d329a329 fix: shorten rendered user ID display from 12 to 8 characters 2026-02-10 13:23:46 +08:00
plebeius cdd6be915e fix(release): restore 5chan html zip artifact in tag releases 2026-02-10 12:38:12 +08:00
plebeius 1bd1d34fee fix(components): remove redundant instant scroll from quote links 2026-02-09 19:57:44 +08:00
plebeius c7c8c46557 feat(post): add backlinks for quotedCids 2026-02-09 19:56:07 +08:00
plebeius 0fb14e653c Added QuotedCidLink component in comment-content.tsx to render multiple quote links when quotedCids array exists. Updated ReplyQuotePreview to accept and display isOP prop, showing "(OP)" label for original post quotes in both desktop and mobile views. Prefers useComment hook over store when number property is available for deeper nested replies.
Added `QuotedCidLink` component in `comment-content.tsx` to render multiple quote links when `quotedCids` array exists. Updated `ReplyQuotePreview` to accept and display `isOP` prop, showing "(OP)" label for original post quotes in both desktop and mobile views. Prefers `useComment` hook over store when `number` property is available for deeper nested replies.
2026-02-09 19:23:15 +08:00
plebeius 41b7fee439 refactor(mod queue): rename routes from /queue to /modqueue 2026-02-09 17:42:23 +08:00
plebeius 1704686a6f Update mod-queue.tsx 2026-02-09 17:17:14 +08:00
plebeius 8636005f12 fix: update subscriptions subtitle to present tense 2026-02-09 17:11:32 +08:00
plebeius c1b0d13bb7 feat(posts): support pseudonymityMode per-reply hiding
Hide user ID display in posts and replies when subplebbit.features.pseudonymityMode is 'per-reply'. Uses useSubplebbitField to avoid unnecessary rerenders.
2026-02-09 16:22:18 +08:00
plebeius 6192095bd4 Update generate-asset-manifest.js 2026-02-08 18:29:27 +08:00
plebeius b30eb150d0 fix(release): remove duplicate architecture suffixes from artifact names
Remove unnecessary rename steps that were adding duplicate architecture suffixes to AppImage and ZIP filenames. Electron Forge already includes architecture in AppImage filenames, and ZIPs include it in the darwin-arch pattern.
2026-01-30 16:52:58 +08:00
plebeius eec5ba559c fix release workflow 2026-01-30 16:23:08 +08:00
plebeius 6231debb4e make sure yarn.lock is always synced 2026-01-30 15:39:11 +08:00
plebeius 01bda3bffb fix(release): resolve build failures for v0.6.3
Fix Android Capacitor compatibility by downgrading tar to 6.2.1. Add Windows-specific icon file for Squirrel installer. Update electron-forge to 7.8.0 and change DMG format to ULFO for macOS Sequoia compatibility. Add retry logic for transient SSL errors on Mac Intel runners.
2026-01-30 15:26:17 +08:00
plebeius 50ee10cbc9 fix: resolve PR 877 issues - route params, artifact paths, and build configs
Fix route parameter name in use-initial-theme hook (communityAddress -> boardIdentifier), correct release workflow artifact paths (dist -> out/make), add BUILD_ARCH env var for Linux arm64 builds, fix macOS app name dev check, and update capacitor webDir to match vite output.
2026-01-30 14:33:45 +08:00
plebeius d4f16c707f chore(package.json): v0.6.3 2026-01-30 14:04:53 +08:00
TomandGitHub 802b1443fc Merge pull request #877 from bitsocialhq/development
Development
2026-01-30 14:02:33 +08:00
plebeius c4e2f753e3 fix(forge.config.js): remove malformed iconUrl from Squirrel config 2026-01-30 14:01:29 +08:00
plebeius a2d0869904 fix(electron-forge): add app icon configuration for all platforms 2026-01-30 13:50:17 +08:00
plebeius 0c6e03d039 fix(package.json): remove unneeded var 2026-01-30 13:35:53 +08:00
plebeius fce46615f1 bonfida resolutions shouldn't be needed 2026-01-30 13:23:15 +08:00
plebeius 01aac36cfa fix electron builds 2026-01-30 13:21:41 +08:00
plebeius 388a120c8e fix(electron): fix production build crashes 2026-01-30 13:12:02 +08:00
plebeius 16012b4239 fix(find-forge-executable): make appName preference effective
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.
2026-01-30 12:57:52 +08:00
plebeius 815f618320 refactor: migrate from electron-rebuild to electron-forge 2026-01-30 12:28:41 +08:00
plebeius 7b4d7b6b9a Update .gitignore 2026-01-30 12:22:11 +08:00
plebeius 431e171049 Add Bonfida import fix script and improve release workflow 2026-01-30 11:50:20 +08:00
plebeius 7020dfb17b Update package.json 2026-01-29 16:39:30 +08:00