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
42021fe9ff
fix(post menu): update Yandex reverse image parameter
2026-04-23 16:27:21 +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
338f415f2a
fix(pending posts): show publish errors
2026-04-20 16:15:12 +07:00
Tommaso Casaburi
81b9b2e807
fix(mod queue): preserve moderated queue history
2026-04-19 15:02:36 +07:00
Tommaso Casaburi
8957f0439e
fix(mod queue): keep approved items from sticking
2026-04-19 13:45:24 +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
e161606147
perf(board): reduce desktop reverse-scroll jank on /all
...
Apply the asymmetric viewport buffer that already fixed mobile to desktop
multiboard feeds, and trim per-post mount cost so remounts during scroll-up
are cheaper:
- Desktop multiboard buffer goes from {600,600} to {1200,2400} (top-heavy),
matching the mobile pattern from 99c0bbfac so items stay mounted longer
when scrolling back up
- Cache feed post height estimate by CID in pretext-height-estimates so
remounts skip the Pretext text-measurement work
- Memoize CommentMedia and switch its expanded-media-store reads to atomic
selectors so it stops rerendering on unrelated store changes
- Memoize useCommentMediaInfo return so its reference is stable for memo
comparators downstream
- Stop useFetchGifFirstFrame from forcing an extra render on every post
mount by bailing out of equivalent setState calls
- Extract PendingModerationActions out of PostInfo so the two
usePublishCommentModeration calls only run on the post page when
mod-approval is actually pending, not on every feed item
2026-04-18 13:31:02 +07:00
Tommaso Casaburi
1c6cf3fc0f
feat(pass): add pass page and update voting copy
2026-04-17 14:21:10 +07:00
Tommaso Casaburi
4cae9c3caa
fix(board status): resolve offline indicators with strict community refs
2026-04-17 12:51:14 +07:00
Tommaso Casaburi
ee7a5b5778
refactor(core): remove legacy plebbit terminology
2026-04-17 10:48:27 +07:00
Tommaso Casaburi
e366dac25c
fix(quotes): keep same-thread board previews local
2026-04-16 15:33:12 +07:00
Tommaso Casaburi
f6ce2ba018
fix(reply-quote-preview): keep floating OP previews at desktop width
2026-04-16 15:20:49 +07:00
Tommaso Casaburi
b288c62c06
feat: auto-complete iframe challenges
2026-04-16 14:07:57 +07:00
Tommaso Casaburi
35a5cb2411
chore: add translations
2026-04-16 13:51:54 +07:00
Tommaso Casaburi
f1d5c0b078
docs: relicense 5chan to GPL-3.0-or-later
2026-04-16 13:36:40 +07:00
Tommaso Casaburi
20c0dd616e
test(ci): align challenge modal spring mock
2026-04-15 15:00:52 +07:00
Tommaso Casaburi
ec8678cc4e
fix(challenge modal): snap close button to whole pixels
2026-04-15 14:44:46 +07:00
Tommaso Casaburi
d87be159e2
fix(settings modal): snap bitmap controls to whole pixels
2026-04-15 14:24:07 +07:00
Tommaso Casaburi
7bf0888221
fix: hide generated account copy for imported accounts
2026-04-15 13:42:58 +07:00
Tommaso Casaburi
45567013fc
test(ci): align strict community mocks
2026-04-15 13:18:02 +07:00
Tommaso Casaburi
621235379c
fix(feed): support strict community refs and safer domain publishing
2026-04-15 12:51:21 +07:00
Tommaso Casaburi
256cd459cf
Merge branch 'codex/feature/spam-blocker-challenge'
...
# Conflicts:
# package.json
# src/components/settings-modal/advanced-settings/__tests__/advanced-settings.test.tsx
# src/components/settings-modal/advanced-settings/advanced-settings.tsx
# src/stores/__tests__/publish-stores.test.ts
# yarn.lock
2026-04-14 13:34:02 +07:00
Tommaso Casaburi
956fb426ea
fix(challenge): support pkc spam blocker flow
2026-04-14 13:30:31 +07:00
Tommaso Casaburi
19095aefa1
fix(hooks): handle pkc rebrand regressions
2026-04-11 16:57:00 +07:00
Tommaso Casaburi
5f9e603b62
fix(publish): retry failed comments without duplicate replies
2026-04-10 16:02:10 +07:00
Tommaso Casaburi and GitHub
7ba28becc5
fix(catalog): stop virtualizing single-board catalogs ( #1121 )
...
* fix(catalog): defer pretext row work and trim multiboard append batches
* fix(catalog): stop virtualizing single-board catalogs
2026-04-03 15:08:22 +07:00
Tommaso Casaburi and GitHub
251e103db3
feat: finalize pretext feed sizing rollout ( #1120 )
...
* feat(feeds): add pretext-backed item sizing across board, catalog, and thread replies
* feat: finalize pretext feed sizing rollout
* fix(catalog): raise multiboard viewport buffer
* fix(board): preserve pretext query overrides
2026-04-02 19:45:55 +07:00
Tommaso Casaburi
4fb7739991
fix(catalog-search): clear stale query filter
2026-04-01 19:05:58 +07:00
Tommaso Casaburi
99c0bbfac5
perf(board): reduce mobile reverse-scroll jank
2026-03-31 19:47:36 +07:00
Tommaso Casaburi
eeb288e2dc
fix(catalog): avoid stretching unknown-size thumbnails
2026-03-31 17:46:01 +07:00
Tommaso Casaburi
e345935aac
fix(reply modal): stop recentering on input
2026-03-29 16:40:09 +07:00
Tommaso Casaburi and GitHub
c2e8e169c2
fix(accounts): adapt 5chan to compact account history hooks ( #1118 )
...
* chore(cursor): use composer-2 for subagents
* fix(accounts): adapt 5chan to compact account history hooks
* fix(accounts): address 5chan account-history review findings
2026-03-20 21:25:57 +08:00
Tommaso Casaburi and GitHub
816281c607
fix(thread-page): make thread auto updates opt-in ( #1115 )
...
* fix(thread-page): make thread auto updates opt-in
Wire `Auto` and `Update` to the same manual refresh path and cover the thread flow with an e2e harness.
* fix(thread-page): address PR review findings
2026-03-20 16:48:57 +08:00
Tommaso Casaburi
ce2ad82c8c
fix: allow edit modal saves after delete toggles
2026-03-20 16:20:04 +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
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 and GitHub
8c37258f20
perf(replies): prefer cached board preview replies ( #1101 )
...
* perf(replies): prefer cached board preview replies
* fix(replies): address review feedback
2026-03-17 19:01:56 +08:00
Tommaso Casaburi and GitHub
f812fe1d18
fix(pwa): make web updates deterministic ( #1093 )
...
* fix(pwa): make web updates deterministic
* fix(pwa): address review feedback
2026-03-17 16:20:13 +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
6ecf3c40d3
fix(thread): count user id tooltips from thread data
...
Replace the DOM-based user ID tooltip count with a deduped per-thread author map in `getThreadPostCountsByAuthor()`. This keeps mounted preview copies from doubling ID totals on desktop and mobile thread views.
2026-03-16 15:13:04 +08:00
Tommaso Casaburi
47e8c5a37b
fix(multiboards): hide archive button slot
2026-03-16 14:57:00 +08:00
Tommaso Casaburi and GitHub
37c834d975
fix(reply-modal): keep drag interactions sharp ( #1086 )
2026-03-16 14:42:30 +08:00
Tommaso Casaburi and GitHub
3a7400e4a8
fix(reply-quote-preview): restore (You) for pseudonymous quotes ( #1084 )
...
* fix(reply-quote-preview): restore (You) for pseudonymous quotes
* test(reply-quote-preview): mock account comments hook
2026-03-16 14:26:08 +08:00
Tommaso Casaburi and GitHub
726522586c
fix(edit-menu): allow pseudonymous reply deletion ( #1076 )
...
* fix(edit-menu): allow pseudonymous reply deletion
* fix(edit-menu): ignore non-pseudonymous mode
2026-03-13 16:37:44 +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