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
Tommaso Casaburi
36bb1f726d
fix(media): classify mp4-formatted gif previews as video
2026-05-02 23:42:20 +07:00
Tommaso Casaburi
3de85520bd
fix(android upload): handle transient imgur errors
2026-05-01 22:54:05 +07:00
Tommaso Casaburi
9f388693eb
fix(media hosting): restore android imgur support
2026-05-01 22:52:56 +07:00
Tommaso Casaburi
7e1513b688
feat(media hosting): disable unreachable providers
2026-05-01 22:52:55 +07:00
Tommaso Casaburi
78e5d58d08
feat(media hosting): add imgbb provider
2026-05-01 22:52:54 +07:00
Tommaso Casaburi
bc213ecea2
fix(posting): clarify direct file links
2026-05-01 18:03:04 +07:00
Tommaso Casaburi
fdbb650baa
build(android): add fdroid distribution flavor
2026-04-30 18:58:50 +07:00
Tommaso Casaburi
28286f042b
feat(p2p): enable browser pkc mode
2026-04-29 23:43:03 +07:00
Tommaso Casaburi
fd26d6fd10
fix(catalog): preserve literal preview markers
2026-04-29 15:24:54 +07:00
Tommaso Casaburi
8ba1761d07
Merge branch 'codex/fix/mod-queue-post-order'
2026-04-27 15:13:38 +07:00
Tommaso Casaburi
463509e105
fix(replies): order approved queue replies
2026-04-27 15:12:52 +07:00
Tommaso Casaburi
b0b5d45376
fix(feed): measure expanded reply media height
2026-04-27 13:30:38 +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
be13311834
fix(post card): clarify full error copying
2026-04-22 13:44:55 +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
81b9b2e807
fix(mod queue): preserve moderated queue history
2026-04-19 15:02:36 +07:00
Tommaso Casaburi
f2ab25bd08
Merge branch 'codex/fix/mod-queue-approved-stuck'
...
# Conflicts:
# package.json
# yarn.lock
2026-04-19 13:46:29 +07:00
Tommaso Casaburi
8957f0439e
fix(mod queue): keep approved items from sticking
2026-04-19 13:45:24 +07:00
Tommaso Casaburi
70d8c37222
feat(multiboards): expand time filters in place
2026-04-18 16:47:04 +07:00