Tommaso Casaburi
633542a1f7
fix(flags): move reply flag below link and auto-geo on /bant/
...
Hide the flag selector on /bant/ while still publishing geographic location, and place the reply modal flag field after the link field.
2026-05-24 23:38:15 +07:00
Tommaso Casaburi
2030b8c5bb
fix(ui): use native browser styling for flag select
...
Match 4chan's unstyled flag dropdown by excluding it from themed form select rules.
2026-05-24 23:30:59 +07:00
Tommaso Casaburi
271cb14ae6
Merge branch 'master' of github.com:bitsocialnet/5chan
...
# Conflicts:
# public/translations/ar/default.json
# public/translations/bn/default.json
# public/translations/cs/default.json
# public/translations/da/default.json
# public/translations/de/default.json
# public/translations/el/default.json
# public/translations/en/default.json
# public/translations/es/default.json
# public/translations/fa/default.json
# public/translations/fi/default.json
# public/translations/fil/default.json
# public/translations/fr/default.json
# public/translations/he/default.json
# public/translations/hi/default.json
# public/translations/hu/default.json
# public/translations/id/default.json
# public/translations/it/default.json
# public/translations/ja/default.json
# public/translations/ko/default.json
# public/translations/mr/default.json
# public/translations/nl/default.json
# public/translations/no/default.json
# public/translations/pl/default.json
# public/translations/pt/default.json
# public/translations/ro/default.json
# public/translations/ru/default.json
# public/translations/sq/default.json
# public/translations/sv/default.json
# public/translations/te/default.json
# public/translations/th/default.json
# public/translations/tr/default.json
# public/translations/uk/default.json
# public/translations/ur/default.json
# public/translations/vi/default.json
# public/translations/zh/default.json
2026-05-24 23:18:28 +07:00
Tommaso Casaburi and GitHub
f74b33f43b
feat(flags): add comment flags ( #1140 )
...
* feat(flags): add comment flags
* fix(flags): address review feedback
* fix(flags): clear stale flag publish data
2026-05-24 23:14:36 +07:00
Tommaso Casaburi
5fad3c73ba
fix(post): link board-specific option errors to supported boards
...
When fortune or dice options are used on the wrong board, show which
boards support them with clickable links in the post form and reply modal.
2026-05-24 19:17:50 +07:00
Tommaso Casaburi
1a09c7e891
Merge branch 'codex/fix/pending-escape-board-redirect'
...
# Conflicts:
# src/components/post-form/post-form.tsx
2026-05-23 17:26:47 +07:00
Tommaso Casaburi
e95dcb8af5
fix(pending-post): return to board after abandoned challenge
2026-05-23 17:24:22 +07:00
Tommaso Casaburi and GitHub
22c1b4f123
feat(post options): support nonoko board redirects ( #1137 )
2026-05-23 16:54:38 +07:00
Tommaso Casaburi
275d8b0e69
fix(moderation): clarify moderator composer state
2026-05-22 00:44:14 +07:00
Tommaso Casaburi
75fb245bfb
Merge branch 'master' of github.com:bitsocialnet/5chan
2026-05-21 22:33:51 +07:00
Tommaso Casaburi and GitHub
ff6b4cd201
feat(posting): add scoped options and qst formatting ( #1135 )
...
* feat(posting): add scoped options and qst formatting
* fix(posting): address post options review feedback
* fix(posting): sync option content before publish
* fix(posting): handle final review nits
2026-05-21 22:12:41 +07:00
Tommaso Casaburi
4efa668fec
fix(post form): move rules and FAQ prompt to bottom of form
...
Render the rules/FAQ prompt after the last field instead of between
the file and options rows so it always sits at the bottom.
2026-05-21 19:34:50 +07:00
Tommaso Casaburi
7305e40870
feat(post form): add rules and FAQ prompt
2026-05-21 18:55:36 +07:00
Tommaso Casaburi
75d90c8264
fix(post-form): shorten long uploaded file labels in the form
...
Telegraph and other hosts can produce very long filenames that overflow the
narrow post form upload row; truncate them more aggressively than post media
links and expose the full name via title tooltip.
2026-05-21 15:34:21 +07:00
Tommaso Casaburi
d2d047e5de
feat(posts): add mod bbcode editor
2026-05-19 15:45:22 +07:00
Tommaso Casaburi and GitHub
95f3faf31a
fix(post-form): clear stale draft state on form remount ( #1131 )
2026-05-17 17:15:31 +07:00
Tommaso Casaburi
4acd4449ea
fix(post form): show validation errors inline
2026-05-16 16:30:32 +07:00
Tommaso Casaburi
a86c523d17
fix(post form): block temporary media links
2026-05-16 16:11:22 +07:00
Tommaso Casaburi and GitHub
556973a445
Improve React Doctor score and badge ( #1127 )
...
* fix(react doctor): improve quality score and badge
* fix(react doctor): address review feedback
* fix(review): address final bot feedback
2026-05-10 18:25:13 +07:00
Tommaso Casaburi
70791fa80a
fix(upload): animate uploading ellipsis
2026-05-01 22:54:05 +07:00
Tommaso Casaburi
bc213ecea2
fix(posting): clarify direct file links
2026-05-01 18:03:04 +07:00
Tommaso Casaburi and GitHub
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
fb19ee47c8
fix(publishing): normalize media links to https
2026-04-21 14:23:52 +07:00
Tommaso Casaburi
c046c542b6
chore(deps): use published bitsocial react hooks
2026-04-20 22:11:36 +07:00
Tommaso Casaburi
e366dac25c
fix(quotes): keep same-thread board previews local
2026-04-16 15:33:12 +07:00
Tommaso Casaburi
621235379c
fix(feed): support strict community refs and safer domain publishing
2026-04-15 12:51:21 +07:00
Tommaso Casaburi and GitHub
c2e8e169c2
fix(accounts): adapt 5chan to compact account history hooks ( #1118 )
...
* chore(cursor): use composer-2 for subagents
* fix(accounts): adapt 5chan to compact account history hooks
* fix(accounts): address 5chan account-history review findings
2026-03-20 21:25:57 +08:00
Tommaso Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
fe55e6f332
fix(quotes): resolve external quote links across boards ( #1064 )
2026-03-12 17:41:11 +08:00
plebeius
417482060d
refactor: org name changed from bitsocialhq to bitsocialnet
2026-03-09 17:01:35 +08:00
plebeius
723a2dee52
fix: share board offline state between post form and reply modal
2026-03-08 19:02:49 +08:00
plebeius
1fbf715aa9
test: cover board, catalog, and publish flows
...
Board browsing, catalog filtering, post publishing, and reply publishing had little or no honest whole-repo coverage, which let route-level regressions and duplicated form side effects slip through. This pass adds targeted tests for those user flows and fixes the duplicate `PostFormTable` mounting bug they exposed.
2026-03-08 14:29:47 +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
e80a73663f
feat(subscriptions): use useAccountSubplebbitAddresses for deduplicated addresses
...
Integrate bitsocial-react-hooks#16: replace raw useAccountsStore access with
useAccountSubplebbitAddresses so .eth/.bso aliases are deduplicated under .bso.
2026-03-07 16:50:24 +08:00
plebeius
4508f589dd
chore(deps): migrate from pkc-react-hooks to bitsocial-react-hooks
2026-03-05 17:14:23 +08:00
plebeius
7644d59599
perf(media): restrict gif frame extraction to gif media types
2026-03-04 16:04:49 +08:00
plebeius
e6afb041ae
refactor(markdown): replace react-markdown with custom imageboard-style text parser
2026-03-04 15:20:06 +08:00
plebeius
2bc2827f83
fix(post form): default link label to 'link to file' on /all/ and /subs/
2026-03-01 15:27:27 +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
4f342fed3f
refactor(post-form): remove obsolete missing-link filter confirmation
2026-02-26 18:26:10 +08:00
plebeius
9793f0ed60
feat(post-form): show 'Link To File' when requirePostLinkIsMedia is true
2026-02-26 18:17:54 +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
e51f5b968c
refactor(react-doctor): raise score from 79 to 90
2026-02-24 15:15:44 +08:00
plebeius
96a4aaec0e
feat(media-hosting): add multi-provider configurable upload with fallback
...
Add Random/Preferred/None modes, preferred provider selection, and provider-order fallback. Catbox/Imgur/PostImages on Android via WebView; Electron CDP automation for Imgur/PostImages. Hide upload controls on web runtime.
2026-02-18 18:51:02 +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
96f11b3e26
feat(settings): add media hosting settings and provider-based upload gating
2026-02-17 18:57:54 +08:00
plebeius
45a6ff0bab
feat(directories): implement features.noSpoilers and features.noSpoilerReplies for board-specific spoiler checkbox
2026-02-17 17:35:53 +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
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