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 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 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
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
ca13e97dd4
feat(p2p): enable pure browser p2p by default
2026-05-22 17:31:28 +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
69008dfd81
fix(favicon): add touch and search icons
2026-05-15 17:59:32 +07:00
Tommaso Casaburi
a97b891c5f
fix(p2p): force browser mode on p2p subdomains
2026-05-11 17:18:16 +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
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
ee7a5b5778
refactor(core): remove legacy plebbit terminology
2026-04-17 10:48:27 +07:00
Tommaso Casaburi
0b844e6060
fix(favicon): harden sfw board icon swapping
2026-03-24 16:03:31 +07:00
Tommaso Casaburi
85e81aae2e
fix(release): normalize asset names
2026-03-21 12:41:32 +08:00
Tommaso Casaburi and GitHub
5ecf8fbea8
feat: add in-app update flow and native e2e verification ( #1112 )
...
* feat(app-update): add in-app update flow with native e2e coverage
* docs(ai-workflow): infer closed-issue labels automatically
* fix(app-update): address native updater review findings
* fix(android): validate updater redirect hosts
* fix(electron): harden updater file names
2026-03-20 13:31:52 +08:00
Tommaso Casaburi
a2286aa68e
feat(app-update): add in-app update flow with native e2e coverage
2026-03-19 20:19:48 +08:00
plebeius
9c79bf2198
fix(i18n): default interface language to english
2026-03-08 21:09:22 +08:00
plebeius
76eb4b537e
test: expand honest whole-repo coverage
...
Adds broad coverage across stores, hooks, and runtime utilities while switching `vitest.config.ts` to an explicit whole-repo include list. This turns the coverage report into a real repo-wide baseline instead of an imported-file subset.
2026-03-08 13:59:38 +08:00
plebeius
725da9c33e
Create get-short-address.test.ts
2026-03-08 13:09:06 +08:00