Commit Graph
100 Commits
Author SHA1 Message Date
Tommaso Casaburi eb23224d35 chore(deps): bump bitsocial-react-hooks to 0.1.13 2026-05-27 17:40:53 +07:00
Tommaso Casaburi 30dde0944d fix(rules): show friendly loading state string for board rules
Replace hardcoded loading text in BoardRulesDisplay with useStateString and LoadingEllipsis so rules loading matches other views like board downloads from peers.
2026-05-27 17:39:06 +07:00
Tommaso CasaburiandGitHub 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 45a113c621 chore(deps): upgrade react-doctor to 0.2.6
Remove obsolete packageExtensions for react-doctor@0.0.31.
2026-05-26 18:24:57 +07:00
Tommaso Casaburi bd40fe043c chore(deps): bump bitsocial-react-hooks to 0.1.12 2026-05-26 15:13:03 +07:00
Tommaso Casaburi a40b446f14 fix(p2p stats): show peer transfer counters 2026-05-25 15:18:04 +07:00
Tommaso Casaburi 680dd71285 fix(p2p-stats): center loading state and add animated ellipsis
Use LoadingEllipsis for the P2P stats loading message with centered layout and extra bottom spacing.
2026-05-25 14:11:57 +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 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 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 CasaburiandGitHub 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 d19ebf6459 Merge remote-tracking branch 'origin/master' 2026-05-24 18:18:24 +07:00
Tommaso CasaburiandGitHub 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 03222b033a Merge branch 'codex/feature/pending-approval-reason' 2026-05-24 17:06:16 +07:00
Tommaso Casaburi 348e3393c7 feat(post): show pending approval reason 2026-05-24 17:06:03 +07:00
Tommaso Casaburi a6a1320381 fix(feed): clarify loading states 2026-05-24 16:25:02 +07:00
Tommaso Casaburi 0df81b598e fix(board header): replace loading icon with spinner 2026-05-23 23:30:51 +07:00
Tommaso CasaburiandGitHub 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 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 739da79964 Merge branch 'codex/fix/hide-empty-advanced-settings-fields' 2026-05-23 17:23:23 +07:00
Tommaso Casaburi b849f7c376 fix(advanced settings): hide gateway fields in pure p2p mode and align inputs
When pure browser P2P is enabled, the IPFS gateway and pubsub provider
fields no longer apply, so hide them and toggle their visibility reactively
from the now-controlled pure P2P checkbox. Rename "Node RPC" to "Full node
WebSocket RPC", add a placeholder, and drop the old info toggle.

