Tommaso Casaburi
0f6d74592e
fix(flags): label Tor country flag
2026-06-04 17:18:35 +07:00
Tommaso Casaburi and GitHub
608402b5c8
fix(board): prevent transient no threads state ( #1151 )
...
* fix(board): prevent transient no threads state
* fix(board): scope raw thread fallback by sort
* fix(board): keep flash table loading during feed sync
2026-06-04 13:43:52 +07:00
Tommaso Casaburi and GitHub
d09d2d05d1
fix(fortune): scope s5s fortune markup ( #1150 )
...
* fix(markdown): scope fortune markup to fortune boards
* fix(fortune): store fortune output as bbcode
* fix(fortune): keep legacy fortune rendering
* fix(tests): resolve catalog button mock merge
* fix(fortune): validate hidden fortune length
2026-06-03 13:49:35 +07:00
Tommaso Casaburi
0a601c9392
fix(post-form): auto-convert YouTube links to thumbnail URLs
...
Add a countdown notice and shared hook to replace YouTube watch links
with img.youtube.com thumbnails in post and reply forms, with i18n copy.
2026-06-02 14:59:14 +07:00
Tommaso Casaburi
75c805c822
fix(post options): link sage warning to FAQ
2026-06-02 12:16:22 +07:00
Tommaso Casaburi
342a8f53a7
Merge branch 'master' of github.com:bitsocialnet/5chan
2026-06-01 13:01:42 +07:00
Tommaso Casaburi and GitHub
829b672053
fix(embed): restore youtube thumbnails and file-row labels ( #1148 )
...
* fix(comment-content): render reason text as comment content
* fix(post-form): use native browser styling for flash tag select
Exclude the flash tag dropdown from themed post-form select styling so it
renders with the browser's default select appearance, matching the flag selector.
* fix(p2p-stats): show peer flags for DNS6 relay hostnames
Extract embedded IPv6 addresses from dns6 multiaddrs so geo lookup and country flags work for relay peers that publish IPv6 via DNS hostnames.
* fix(flags): hide geolocation-only selectors on /int/ and /sp/
Country-only boards auto-publish geographic location flags without
showing a flag dropdown, matching existing /bant/ behavior.
* fix(embed): restore youtube thumbnails and file-row labels
Restore thumbnail-first previews for YouTube embeds in post media and markdown hover.
Desktop posts show File with the thumbnail image URL and a youtube video type label.
* fix(embed): address youtube thumbnail review feedback
Translate the youtube video label, handle mobile/music YouTube hosts as standard YouTube URLs, keep affected mocks current, and cap default Vitest workers to reduce local CPU spikes.
2026-06-01 12:57:17 +07:00
Tommaso Casaburi
b9ab1ba470
merge: show specific role in moderation posting warning
2026-06-01 12:48:47 +07:00
Tommaso Casaburi
812b6bc79c
fix(post): show specific role in moderation posting warning
...
Replace the generic "posting as moderator" label with the effective role
(5chan dev, owner, admin, or moderator) in post and reply forms.
2026-06-01 12:48:42 +07:00
Tommaso Casaburi
d038e7b2f8
merge: sync codex/fix/flash-no-catalog with master
2026-06-01 12:42:45 +07:00
Tommaso Casaburi
b686def1a1
fix(board-buttons): hide catalog controls on flash upload boards
...
Flash boards do not use catalog view, so hide catalog links and OP search
without leaving empty bracket placeholders in desktop board controls.
2026-06-01 12:42:21 +07:00
Tommaso Casaburi
1bd8d6dc34
fix(flags): hide geolocation-only selectors on /int/ and /sp/
...
Country-only boards auto-publish geographic location flags without
showing a flag dropdown, matching existing /bant/ behavior.
2026-06-01 10:57:13 +07:00
Tommaso Casaburi
3480dc0505
fix(p2p-stats): show peer flags for DNS6 relay hostnames
...
Extract embedded IPv6 addresses from dns6 multiaddrs so geo lookup and country flags work for relay peers that publish IPv6 via DNS hostnames.
2026-05-31 18:02:20 +07:00
Tommaso Casaburi and GitHub
b442e05191
feat(rules page): rebuild directory rules page with vendored lists ( #1147 )
...
* feat(rules page): rebuild directory rules page with vendored lists
Mirror per-directory JSON from lists into src/data/5chan-directories, rework /rules layout to match 4chan (sidebar nav, category boxes, P2P load), and keep spoiler markup visible in rule text via parseSpoilers.
* fix(rules): keep directory defaults cache atomic
* fix(rules): derive defaults from shared directory refresh
* fix(rules): address directory refresh edge cases
2026-05-31 11:39:40 +07:00
Tommaso Casaburi and GitHub
e4638ac8c7
fix(media): embed additional direct image formats ( #1146 )
2026-05-30 23:45:21 +07:00
Tommaso Casaburi and GitHub
9b3a95dd95
feat(flash board): add SWF posting support ( #1145 )
2026-05-30 16:07:41 +07:00
Tommaso Casaburi and GitHub
56894700c1
feat(oekaki): add drawing flow for /i/ ( #1144 )
...
* feat(oekaki): add drawing flow for /i/
* fix(oekaki): address review feedback
* fix(oekaki): reset Tegaki edit sessions
* fix(oekaki): block drawing during export
* fix(oekaki): destroy Tegaki on preload errors
* fix(oekaki): preserve drawing on export failure
* fix(oekaki): unlock controls after export failure
2026-05-30 15:06:47 +07:00
Tommaso Casaburi
0469f61a45
feat(theme): add halloween special theme
2026-05-29 17:45:18 +07:00
Tommaso Casaburi
c220c62b82
fix(i18n): disable i18next Locize support notice
...
Suppress the runtime Locize promo console message during i18next initialization.
2026-05-27 17:43:01 +07:00
Tommaso Casaburi and GitHub
029939089f
fix(flags): align board flag rendering ( #1142 )
...
* fix(flags): align board flag rendering
* ci: run react doctor on changed pr files
2026-05-27 16:06:13 +07:00
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
639c627a04
fix(p2p stats): prefer browser IPv4 for own endpoint
2026-05-24 23:18:42 +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
31329f7856
Merge branch 'codex/fix/option-board-support-alert'
2026-05-24 19:17:55 +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 and GitHub
804c14fc35
Improve P2P stats peer locations and Kubo display ( #1139 )
...
* feat(p2p stats): plot peers by ip location
* fix(p2p stats): show own node map marker
* feat(p2p stats): support full node peers
* fix(p2p stats): clean up kubo stats
* fix(p2p stats): address review feedback
2026-05-24 17:32:05 +07:00
Tommaso Casaburi and GitHub
f5039285a7
fix(p2p stats): improve own-IP geolocation and world map accuracy ( #1138 )
...
* fix(p2p stats): improve own-IP geolocation and world map accuracy
Resolve the user's public endpoint when libp2p only advertises private listen addresses, look up an accurate country flag for "Your IP", snap peer markers to country centroids, and add leeching seeder link plus panel layout tweaks.
* fix(p2p stats): skip caching own-IP lookups cancelled by abort
When the P2P stats panel unmounts mid-request, its AbortSignal cancels
the in-flight fetchOwnPublicEndpoint / fetchOwnIpCountryCode calls. Those
empty results were still cached for 30-60s, so reopening the panel within
that window showed "Your IP" as unavailable or without a country flag even
though nothing had actually failed. Skip caching when the signal aborted so
a later open retries. Addresses Cursor Bugbot finding.
2026-05-23 22:47:41 +07:00
Tommaso Casaburi
9c4bb28940
Merge branch 'codex/feature/prettier-peer-list'
2026-05-23 18:34:05 +07:00
Tommaso Casaburi
782a1f466f
feat(p2p stats): redesign connected peers with world map and country flags
...
Restyle the connected-peers list in the classic square, flat imageboard style,
move it to the end of the panel, and open it by default. Add an offline
approximate world map and per-peer country flags (sprite order taken from the
original 4chan flags.css), plus codify the old-school design rules in DESIGN.md
and point agents to them from AGENTS.md.
2026-05-23 18:33:00 +07:00
Tommaso Casaburi
fb1dbb3917
Merge branch 'master' of github.com:bitsocialnet/5chan
2026-05-23 17:20:18 +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
d13f2240e3
fix(mod queue): dedupe board filters
2026-05-23 15:36:39 +07:00
Tommaso Casaburi
ca13e97dd4
feat(p2p): enable pure browser p2p by default
2026-05-22 17:31:28 +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
35ffbd257b
fix(directory): load direct board routes
2026-05-21 15:27:06 +07:00
Tommaso Casaburi and GitHub
536d9ac0b8
fix(directory): load per-directory list files ( #1134 )
...
Merge board directories from the new bitsocialnet/lists per-directory layout on the client side.
Update vendored fallback data, sync tooling, directory references, and tests.
Treat failed board stat fetches as complete on the home page so stats do not stay loading forever.
2026-05-20 23:31:58 +07:00
Tommaso Casaburi and GitHub
cda1f7519f
Add board directory view ( #1132 )
...
* feat(directory): add board directory view
* fix(directory): populate board status
* style(directory): tighten board table
* docs(board manager): point board owners to manager
* fix(directory): show loading status
* style(directory): center board column in directory table
* perf(directory): cap board status checks
* style(directory): simplify board row links
* test(ci): stabilize coverage run
* test(ci): stabilize coverage harness
* test(ci): avoid async app flush act
* test(app): narrow layout harness coverage
* test(ci): stabilize app update distribution mock
* test(ci): preload app harness before route tests
* fix(directory): address final review findings
2026-05-19 23:34:33 +07:00
Tommaso Casaburi
a86c523d17
fix(post form): block temporary media links
2026-05-16 16:11:22 +07:00
Tommaso Casaburi
3a5e5e58e4
Merge branch 'master' of github.com:bitsocialnet/5chan
2026-05-15 18:40:31 +07:00
Tommaso Casaburi and GitHub
a6f6e42bd7
fix(mod queue): stop resurfacing stale pending history ( #1130 )
2026-05-15 18:35:41 +07:00
Tommaso Casaburi
69008dfd81
fix(favicon): add touch and search icons
2026-05-15 17:59:32 +07:00
Tommaso Casaburi
8217bad735
fix(catalog): hide threads across board catalogs
2026-05-14 16:59:55 +07:00
Tommaso Casaburi
a4e058c6ac
fix(mod queue): keep error details out of visible text
2026-05-13 17:54:58 +07:00
Tommaso Casaburi
9f6c073264
feat(author badges): add 5chan developer badges
2026-05-13 17:29:33 +07:00
Tommaso Casaburi
a97b891c5f
fix(p2p): force browser mode on p2p subdomains
2026-05-11 17:18:16 +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
0c0fd0b018
Merge branch 'codex/feature/p2p-stats-settings'
...
# Conflicts:
# package.json
# 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
# src/components/settings-modal/__tests__/settings-modal.test.tsx
# src/components/settings-modal/settings-modal.tsx
# yarn.lock
2026-05-07 16:59:44 +07:00
Tommaso Casaburi
14a4790c8b
feat(p2p settings): add browser p2p stats
2026-05-07 16:56:29 +07:00
Tommaso Casaburi and GitHub
aaa0d88d6a
fix: remove Android self-install updater ( #1125 )
...
* fix: remove Android self-install updater
* fix: open Android updates in native browser
2026-05-06 17:56:00 +07:00