Commit Graph
100 Commits
Author SHA1 Message Date
plebeius f5cf263481 fix(popular-threads): update memo comparator to include multisub entry titles 2026-01-03 16:04:37 +01:00
plebeius 4c4e1209aa fix(board): subscribe to transient state and error fields separately 2026-01-03 16:04:33 +01:00
plebeius 647139c0ec fix(hooks): use structural equality for roles comparison in useStableSubplebbit 2026-01-03 16:04:29 +01:00
plebeius 52fea3851e fix(p2p-options): correct Solana chainId from 1 to 101 2026-01-03 16:04:24 +01:00
plebeius db413baa1d fix(translations): move purge keys to end of EN locale file 2026-01-03 16:04:18 +01:00
plebeius ad161e6c61 Update .gitignore 2026-01-03 15:38:27 +01:00
plebeius b93890b3bc fix(deps): resolve dependabot security alerts via yarn resolutions 2026-01-03 13:03:00 +01:00
plebeius f3629a47c2 Update update-translations.js 2026-01-03 00:01:32 +01:00
plebeius 1abc8410cd feat(moderation): add purge action to edit menu 2026-01-02 17:06:25 +01:00
plebeius 3d676062af feat(p2p options): add http routers field 2026-01-02 16:48:21 +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 764b4258e6 refactor(settings): rebrand plebbit options to P2P options 2026-01-02 15:53:02 +01:00
plebeius dd3bdf24ab style(p2p options settings): adjust textarea heights and dynamic rows 2026-01-02 15:43:01 +01:00
plebeius 6724f91c79 fix(post): redirect to 404 when thread URL specifies wrong board 2025-12-31 20:14:51 +01:00
plebeius c984e56249 feat(url-utils): replace p/ syntax with >>> cross-board references 2025-12-31 17:59:33 +01:00
plebeius 341e72ad5b fix(error-display): add delay to prevent false positive error displays 2025-12-31 16:00:58 +01:00
plebeius 48f7fe6dc4 style(home): update 5chan description links 2025-12-31 15:45:04 +01:00
plebeius d725348d9e Update faq.tsx 2025-12-31 15:44:45 +01:00
plebeius 7486202d3c style(settings): rename "plebbit options" to "p2p options", and "plebbit account" to "bitsocial account" 2025-12-31 15:40:16 +01:00
plebeius fcd8838045 fix(markdown): embedded media in comment.content shouldn't be expandable and should be already expanded 2025-12-31 15:23:56 +01:00
plebeius b3c88e46e9 rebrand plebbit options to pkc options 2025-12-30 18:21:04 +01:00
plebeius 0d34b14185 fix postform position on mobile 2025-12-29 16:40:33 +01:00
plebeius eb3b02ae9e refactor(i18n): use shorter translation keys for all feed filter 2025-12-29 16:35:21 +01:00
plebeius 652385561b feat(all-feed): add NSFW/SFW filter 2025-12-29 16:18:59 +01:00
plebeius 790c341976 refactor(views): remove redundant DOM and CSS declarations 2025-12-29 15:59:32 +01:00
plebeius d46d7edffe perf: preload theme button and background images on app startup 2025-12-29 13:55:20 +01:00
plebeius d800ee9817 feat(rules): add rules page with board selector 2025-12-29 00:26:15 +01:00
plebeius 5aa1eaf13a fix(views): use directory codes in document titles and fix order 2025-12-28 23:13:25 +01:00
plebeius c0e6f5fe5c unused var 2025-12-28 22:18:57 +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 391e49a62e chore(deps): install react-grab 2025-12-27 17:41:19 +01:00
plebeius cee682ae52 run prettier 2025-12-27 16:35:51 +01:00
TomandGitHub baea8ca008 Merge pull request #834 from plebbit/master
Merge pull request #833 from plebbit/development
2025-12-26 17:35:47 +01:00
TomandGitHub 8597a42dd5 Merge pull request #833 from plebbit/development
Development
2025-12-26 17:35:07 +01:00
plebeius 0b573acf1d fix: resolve typescript errors in post menu components 2025-12-26 17:33:00 +01:00
plebeius 756bff4b04 chore: fix various lint warnings 2025-12-26 17:30:55 +01:00
plebeius c9c9a8a78d chore(deps): update vite-plugin-node-polyfills to 0.24.0 2025-12-26 17:14:31 +01:00
plebeius f29113bc8b chore(build): add tsgo for fast type checking 2025-12-26 17:08:57 +01:00
plebeius 9fd41f2f9f fix(lint): use correct oxlint rule names and enable react plugin in config 2025-12-26 17:03:26 +01:00
plebeius 10a266ceab perf: migrate from vite to rolldown-vite for faster builds 2025-12-26 17:02:37 +01:00
plebeius f896c7d96a fix(package.json): unpin dependencies, fix script conflict 2025-12-26 16:49:02 +01:00
plebeius 4dd81edd3f chore: replace eslint and prettier with oxlint and oxfmt
Migrate from ESLint/Prettier to oxlint/oxfmt for 50-100x faster linting and 35x faster formatting.
2025-12-26 16:41:03 +01:00
plebeius a57cc1e4e7 fix: update Plebbit.getShortCid calls to use object parameter format 2025-12-24 18:09: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 5d1219f31e chore(package.json): remove react-grab 2025-12-24 17:36:43 +01:00
plebeius 4cb3bda38c fix: update Plebbit.getShortAddress calls to use object parameter 2025-12-24 13:29:09 +01:00
plebeius 0f7b50b573 chore(package.json): upgrade plebbit-react-hooks 2025-12-24 13:23:49 +01:00
plebeius 507327b299 Create AGENTS.md 2025-12-24 13:06:09 +01:00
plebeius 150b23c537 create dev docs 2025-12-24 13:06:05 +01:00
plebeius 9214921dc9 chore(package.json): fix baseline-browser-mapping version number 2025-12-23 19:36:11 +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 3963c2cb8d update comment 2025-12-23 19:16:18 +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 13b0f10a23 chore(package.json): downgrade plebbit-react-hooks 2025-12-23 18:58:12 +01:00
plebeius 48a98ee567 chore(package.json): upgrade plebbit-react-hooks 2025-12-23 17:09:51 +01:00
plebeius 55dc396120 fix: resolve TypeScript overload error in CopyLinkButton 2025-12-18 17:57:43 +01:00
plebeius 92c801c154 update directory title 2025-12-17 13:12:02 +01:00
plebeius a68a8903d3 update description 2025-12-17 13:11:45 +01:00
plebeius 9c6c3d701d chore: update baseline-browser-mapping to fix outdated data warning 2025-12-16 17:42:58 +01:00
plebeius 80e7af81f3 refactor: remove hide gore boards and hide adult boards functionality 2025-12-15 17:04:26 +01:00
plebeius bb596bff0d feat(i18n): add translations for subscriptions subtitle
Replace hardcoded subscriptions subtitle string with i18next translation supporting pluralization across all 35 languages
2025-12-15 16:53:36 +01:00
TomandGitHub fd3c7b11ca Merge pull request #824 from plebbit/master
Merge pull request #823 from plebbit/development
2025-12-15 13:48:14 +01:00
TomandGitHub a01e6fb20a Merge pull request #823 from plebbit/development
Development
2025-12-15 13:47:43 +01:00
plebeius 36a01f7012 refactor: remove unused Avalanche RPC settings 2025-12-15 13:45:55 +01:00
plebeius ed83df6fb8 Merge branch 'development' of github.com:plebbit/plebchan into development 2025-12-14 17:55:20 +01:00
plebeius 0d488389a5 feat(footer): add feedback and contact links and update styling 2025-12-14 17:54:21 +01:00
TomandGitHub 48ecaf2b2b Merge pull request #820 from plebbit/master
Merge pull request #815 from plebbit/development
2025-12-14 16:55:17 +01:00
plebeius e14c755208 update loading string 2025-12-14 16:36:14 +01:00
plebeius 5f00be5b23 update homepage footer 2025-12-14 16:03:13 +01:00
plebeius ecb364003d update homepage intro text 2025-12-14 13:20:38 +01:00
plebeius 51d90668c7 add missing tokenId field to avatar settings 2025-12-12 22:38:08 +01:00
plebeius 970db2a409 chore: add vitest and jsdom dev dependencies 2025-12-12 22:20:58 +01:00
plebeius 186b895970 refactor: simplify disclaimer modal to focus on age verification 2025-12-12 13:05:41 +01:00
plebeius 141bc984e6 fix eslint 2025-12-12 12:39:30 +01:00
plebeius 078de21839 refactor(settings-modal): align avatar settings UI with crypto wallets
Refactor avatar settings to match crypto wallets UI structure and styling. Use flexbox layout for consistent spacing, align input widths, use ErrorDisplay component for errors, and add delete avatar functionality with translations.
2025-12-09 18:22:39 +01:00
plebeius dbf67f55b6 feat(crypto-wallets-setting): add CSS-based step numbering and reorganize delete button 2025-12-09 17:32:14 +01:00
plebeius 112abe1795 fix translation component 2025-12-09 17:12:01 +01:00
plebeius bd2561554f fix spacing and color 2025-12-09 17:11:51 +01:00
plebeius e2149ca02c feat(crypto wallets settings): add timestamp field 2025-12-09 17:05:01 +01:00
plebeius 0ef06ef323 chore: ignore generated asset manifest 2025-12-09 16:59:38 +01:00
plebeius 198b6135da fix: show cached feed time filter in UI 2025-12-08 23:52:13 +01:00
TomandGitHub b3bccdf203 Merge pull request #815 from plebbit/development
Development
2025-12-08 23:46:52 +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 c7d53bd9b5 fix: accept dynamic time filters in feed routes 2025-12-08 23:36:55 +01:00
plebeius 1a6ac4a2be fix: use stable time filter for virtuoso state key in cached feeds 2025-12-08 23:32:42 +01:00
plebeius 896ca4ad13 perf: implement LRU-cached persistent feed mounting to eliminate Virtuoso flash
Keep Board/Catalog feeds mounted outside React Router's control to prevent
Virtuoso from remounting when navigating to/from post pages. The feed is
hidden via CSS when viewing posts and shown again when returning, eliminating
the visible flash/displacement that occurred during scroll restoration.