Give the WebSocket RPC text input the same content-box width, border, and
padding as the textareas above it so all field right edges align.
2026-05-23 17:23:05 +07:00
Tommaso Casaburi fb1dbb3917 Merge branch 'master' of github.com:bitsocialnet/5chan 2026-05-23 17:20:18 +07:00
Tommaso CasaburiandGitHub 22c1b4f123 feat(post options): support nonoko board redirects (#1137) 2026-05-23 16:54:38 +07:00
Tommaso Casaburi f4965ee678 Merge branch 'codex/fix/mod-queue-board-summary-dedupe' 2026-05-23 15:36:54 +07:00
Tommaso Casaburi d13f2240e3 fix(mod queue): dedupe board filters 2026-05-23 15:36:39 +07:00
Tommaso Casaburi ff732af9de fix(mod queue): keep empty state inside loaded table 2026-05-23 15:24:21 +07:00
Tommaso Casaburi cf96d3b1ae Merge branch 'codex/feature/pure-p2p-default-web' 2026-05-22 17:31:42 +07:00
Tommaso Casaburi ca13e97dd4 feat(p2p): enable pure browser p2p by default 2026-05-22 17:31:28 +07:00
Tommaso Casaburi 722b6e055a chore(deps): upgrade @pkcprotocol/pkc-js to 0.0.35 2026-05-22 17:28:17 +07:00
Tommaso Casaburi 99eb49cdc5 fix(edit menu): restore moderation reason field 2026-05-22 14:17:25 +07:00
Tommaso Casaburi b6ba1461f8 Merge branch 'codex/fix/bbcode-preview-mod-warning' 2026-05-22 00:44:43 +07:00
Tommaso Casaburi 275d8b0e69 fix(moderation): clarify moderator composer state 2026-05-22 00:44:14 +07:00
Tommaso Casaburi 693c8ad360 fix(theme): match tomorrow directory/archive table headers to 4chan
Use post-form title colors for thead cells and drop borders in Tomorrow theme.
2026-05-22 00:43:21 +07:00
Tommaso CasaburiandGitHub 4c011b3fdd fix(post form): align rules prompt test with bottom placement (#1136) 2026-05-22 00:03:52 +07:00
Tommaso Casaburi 75fb245bfb Merge branch 'master' of github.com:bitsocialnet/5chan 2026-05-21 22:33:51 +07:00
Tommaso CasaburiandGitHub 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 7d521b1e95 Merge branch 'codex/fix/post-form-rules-row-bottom' 2026-05-21 19:35:07 +07:00
Tommaso Casaburi cab81f0e6a Merge branch 'codex/fix/post-form-thread-button-align' 2026-05-21 19:35:06 +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 8cd3b65b19 fix(post form): center the collapsed start-new-thread toggle
Re-center the desktop start-new-thread toggle (matching the board
title) while keeping the expanded post form left-aligned with the
blotter.
2026-05-21 19:30:40 +07:00
Tommaso Casaburi 73503eadd0 Merge branch 'codex/chore/translate-post-form-rules-faq-prompt'
Localize post_form_rules_faq_prompt and nothing_found across all supported languages.
2026-05-21 19:05:45 +07:00
Tommaso Casaburi f85c11f66c chore(i18n): translate post form prompt and nothing found
Localize post_form_rules_faq_prompt and nothing_found across all supported languages.
2026-05-21 19:05:40 +07:00
Tommaso Casaburi 1fffe2c428 Merge branch 'codex/fix/post-form-blotter-align' 2026-05-21 19:04:39 +07:00
Tommaso Casaburi b347205136 fix(post form): align desktop post form to blotter left edge
Match the blotter's centered 468px column so the desktop post form
shares its left edge instead of being centered within its own width.
2026-05-21 19:03:47 +07:00
Tommaso Casaburi 7305e40870 feat(post form): add rules and FAQ prompt 2026-05-21 18:55:36 +07:00
Tommaso Casaburi 5fc27fda21 Merge branch 'codex/fix/verbose-board-loading-feed' 2026-05-21 18:02:06 +07:00
Tommaso Casaburi e426bf2ccc fix(board): clarify loading fallback 2026-05-21 18:01:44 +07:00
Tommaso Casaburi bddbb82a58 Merge branch 'codex/fix/board-footer-subscriptions-empty-style' 2026-05-21 18:00:05 +07:00
Tommaso Casaburi 77e46500e2 fix(board): match subscriptions empty state to catalog search styling
Use the same centered red status treatment as catalog "Nothing Found"
instead of a plain red span in the subscriptions footer.
2026-05-21 18:00:01 +07:00
Tommaso Casaburi df0936a4f9 fix(ui): hardcode /all/ and /mod/ multiboard titles
Use fixed labels in the board header and mobile board selector instead of
directories metadata or translated mod copy.
2026-05-21 17:59:52 +07:00
Tommaso Casaburi 67ddaee673 docs(blotter): keep release highlights user-facing 2026-05-21 17:50:00 +07:00
Tommaso Casaburi f22c53ec1c Merge branch 'codex/fix/pending-account-comment-not-found' 2026-05-21 17:39:57 +07:00
Tommaso Casaburi e0a42e7899 fix(pending-post): preserve sparse retry routes 2026-05-21 17:39:35 +07:00
Tommaso Casaburi 56c4fdf3c1 fix(mod multiboard): show account import empty state 2026-05-21 17:37:18 +07:00
Tommaso Casaburi a31c3b44d3 fix(board): warn on unverified addresses 2026-05-21 17:33:14 +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 0fe18a5646 Merge branch 'codex/fix/direct-board-community-loading' 2026-05-21 15:27:24 +07:00
Tommaso Casaburi 35ffbd257b fix(directory): load direct board routes 2026-05-21 15:27:06 +07:00
Tommaso Casaburi 7fcea5d370 fix(deps): bump resolutions for Dependabot security alerts
Pin protobufjs, ws, @libp2p/kad-dht, and brace-expansion@5 to patched versions.
2026-05-21 15:24:14 +07:00
Tommaso Casaburi 616fea39fb fix(directory): use resolved board for directory feeds 2026-05-21 00:05:29 +07:00
Tommaso CasaburiandGitHub 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 c8edc92983 fix(settings): clarify pure p2p gateway copy 2026-05-20 19:40:51 +07:00
Tommaso Casaburi 90394b5617 chore: bump bitsocial react hooks to 0.1.11 2026-05-20 18:22:30 +07:00
Tommaso Casaburi 0258384a7d Merge branch 'codex/chore/llm-knowledge-policy' 2026-05-20 14:49:40 +07:00
Tommaso Casaburi d6d01c0571 docs(agents): add generated LLM context workflow 2026-05-20 14:48:34 +07:00
Tommaso Casaburi ca6e843a89 fix(mod queue): rename queue dismissal action 2026-05-20 14:48:07 +07:00
Tommaso CasaburiandGitHub 6a7df90129 fix(home): use directory fallbacks for stats (#1133) 2026-05-20 00:33:55 +07:00
Tommaso Casaburi d21f91a171 fix(directory): restore table header styling 2026-05-20 00:03:19 +07:00
Tommaso CasaburiandGitHub 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 4370e89174 merge: mod bbcode editor 2026-05-19 15:45:36 +07:00
Tommaso Casaburi d2d047e5de feat(posts): add mod bbcode editor 2026-05-19 15:45:22 +07:00
Tommaso Casaburi 696b7a1b96 Merge branch 'codex/fix/catalog-search-empty-state' 2026-05-19 15:38:52 +07:00
Tommaso Casaburi 62cff4e207 fix(catalog): improve empty search state and footer layout
Show centered Nothing Found for catalog searches with no matches, mirror
search results labels at the bottom footer, split nav from the style row,
and drop the desktop catalog footer top margin.
2026-05-19 15:38:44 +07:00
Tommaso Casaburi 7ba8985a02 perf(dev startup): skip remote release tag lookup 2026-05-19 15:09:46 +07:00
Tommaso Casaburi fb9133e055 Merge branch 'cursor/8e13a949'
Inline crypto address validation on check instead of window.alert.
2026-05-19 15:05:47 +07:00
Tommaso Casaburi 1a57ec44b1 fix(settings): show crypto address validation inline instead of alert
Replace window.alert on empty check with a transient status message
next to the check button, matching existing resolution feedback.
2026-05-19 15:05:41 +07:00
Tommaso Casaburi f439c7022e Update 5chan-directories.json 2026-05-19 14:57:54 +07:00
Tommaso Casaburi b549789a23 chore(cursor agents): use composer-2.5-fast model 2026-05-19 13:20:25 +07:00
Tommaso Casaburi 3e4737fe97 fix(archive): fix layout 2026-05-18 23:49:58 +07:00
Tommaso Casaburi f39ad096b7 fix(app): preserve post form drafts in settings 2026-05-18 16:07:40 +07:00
Tommaso Casaburi c3d53202a3 fix(home): keep stats loading until directories resolve 2026-05-17 17:49:45 +07:00
Tommaso CasaburiandGitHub 95f3faf31a fix(post-form): clear stale draft state on form remount (#1131) 2026-05-17 17:15:31 +07:00
Tommaso Casaburi e58a10149f fix(home): route support link to pass page 2026-05-17 16:46:27 +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 70cf337895 fix(thread): pass board identity to comments 2026-05-16 13:44:44 +07:00
Tommaso Casaburi 3545fb8845 Merge branch 'codex/fix/close-challenge-done-label' 2026-05-16 00:53:52 +07:00
Tommaso Casaburi 5cfcd8ba04 fix(challenge modal): rename iframe completion button 2026-05-16 00:53:41 +07:00
Tommaso Casaburi 30f395c1c8 fix(reply modal): wrap search status text 2026-05-16 00:53:12 +07:00
Tommaso Casaburi 714a47a32b chore(release): v0.8.5 2026-05-15 18:51:20 +07:00
Tommaso Casaburi 3a5e5e58e4 Merge branch 'master' of github.com:bitsocialnet/5chan 2026-05-15 18:40:31 +07:00
Tommaso Casaburi 00d972b26d chore(deps): bump bitsocial packages 2026-05-15 18:38:29 +07:00
Tommaso CasaburiandGitHub a6f6e42bd7 fix(mod queue): stop resurfacing stale pending history (#1130) 2026-05-15 18:35:41 +07:00
Tommaso Casaburi c9c5fac73f Merge branch 'codex/fix/apple-touch-search-icons' 2026-05-15 17:59:47 +07:00