Commit Graph
369 Commits
Author SHA1 Message Date
Tommaso CasaburiandGitHub 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 CasaburiandGitHub e082c7b428 fix(react): address Doctor findings (#1143)
Accessibility/semantics pass aligned with React Doctor: role-based spans/divs become real buttons, role=status becomes <output>, modals use native <dialog>, author/peer flags render as <img>, and embed/challenge iframes are sandboxed. Includes review follow-ups: correct button chrome/centering/themed dialog colors and focus rings, the missing aria-label i18n keys (all languages), the Yandex image-search URL, clearer .bso setup steps, a keyboard-accessible image-search dropdown, and removal of the post-edit ('comment edited') display (mod edits unchanged).
2026-05-29 17:09:07 +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 348e3393c7 feat(post): show pending approval reason 2026-05-24 17:06:03 +07:00
Tommaso Casaburi 0df81b598e fix(board header): replace loading icon with spinner 2026-05-23 23:30:51 +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 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 7305e40870 feat(post form): add rules and FAQ prompt 2026-05-21 18:55:36 +07:00
Tommaso Casaburi 67ddaee673 docs(blotter): keep release highlights user-facing 2026-05-21 17:50:00 +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 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 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 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 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 a86c523d17 fix(post form): block temporary media links 2026-05-16 16:11:22 +07:00
Tommaso Casaburi 69008dfd81 fix(favicon): add touch and search icons 2026-05-15 17:59:32 +07:00
Tommaso Casaburi cc096c02ae Merge branch 'codex/fix/media-load-failure-alert'
# 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-14 16:38:01 +07:00
Tommaso Casaburi fe87808a90 fix(media): clarify failed external image embeds 2026-05-14 16:36:20 +07:00
Tommaso Casaburi 486ef39319 Merge branch 'codex/fix/pass-heading-case' 2026-05-14 12:45:39 +07:00
Tommaso Casaburi 3767923556 fix(pass): preserve heading casing 2026-05-14 12:45:01 +07:00
Tommaso Casaburi 8cb632f3db fix(p2p stats): clarify browser peer data 2026-05-14 12:33:48 +07:00
Tommaso Casaburi c8640a8010 fix(settings): show latest update feedback 2026-05-13 23:55:38 +07:00
Tommaso Casaburi 1b4f412906 docs(pass): clarify governance role 2026-05-09 23:52:58 +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 cb05a8b905 feat(challenge modal): remember trusted board websites 2026-05-06 19:05:26 +07:00
Tommaso Casaburi db61ca09d4 chore(translations): localize media provider unavailable message 2026-05-01 22:52:55 +07:00
Tommaso Casaburi 7e1513b688 feat(media hosting): disable unreachable providers 2026-05-01 22:52:55 +07:00
Tommaso Casaburi 897e170485 fix(challenge modal): open iframe consent directly 2026-04-30 18:56:51 +07:00
Tommaso Casaburi ae62b9dbf1 docs(portless): document HTTPS proxy prompt 2026-04-28 14:39:57 +07:00
Tommaso Casaburi 34b60c7d53 chore(portless): upgrade local dev URLs 2026-04-28 14:25:16 +07:00
Tommaso Casaburi e54e8802c3 fix: link mod empty state to account import 2026-04-27 15:02:51 +07:00
Tommaso Casaburi df01cbfb49 merge: codex/fix/all-active-sort
# 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-04-18 16:01:00 +07:00
Tommaso Casaburi 49422591b8 fix(multiboards): restore stable time-filter suggestions 2026-04-18 15:58:27 +07:00
Tommaso Casaburi d8944e3c7c feat(pass): localize pass page copy 2026-04-17 15:11:15 +07:00
Tommaso Casaburi b81bcd8c55 Merge branch 'codex/fix/pass-voting-copy' 2026-04-17 14:21:22 +07:00
Tommaso Casaburi 1c6cf3fc0f feat(pass): add pass page and update voting copy 2026-04-17 14:21:10 +07:00
Tommaso Casaburi 4a755ac5b0 fix(i18n): add offline board warning copy 2026-04-17 13:34:19 +07:00
Tommaso Casaburi ee7a5b5778 refactor(core): remove legacy plebbit terminology 2026-04-17 10:48:27 +07:00
Tommaso Casaburi 35a5cb2411 chore: add translations 2026-04-16 13:51:54 +07:00
Tommaso Casaburi a2286aa68e feat(app-update): add in-app update flow with native e2e coverage 2026-03-19 20:19:48 +08:00
Tommaso Casaburi f342179f1a chore(tooling): migrate 5chan to Yarn 4 2026-03-19 13:41:03 +08:00
Tommaso CasaburiandGitHub 714c39cf47 feat(settings): add expanded video auto-unmute preference (#1104)
* feat(settings): add expanded video auto-unmute preference

* fix(translations): add missing unmute labels

* fix(translations): localize unmute label
2026-03-17 19:09:29 +08:00
Tommaso Casaburi 1db0c625e8 feat(home): show platform-specific info message on homepage
Web users see the existing download prompt; native app users see a P2P encouragement message instead.

Closes #1096
2026-03-17 17:54:52 +08:00
Tommaso Casaburi cdd87de446 chore: update translations 2026-03-16 17:56:59 +08:00