Tommaso Casaburi
d357514397
feat(home stats): load stats progressively
2026-06-03 14:47:51 +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 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 and GitHub
9b3a95dd95
feat(flash board): add SWF posting support ( #1145 )
2026-05-30 16:07:41 +07:00
Tommaso Casaburi and GitHub
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 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
348e3393c7
feat(post): show pending approval reason
2026-05-24 17:06:03 +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
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
c8edc92983
fix(settings): clarify pure p2p gateway copy
2026-05-20 19:40:51 +07:00
Tommaso Casaburi
ca6e843a89
fix(mod queue): rename queue dismissal action
2026-05-20 14:48:07 +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
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
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
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 and GitHub
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
Tommaso Casaburi and GitHub
f4ff7a23f7
feat(post-menu): add Report/Delete, reorder buttons, edit-only-for-mods, copy link 5chan.app ( #1089 )
...
* Update crypto address UI for .bso accounts
* feat(post-menu): add Report/Delete, reorder buttons, edit-only-for-mods, copy link 5chan.app
- Remove redundant reason field from edit menu (purged posts unreachable)
- Add Report post (placeholder alert) and Delete post (mobile) to post menus
- Reorder: Report, Hide, Delete, Copy x3, Image search
- Mobile edit checkbox only for mods; authors use Delete in post menu
- Copy direct link always uses 5chan.app domain
- 10px margin-top on mod menu save button
* fix(post-menu): add confirmation before delete post (Bugbot)
2026-03-16 17:54:17 +08:00
Tommaso Casaburi and GitHub
aedee9fb83
feat(archive): implement comment.archived and add archive page ( #1074 )
...
* feat(archive): implement comment.archived and add archive page
Add isCommentArchived() utility, /board/:boardIdentifier/archive route,
archive view with filtered feed, and UI integration (board buttons, edit
menu, catalog row, post). Archived indicator on catalog and posts.
* fix(archive): address review feedback from Bugbot and CodeRabbit
Add missing i18n keys (archived, thread_archived, view, loading_archive),
add /archive/settings route, replace hardcoded English in archive.tsx, and
fix mobile test state.
2026-03-13 16:06:36 +08:00
Tommaso Casaburi and GitHub
fe55e6f332
fix(quotes): resolve external quote links across boards ( #1064 )
2026-03-12 17:41:11 +08:00
Tommaso Casaburi and GitHub
d56175a66e
feat(ui): polish advanced settings, media hosting warning, reply modal mobile UX ( #1054 )
...
- Move Save Advanced Settings button to bottom-center of advanced settings
- Reduce spacing above/below web upload warning in media hosting
- Set 16px font for reply modal inputs on mobile (prevents iOS zoom)
- Autofocus textarea when opening reply modal on mobile
2026-03-11 19:42:34 +08:00
plebeius
417482060d
refactor: org name changed from bitsocialhq to bitsocialnet
2026-03-09 17:01:35 +08:00
plebeius
dd7dc7dcf8
chore: update translations
2026-03-09 15:33:21 +08:00
plebeius
2d8d280365
chore: add missing translations
2026-03-07 13:46:44 +08:00