Commit Graph
93 Commits
Author SHA1 Message Date
Tommaso Casaburi fd26d6fd10 fix(catalog): preserve literal preview markers 2026-04-29 15:24:54 +07:00
Tommaso CasaburiandGitHub 5dc5408a15 fix(codebase audit): preserve cleanup without regressions
Fix codebase audit regressions while preserving UI/UX behavior and adding review-driven hardening.
2026-04-24 15:48:07 +07:00
Tommaso Casaburi c046c542b6 chore(deps): use published bitsocial react hooks 2026-04-20 22:11:36 +07:00
Tommaso Casaburi ee7a5b5778 refactor(core): remove legacy plebbit terminology 2026-04-17 10:48:27 +07:00
Tommaso CasaburiandGitHub 7ba28becc5 fix(catalog): stop virtualizing single-board catalogs (#1121)
* fix(catalog): defer pretext row work and trim multiboard append batches

* fix(catalog): stop virtualizing single-board catalogs
2026-04-03 15:08:22 +07:00
Tommaso CasaburiandGitHub 251e103db3 feat: finalize pretext feed sizing rollout (#1120)
* feat(feeds): add pretext-backed item sizing across board, catalog, and thread replies

* feat: finalize pretext feed sizing rollout

* fix(catalog): raise multiboard viewport buffer

* fix(board): preserve pretext query overrides
2026-04-02 19:45:55 +07:00
Tommaso Casaburi eeb288e2dc fix(catalog): avoid stretching unknown-size thumbnails 2026-03-31 17:46:01 +07:00
Tommaso CasaburiandGitHub aedee9fb83 feat(archive): implement comment.archived and add archive page (#1074)
* feat(archive): implement comment.archived and add archive page

Add isCommentArchived() utility, /board/:boardIdentifier/archive route,
archive view with filtered feed, and UI integration (board buttons, edit
menu, catalog row, post). Archived indicator on catalog and posts.

* fix(archive): address review feedback from Bugbot and CodeRabbit

Add missing i18n keys (archived, thread_archived, view, loading_archive),
add /archive/settings route, replace hardcoded English in archive.tsx, and
fix mobile test state.
2026-03-13 16:06:36 +08:00
Tommaso CasaburiandGitHub d7703953fb refactor: migrate 5chan to the community hooks API (#1073)
* refactor(community-api): migrate 5chan to community hooks

* fix(review): address PR feedback

* fix(review): preserve legacy board context fallbacks

* fix(review): address latest bot feedback

* fix(review): use communityAddress in edit menu privileges
2026-03-13 13:25:10 +08:00
Tommaso CasaburiandGitHub 2dd7c0e8d7 fix(catalog): use alias-aware media link labels (#1056)
* fix(catalog): use alias-aware media link labels

* fix(settings): align advanced settings tests with save label
2026-03-11 22:03:15 +08:00
plebeius 417482060d refactor: org name changed from bitsocialhq to bitsocialnet 2026-03-09 17:01:35 +08:00
plebeius 5aec67714a test: cover reply modal and board header flows 2026-03-08 15:19:24 +08:00
plebeius 34e2c2bc4d fix: hold gif thumbnails until first frame is ready
Distinguish GIF frame loading from GIF frame failure in useFetchGifFirstFrame(), so thread and catalog thumbnails no longer render animated GIFs before the still frame arrives. Keep the existing animated fallback when the first-frame fetch actually fails.
2026-03-07 21:16:13 +08:00
plebeius 4508f589dd chore(deps): migrate from pkc-react-hooks to bitsocial-react-hooks 2026-03-05 17:14:23 +08:00
plebeius e556a9e662 chore(deps): replace plebbit/plebbit-react-hooks with bitsocialhq/pkc-react-hooks
bitsocialhq/pkc-react-hooks is a fork of plebbit-react-hooks that we're maintaining temporarily as an attempt to modernize the original repository using AI tools, possibly merging changes back into plebbit-react-hooks, which should also be rebranded to pkc-react-hooks eventually, under the org pkcprotocol.
2026-02-28 15:02:56 +08:00
plebeius 549300f20d feat: show file/image labels instead of link when requirePostLinkIsMedia is truthy 2026-02-27 14:42:46 +08:00
plebeius 4bdee0362d perf(bundle): replace plebbit-js imports with local utility, split chunks, fix CLS and rerenders
Eliminate direct @plebbit/plebbit-js (8.7MB) imports from all UI components by replacing
Plebbit.getShortAddress() with a local get-short-address utility. Add Vite manual chunks for
plebbit-js, plebbit-react-hooks, and react-spring/use-gesture. Fix catalog CLS by matching
skeleton to wrapper dimensions. Lazy-load ChallengeModal and ReplyModal. Add failed-URL cache
to useFetchGifFirstFrame, optimize useHide selector, and memoize useFeed options in mod-queue.
2026-02-26 16:42:36 +08:00
plebeius 54cb3cc2ad fix catalog cards styling 2026-02-25 18:33:37 +08:00
plebeius 91667966f8 perf(feeds): defer useReplies, Virtuoso for all paths, CLS fixes, memo
Defer useReplies to hover-only in CatalogPost. Memo CatalogRow and Post. Remove useWindowWidth and autoUpdate from CatalogPost. Replace display:none with opacity for images. Add width/height to img tags in catalog-row and comment-media. Use Virtuoso for all rendering paths (infinite, finite, pagination). Optimize filteredComments with Set lookup. Add Vite manual chunks for markdown, virtuoso, floating-ui.
2026-02-23 18:51:42 +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 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 63ee8aa168 refactor: rebrand default subplebbits to 5chan directories 2026-01-28 16:51:27 +08:00
plebeius d71d518e27 fix(catalog-row): expand CatalogPost memo comparator to prevent stale renders 2026-01-03 16:13:59 +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 6e9202a604 implement useReplies 2025-12-27 17:47:17 +01:00
plebeius 4cb3bda38c fix: update Plebbit.getShortAddress calls to use object parameter 2025-12-24 13:29:09 +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 698df59f19 perf(components): memoize post menus with minimal props 2025-12-05 17:38:17 +01:00
plebeius d78fed1fda refactor(routing): migrate to directory-based board routing 2025-11-07 12:50:58 +01: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) 22b828b3e8 feat(catalog filters): add color highlighting of threads matching pattern 2025-03-07 17:43:09 +01:00
Tom (plebeius.eth) 9013cb02fe fix(catalog): embedded images that 404'd could overflow 2025-03-05 18:20:55 +01:00
Tom (plebeius.eth) 37e325c3d2 refactor replymodal to render it globally 2025-03-05 12:01:48 +01:00
Tom (plebeius.eth) 64f984d2d0 perf(catalog): each post in the feed was loading a comment needlessly 2025-03-04 23:40:16 +01:00
Tom (plebeius.eth) ffe42c35ea upgrade react to v19, migrate from CRA to Vite, add react compiler 2025-03-04 17:53:05 +01:00
Tom (plebeius.eth) 797a1f23c6 perf(feed): optimize posts rendering via props refactoring, memoizations 2025-03-03 23:47:33 +01:00
Tom (plebeius.eth) 20da674a1c update catalog 2024-12-24 18:10:16 +01:00
Tom (plebeius.eth) 309f76689f fix(feed): posts could change position causing displacement 2024-12-05 15:37:23 +01:00
Tom (plebeius.eth) 6692c65c4b add route validation checks 2024-10-29 17:40:09 +01:00
Tom (plebeius.eth) 08086012ff add subplebbit address to p/all catalog preview cards 2024-10-13 18:56:16 +02:00
Tom (plebeius.eth) 7e8eb83bf6 refactor thumbnail fetching, add caching 2024-10-13 12:58:29 +02:00
Tom (plebeius.eth) 3556a04280 feat(catalog post): add thumbnail fetching for sites with cors access 2024-10-12 18:10:47 +02:00
Tom (plebeius.eth) eb9c9c9547 fix eslint 2024-09-21 12:42:15 +02:00
Tom (plebeius.eth) 7742e1c9b0 fix(catalog): greentext and markdown styling shouldn't appear 2024-09-17 17:03:59 +02:00
Tom (plebeius.eth) 9191dd7cae fix catalog gifs 2024-09-04 17:29:48 +02:00
Tom (plebeius.eth) 48b55ed972 fix(catalog post preview): special characters were able to overflow 2024-07-27 17:41:09 +02:00
Tom (plebeius.eth) 7253e4d1a0 feat(post): add support for static GIFs 2024-07-20 16:25:20 +02:00
Tom (plebeius.eth) f2e4f14a33 feat(settings): add avatar setting 2024-07-12 20:22:09 +02:00
Tom (plebeius.eth) 9960e400e8 fix(catalog post): it was not possible to scroll past the floating post preview 2024-07-12 16:58:37 +02:00