Commit Graph
3027 Commits
Author SHA1 Message Date
plebeiusandCursor 87f6a0bf89 fix: open portless URL instead of raw IP when dev server starts
Vite was auto-opening http://127.0.0.1:<port> which bypasses the portless proxy. Now opens http://5chan.localhost:1355 when portless is active, falls back to default behavior with PORTLESS=0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 14:33:45 +08:00
plebeiusandCursor 7064c8b6fd feat: use portless for stable dev server URL
Dev server now runs at http://5chan.localhost:1355 via portless reverse proxy instead of a random port. Updates electron dev URLs and wait-on targets to match. Contributors can bypass with PORTLESS=0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 14:29:31 +08:00
plebeius 90bd016314 docs: add surprise-handling workflow and known-surprises playbook 2026-02-24 14:01:18 +08:00
Tommaso CasaburiandGitHub 3f63a656ad Merge pull request #956 from bitsocialhq/master
Development
2026-02-23 21:15:20 +08:00
plebeius cc0e5bb02d Update AGENTS.md 2026-02-23 21:14:55 +08:00
Tommaso CasaburiandGitHub d7b07eab9f Merge pull request #955 from bitsocialhq/development
Development
2026-02-23 20:57:22 +08:00
plebeius 925297bc3a refactor footer 2026-02-23 20:50:30 +08:00
plebeius e06d367468 docs: split AGENTS.md into core policy and on-demand playbooks
2602.12670 and 2602.11988 findings favoring curated, minimal, modular guidance over comprehensive always-on context
2026-02-23 20:39:58 +08:00
plebeius 849ff18a8b fix(board): add computeItemKey to Virtuoso to prevent media flash on page change
Without `computeItemKey`, Virtuoso uses index-based keys so React reuses DOM nodes across pages, causing `<img>` elements to briefly flash old media before loading new sources.
2026-02-23 20:24:37 +08:00
plebeius 0ea7356523 refactor(feed): remove "Newer threads available" banner
Removed the newer threads banner and refresh button from catalog and board
footers. Deleted newer_threads_available translation key from all languages.
2026-02-23 19:46:30 +08:00
plebeius 609436a0fb fix(post): use feed cache fallback for instant post content on catalog navigation 2026-02-23 19:43:49 +08:00
plebeius f82ebcce82 Update app.tsx 2026-02-23 19:37:13 +08:00
plebeius bb027794ee fix(reply modal): keep textarea empty when opened from Post a Reply footer button 2026-02-23 19:33:59 +08:00
plebeius 0fbb3bef38 Update comment-media.tsx 2026-02-23 19:29:50 +08:00
plebeius f86906ae15 fix(post): add modQueueError, isPublishing, onApprove, onReject to memo comparator 2026-02-23 19:01:19 +08:00
plebeius 8f8c6254cc perf(catalog): memoize handleNewerPostsButtonClick with useCallback 2026-02-23 19:01:15 +08:00
plebeius f9325b907c fix(a11y): add translated aria-label for pagination, aria-label for close button 2026-02-23 19:00:54 +08:00
plebeius 3eb97e623f fix(android): log reject failures, handle trailing slashes in path, remove unused attr param 2026-02-23 19:00:50 +08:00
plebeius e32cacca4e chore: update translations 2026-02-23 19:00:14 +08:00
plebeius 6c1f535efe fix(components): fix colSpan, hook usage, special theme reset, unused imports, CSS color 2026-02-23 18:57:55 +08:00
plebeius 239f3be199 fix(routing): enforce numeric page param for board feed 2026-02-23 18:57:51 +08:00
plebeius 15c2385ece fix(blotter): validate message before formatReleaseMessage in release mode 2026-02-23 18:57:47 +08:00
plebeius 56cce10992 fix(i18n): use consistent Filipino translation for blotter keys 2026-02-23 18:57:43 +08:00
plebeius 5f22ff1073 fix(android): sanitize filename in FileUtils to prevent path traversal 2026-02-23 18:57:26 +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 34fdae1e97 perf(app): enable FeedCacheContainer always, lazy-load modals
FeedCacheContainer now always renders since Virtuoso is used for all feed modes (infinite scroll and pagination). Feed routes are always rendered by FeedCacheContainer; route elements are null. Outlet only renders for thread, pending, and modqueue routes. Removed clearFeeds effect. Modals lazy-loaded with Suspense fallback=null for bundle splitting.
2026-02-23 18:51:36 +08:00
plebeius 24d7b3e057 feat(catalog): add reply-count sorting mode 2026-02-23 17:09:26 +08:00
plebeius 7eac1d8dff chore: improve translations 2026-02-23 16:58:37 +08:00
plebeius 999171da48 chore: add translations 2026-02-23 16:56:10 +08:00
plebeius 4433834c1c refactor(ui): rename topbar to boardsbar and add desktop footer for board, thread, and catalog 2026-02-23 16:47:51 +08:00
plebeius a7721fc252 chore: improve translations 2026-02-23 16:46:37 +08:00
plebeius dfc5d5b47a chore: update translations 2026-02-23 16:29:32 +08:00
plebeius 6362c9db52 Merge branch 'development' of github.com:plebbit/plebchan into development 2026-02-23 16:29:23 +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
plebeius 6ed7d74928 fix link 2026-02-23 14:16:36 +08:00
plebeius 0cb7b1a970 feat(blotter): replace board stats with changelog-backed blotter
Add static blotter snapshot, route /blotter, compact board blotter (Hide/Show All).
Include yarn blotter tooling and AGENTS rules so every changelog version has a
release line. 4chan-style table UI, subplebbit→board and plebchan→5chan in messages.
2026-02-22 19:37:49 +08:00
plebeius a13c72f888 perf: defer board reply fetching and remove nested mobile backlink fetch
Split useReplies in post-desktop.tsx and post-mobile.tsx into preview/full modes so board cards avoid full REPLIES_PER_PAGE fetches by default. Added replies-preview-utils.ts and switched mobile backlinks to use precomputed directRepliesByParentCid map instead of per-reply useReplies.
2026-02-22 16:53:01 +08:00
plebeius bdfee1b12d fix(android): guard against NPEs in FileUtils and FileUploaderPlugin 2026-02-22 16:11:34 +08:00
plebeius 4647e6a090 Update board-pagination.tsx 2026-02-22 16:07:46 +08:00
plebeius 874ebe6b80 chore: improve translations 2026-02-22 16:07:22 +08:00
plebeius 8e6d81ba59 refactor(multiboards): remove time filter system end-to-end
Backend retention now keeps only recent posts, making the time filter UI
and newerThan filtering obsolete. Deleted use-time-filter hook, canonical
multiboard routes only, removed footer suggestions, dropped i18n keys.
2026-02-22 15:57:42 +08:00
plebeius f521bdbe33 fix(posts): Board link in multiboard views (/all/, /subs/, /mod/) 2026-02-22 15:02:31 +08:00
plebeius 71fdbef1ea fix(feeds): force infinite scroll on multiboards and canonicalize page URLs 2026-02-22 14:24:45 +08:00
plebeius 445b271982 feat(board-buttons): add Bottom button when infinite scroll is disabled 2026-02-21 20:31:17 +08:00
plebeius a055117d19 chore: update translations 2026-02-21 20:28:35 +08:00
plebeius 035ffd6414 Update board.tsx 2026-02-21 19:47:58 +08:00
plebeius 1067ff39e8 fix(catalog): align pagination and postsPerPage with board view
Use useBoardFeedPageSize and useDirectoryByAddress so catalog respects
directory postsPerPage, caps feed to guiPostsPerPage * 10 in non-infinite
mode, and conditionally renders Virtuoso based on enableInfiniteScroll.
2026-02-21 13:14:50 +08:00
plebeius 082076ba83 refactor(feed): gate feed cache to infinite scroll mode 2026-02-21 12:14:10 +08:00
plebeius eee1df749b chore(deps): upgrade react-doctor 2026-02-21 11:02:05 +08:00
plebeius 60d2f6804d feat(board): default pagination with optional infinite scroll and URL-based page routing 2026-02-20 20:16:11 +08:00