- Add FeedCacheContainer to manage LRU cache of 2 feeds
- Modify Board/Catalog to accept cache props and visibility state
- Add route utilities for feed/post route detection
2025-12-08 22:40:16 +01:00
plebeius 6fe4116c6b chore(package.json): upgrade react-virtuoso 2025-12-08 16:02:26 +01:00
plebeius 9e13292ae3 fix: reset board scroll on link nav
Force scroll-to-top on link navigation while keeping POP restores, and scope Virtuoso keys per pathname to avoid cross-board scroll leakage.
2025-12-08 13:03:25 +01:00
plebeius 6f1fcafc2c fix(post-menu): await clipboard copy before closing menu 2025-12-06 16:46:29 +01:00
plebeius c1a66ca61e refactor(home): prevent layout shift in popular threads loading
Remove boards list loading state since default data is available synchronously. Add min-height to popular threads loading state to reserve space and prevent container resize. Left-align loading text in popular threads.
2025-12-06 16:39:22 +01:00
plebeius 1b22711776 fix(post-menu): add copy link and hide block board for /all description 2025-12-06 16:19:30 +01:00
plebeius a1de352da0 feat(post-menu): add copy content ID button 2025-12-06 15:47:32 +01:00
plebeius e84038f185 fix(post form): fix positioning and styling on mobile 2025-12-06 15:46:34 +01:00
plebeius 8f78a46e96 Update banner assets and manifest references 2025-12-06 15:45:41 +01:00