Tommaso Casaburi
36bb1f726d
fix(media): classify mp4-formatted gif previews as video
2026-05-02 23:42:20 +07:00
Tommaso Casaburi
3de85520bd
fix(android upload): handle transient imgur errors
2026-05-01 22:54:05 +07:00
Tommaso Casaburi
9f388693eb
fix(media hosting): restore android imgur support
2026-05-01 22:52:56 +07:00
Tommaso Casaburi
7e1513b688
feat(media hosting): disable unreachable providers
2026-05-01 22:52:55 +07:00
Tommaso Casaburi
78e5d58d08
feat(media hosting): add imgbb provider
2026-05-01 22:52:54 +07:00
Tommaso Casaburi
bc213ecea2
fix(posting): clarify direct file links
2026-05-01 18:03:04 +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
fd26d6fd10
fix(catalog): preserve literal preview markers
2026-04-29 15:24:54 +07:00
Tommaso Casaburi
8ba1761d07
Merge branch 'codex/fix/mod-queue-post-order'
2026-04-27 15:13:38 +07:00
Tommaso Casaburi
463509e105
fix(replies): order approved queue replies
2026-04-27 15:12:52 +07:00
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
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
81b9b2e807
fix(mod queue): preserve moderated queue history
2026-04-19 15:02:36 +07:00
Tommaso Casaburi
f2ab25bd08
Merge branch 'codex/fix/mod-queue-approved-stuck'
...
# Conflicts:
# package.json
# yarn.lock
2026-04-19 13:46:29 +07:00
Tommaso Casaburi
8957f0439e
fix(mod queue): keep approved items from sticking
2026-04-19 13:45:24 +07:00
Tommaso Casaburi
70d8c37222
feat(multiboards): expand time filters in place
2026-04-18 16:47:04 +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
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
621235379c
fix(feed): support strict community refs and safer domain publishing
2026-04-15 12:51:21 +07:00
Tommaso Casaburi
f52545ec5b
fix(directories): support multisub public keys
2026-04-13 14:54:23 +07:00
Tommaso Casaburi
19095aefa1
fix(hooks): handle pkc rebrand regressions
2026-04-11 16:57:00 +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
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
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
c9bd6258b2
fix(electron): restore packaged desktop app loading ( #1095 )
...
* fix(electron): restore packaged desktop app loading
Rebuild and verify Electron native modules before packaging and use the Vite base URL for packaged asset preloads.
* test(preload-utils): cover non-root base urls
2026-03-17 17:04:47 +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
7f4e069783
feat(skills): add inspect-elements skill backed by element-source
...
Closes #1082
2026-03-15 19:02:19 +08:00
Tommaso Casaburi and GitHub
fd9ab19de3
fix(mod-queue): show board button from live roles ( #1079 )
...
* fix(mod-queue): show board button from live roles
* fix(mod-queue): require live role for board access
2026-03-13 16:37:57 +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
d7703953fb
refactor: migrate 5chan to the community hooks API ( #1073 )
...
* refactor(community-api): migrate 5chan to community hooks
* fix(review): address PR feedback
* fix(review): preserve legacy board context fallbacks
* fix(review): address latest bot feedback
* fix(review): use communityAddress in edit menu privileges
2026-03-13 13:25:10 +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
ef375e3578
fix(mobile): hide empty mobile reply backlink wrapper ( #1060 )
...
getRenderableMobileBacklinks() now filters mobile backlinks down to replies that can actually render, so ReplyBacklinks only mounts mobileReplyBacklinks when there is visible content. This adds a regression test for the gap where a newly published reply exists before it receives its post number.
2026-03-12 16:40:48 +08:00
Tommaso Casaburi and GitHub
6c03253cb4
fix(post): stop thread navigation from forcing OP alignment ( #1052 )
...
* Update README.md
* fix(post): stop thread navigation from forcing OP alignment
Route-driven thread opens now use the normal top-of-page behavior, while explicit OP permalink intents carry a scrollThreadContainerCid state and resolve against the visible thread container only. The old spacer injection path is removed.
* fix(post): address PR review follow-ups
2026-03-11 18:43:36 +08:00
plebeius
773debece3
fix(post): avoid duplicate history entries on OP permalinks
2026-03-10 18:25:07 +08:00
Tommaso Casaburi and GitHub
6ed3708322
fix(post): align op permalinks to the outer thread container ( #1050 )
...
* fix(post): align op permalinks to the outer thread container
* perf(scroll-to-reply): stop interval when max attempts/duration reached
2026-03-10 18:08:20 +08:00
plebeius
6954b5bcc9
fix(replies): hide author-deleted replies from thread views
2026-03-09 21:10:56 +08:00
plebeius
a20f131201
fix(mod-queue): preserve pending reject state after refresh
2026-03-09 19:05:29 +08:00