Commit Graph
153 Commits
Author SHA1 Message Date
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 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 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 9d17213e66 fix(post): improve user ID display with domain detection and length limits 2026-02-10 14:06:43 +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 c7c8c46557 feat(post): add backlinks for quotedCids 2026-02-09 19:56:07 +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 63ee8aa168 refactor: rebrand default subplebbits to 5chan directories 2026-01-28 16:51:27 +08:00
plebeius fa4ec6da40 feat(mod-queue): improve compact view and add pending approval features
- Update excerpt format to show both title and content (title: content)
- Add Type and Image columns to compact view (desktop and mobile)
- Show parent post above replies in feed view
- Add approve/reject buttons to post page for pending posts when user is mod
- Translate pending approval string across all languages
- Reorder columns: No., Excerpt, Submitted, Type, Image, Actions
- Right-align Type and Image columns in desktop view
2026-01-26 16:31:15 +08:00
plebeius 28873478a2 fix(post): include pending replies in useReplies calls 2026-01-26 15:36:39 +08:00
plebeius 14e8c92fa0 feat(mod-queue): add view mode selection and integrate with post components 2026-01-25 16:29:15 +08:00
plebeius b8e3a0202a fix(replies): reply permalink didn't auto-scroll to deep replies 2026-01-19 16:02:45 +01:00
plebeius 4b0402996f Change 'CID:' label to 'No.' in post info components 2026-01-18 18:13:35 +01:00
plebeius c0c6e9ee31 perf(feeds): use hasMore instead of length check for conditional virtualization 2026-01-13 17:01:51 +01:00
plebeius fa32833b2a perf(components): prevent rerenders from updatingState
Use Zustand selectors with custom equality functions to only subscribe to specific fields needed by components, avoiding unnecessary rerenders when transient state like updatingState changes. Extract offline indicators into separate components to isolate rerenders. Memoize card components in catalog and popular threads views.
2026-01-02 16:42:16 +01:00
plebeius c094786f97 pass threadNumber to reply modal store 2025-12-28 22:16:38 +01:00
plebeius bf2c7ae61b refactor: use post number instead of shortCid in reply modal and quote previews 2025-12-28 11:53:02 +01:00
plebeius 2b8d6f4fce perf: only virtualize replies when count exceeds first page size 2025-12-27 18:25:35 +01:00
plebeius 882b7b4a99 feat: add infinite scroll for replies 2025-12-27 18:07:23 +01:00
plebeius 6e9202a604 implement useReplies 2025-12-27 17:47:17 +01:00
plebeius 0b573acf1d fix: resolve typescript errors in post menu components 2025-12-26 17:33:00 +01:00
plebeius 76845412e8 feat: implement post numbers 2025-12-24 18:07:14 +01:00
plebeius e56ba3d050 add comment 2025-12-24 18:06:56 +01:00
plebeius 4cb3bda38c fix: update Plebbit.getShortAddress calls to use object parameter 2025-12-24 13:29:09 +01:00
plebeius e4a3c0504e prevent type error 2025-12-23 19:33:46 +01:00
plebeius 34bebda4f7 fix eslint warnings 2025-12-23 19:21:48 +01:00
plebeius 5e79ce91b6 refactor: remove description and rules mock posts
Removed all fake posts for subplebbit description and rules, including dedicated routes, components, and all related logic across the codebase. Board admins can now pin regular posts if they want to provide a description.
2025-12-23 19:14:25 +01:00
plebeius 55dc396120 fix: resolve TypeScript overload error in CopyLinkButton 2025-12-18 17:57:43 +01:00
plebeius 23f245145c fix: validate thread share link cid
Ensure thread share links throw when cid is missing and require a cid in caller props so we never build /thread/undefined URLs.
2025-12-08 23:44:38 +01:00
plebeius 6f1fcafc2c fix(post-menu): await clipboard copy before closing menu 2025-12-06 16:46:29 +01:00
plebeius a1de352da0 feat(post-menu): add copy content ID button 2025-12-06 15:47:32 +01:00
plebeius 698df59f19 perf(components): memoize post menus with minimal props 2025-12-05 17:38:17 +01:00
plebeius 41ffd2f65b feat(share-link): add description and rules link types 2025-11-30 22:43:48 +01:00
plebeius 5de2587cf4 feat(post): add moderator and administrator role indicators 2025-11-28 13:29:31 +01:00
plebeius de7043c77d remove duplicate function, remove unused variables 2025-11-14 14:52:13 +01:00
plebeius 1b38335118 refactor: move board display from post info to media row in multiboard views 2025-11-14 14:32:59 +01:00
plebeius 7bdcc252c0 style: update CID label and reply modal prefix 2025-11-08 21:19:36 +01:00
plebeius 93859ec2f1 fix(routes): prevent malformed routes and fix cache invalidation 2025-11-07 18:34:06 +01:00
plebeius d78fed1fda refactor(routing): migrate to directory-based board routing 2025-11-07 12:50:58 +01:00
plebeius e1f1f280cc fix(post): don't render empty avatar space when image url is invalid 2025-10-16 23:37:58 +02:00
Tom (plebeius.eth) f233da9806 fix(reply): no need to render deleted replies that have no children 2025-06-03 22:18:32 +02:00
Tom (plebeius.eth) d1f364dfc1 remove links to other clients
Each client should have its own default list of subs, creating its own userbase and culture. This way, they can be interoperable with other clients without contaminating their own environment.
2025-06-03 17:58:53 +02:00
Tom (plebeius.eth) c192e526f5 fix build, fix electron 2025-05-22 13:15:40 +02:00
Tom (plebeius.eth) 9e351c6b9d upgrade plebbit-react-hooks, update electron and scripts 2025-05-12 23:54:44 +02:00
Tom (plebeius.eth) 876af71e65 implement useSubplebbitsPagesStore instead of prop from useReplies 2025-03-05 21:38:01 +01:00
Tom (plebeius.eth) 8557ebb3a7 perf(app): optimize loading times by using stored values of subplebbits and comments instead of fetching them multiple times 2025-03-05 17:10:26 +01:00