Commit Graph

99 Commits

Author SHA1 Message Date
f135e4d583 feat(frontend): loading.tsx skeletons for feed, tags, search, and thread pages 2026-05-16 02:16:45 +02:00
42baf3fe3c perf(frontend): stream sidebar via Suspense — feed renders immediately; sidebar loads async 2026-05-16 02:14:36 +02:00
e86f07ef34 refactor(frontend): TopFriends self-contained — fetches own data, no N+1 2026-05-16 02:11:05 +02:00
98d3fdb832 feat(frontend): TagsSkeleton and CountSkeleton for sidebar Suspense fallbacks 2026-05-16 02:10:55 +02:00
2c3e7934b8 fix(frontend): getTopFriends schema returns UserSchema[] not string[] 2026-05-16 02:10:37 +02:00
448cd506eb fix(frontend): remove dead activeTab state; guard URL hostname parse 2026-05-15 20:21:05 +02:00
c1c9539978 refactor(frontend): split RemoteUserProfile into ProfileCard + Connections 2026-05-15 20:16:39 +02:00
688e7b0018 refactor(frontend): FollowButton useOptimistic + Server Action; edit-profile-form Server Action 2026-05-15 20:08:49 +02:00
71233f069e fix(frontend): ThoughtForm — safe onSuccess?.() on cancel, dedupe reply textarea classes 2026-05-15 20:07:27 +02:00
d450a1d8d8 refactor(frontend): EmptyState + LoadingSkeleton primitives; unified ThoughtForm replaces PostThoughtForm and ReplyForm 2026-05-15 20:01:00 +02:00
dadfe04934 perf(frontend): eliminate author profile waterfall — use thought.author directly 2026-05-15 19:47:06 +02:00
9ecbde019d feat(frontend): Server Actions for thought, social, and profile mutations 2026-05-15 19:43:10 +02:00
ed789c6170 fix(frontend): tag remaining GET fetches for cache invalidation 2026-05-15 19:41:50 +02:00
091c3a4706 feat(frontend): add next.tags cache support to apiFetch; tag all GET fetches 2026-05-15 19:38:24 +02:00
fe610c8b6f fix(frontend): tag getTopFriends fetch 2026-05-15 19:30:17 +02:00
296dfdaeee fix(frontend): key RemoteUserProfile and Tabs by actor/user id to reset state on navigation 2026-05-15 11:26:17 +02:00
4b20bfd369 fix(frontend): initialize follow state from server-side following list on remote actor profile 2026-05-15 10:54:01 +02:00
cf78b3e28f fix(frontend): use thought.author.avatarUrl as base in ThoughtThread — fixes remote author avatars on feed and detail pages 2026-05-15 10:46:38 +02:00
009b2d43c9 feat(frontend): show external parent link on remote reply posts 2026-05-15 05:51:03 +02:00
09bebf7dc9 fix: store in_reply_to on remote notes + use full handle in federation component links/actions 2026-05-15 05:09:44 +02:00
2e3b81de17 fix: full fediverse handle display + follower count includes remote
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Has been cancelled
test / unit (pull_request) Has been cancelled
test / integration (pull_request) Has been cancelled
2026-05-15 04:35:04 +02:00
d88eb5d127 feat(frontend): show @handle and link to profile in federation actor lists 2026-05-15 04:28:36 +02:00
d98c338e52 fix(frontend): unify local+remote followers/following — profile tab becomes Requests only 2026-05-15 04:25:33 +02:00
895b892cf2 feat(frontend): proper pagination with page numbers and ellipsis 2026-05-15 04:21:11 +02:00
40d8234225 fix(frontend): hide pagination when only one page 2026-05-15 04:19:45 +02:00
9df1a55c48 feat(frontend): federation tab on own profile 2026-05-15 04:14:56 +02:00
cb413ee6e9 feat(frontend): federation settings page 2026-05-15 04:14:29 +02:00
b86c486530 feat(frontend): FederationPanel tabbed wrapper 2026-05-15 04:14:07 +02:00
86a21a5bb7 feat(frontend): RemoteFollowing component 2026-05-15 04:13:51 +02:00
c4dd0797a1 feat(frontend): RemoteFollowers component 2026-05-15 04:13:34 +02:00
497edf3437 feat(frontend): PendingRequests component 2026-05-15 04:13:17 +02:00
e4d1a1f4d1 feat(frontend): federation management API client functions 2026-05-15 04:12:52 +02:00
9976c1481a feat(frontend): show precise date on hover over relative timestamps 2026-05-15 03:19:24 +02:00
e6b351b472 feat(frontend): show fediverse handle @user@domain on local user profiles 2026-05-15 03:16:17 +02:00
a123c0b8cc feat(frontend): rich OG metadata + dynamic page titles across all routes
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Has been cancelled
test / unit (pull_request) Has been cancelled
test / integration (pull_request) Has been cancelled
2026-05-15 01:38:59 +02:00
b2d6be90c2 chore: update README, Dockerfile, compose.yml — add frontend/worker services, SSR env var, feature list
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Has been cancelled
test / unit (pull_request) Has been cancelled
test / integration (pull_request) Has been cancelled
2026-05-15 01:26:23 +02:00
83af9b2256 feat: show media attachment notice for unsupported post types (photos/videos)
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m20s
test / unit (pull_request) Successful in 16m15s
test / integration (pull_request) Failing after 17m1s
2026-05-15 01:12:44 +02:00
3c6344f954 feat(frontend): followers/following tabs on remote actor profile with lazy loading + pagination
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m16s
test / unit (pull_request) Successful in 16m12s
test / integration (pull_request) Failing after 16m54s
2026-05-15 00:51:37 +02:00
8b3dfffd3b feat: followers/following links on remote profile; render remote post content as HTML
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m39s
test / unit (pull_request) Failing after 10m48s
test / integration (pull_request) Failing after 16m54s
2026-05-15 00:04:54 +02:00
0b4c8c6c40 fix(frontend): render bio HTML properly instead of as escaped text
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m24s
test / unit (pull_request) Failing after 12m17s
test / integration (pull_request) Failing after 17m10s
2026-05-15 00:01:13 +02:00
612b7f069b fix(frontend): profile fields — grid layout caps name col at 5rem, value gets remaining space
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m22s
test / unit (pull_request) Failing after 11m23s
test / integration (pull_request) Failing after 17m2s
2026-05-14 22:51:07 +02:00
199fe91801 fix(frontend): profile fields table — overflow-x-auto, break-all values, styled links
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m12s
test / unit (pull_request) Failing after 11m0s
test / integration (pull_request) Failing after 17m17s
2026-05-14 22:47:42 +02:00
f3df2061e1 fix(frontend): truncate long handles in remote user profile and card
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m8s
test / unit (pull_request) Failing after 10m43s
test / integration (pull_request) Failing after 16m52s
2026-05-14 22:45:06 +02:00
df7fcf5096 fix: add federation.> to NATS stream subjects; update stream on startup; truncate long profile URLs
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m48s
test / unit (pull_request) Failing after 10m52s
test / integration (pull_request) Failing after 16m50s
2026-05-14 22:43:43 +02:00
072d06cb46 fix(frontend): middleware rewrites remote actor URLs to avoid Next.js file-extension routing issue
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 31s
test / unit (pull_request) Failing after 11m18s
test / integration (pull_request) Failing after 18m1s
2026-05-14 22:40:21 +02:00
4ce239fc87 fix(frontend): encode handle in URL to avoid Next.js routing issues with @ chars
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m21s
test / unit (pull_request) Failing after 10m59s
test / integration (pull_request) Failing after 12s
2026-05-14 22:36:24 +02:00
72813d7c9b fix(frontend): remote user card link needs leading @ in handle URL
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m22s
test / unit (pull_request) Failing after 10m46s
test / integration (pull_request) Failing after 17m9s
2026-05-14 22:30:59 +02:00
a472ae08fb feat(frontend): link remote user card avatar/name to profile page
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 9m42s
test / unit (pull_request) Failing after 11m13s
test / integration (pull_request) Failing after 17m23s
2026-05-14 22:29:35 +02:00
8ef7c93970 feat(frontend): remote actor profile page with bio, fields, and posts
Some checks failed
lint / lint (push) Has been cancelled
test / unit (push) Has been cancelled
test / integration (push) Has been cancelled
lint / lint (pull_request) Failing after 10m5s
test / unit (pull_request) Failing after 10m51s
test / integration (pull_request) Failing after 17m1s
2026-05-14 22:25:53 +02:00
fc3b4146a5 refactor(frontend): update API client to match cleaned REST routes 2026-05-14 21:34:26 +02:00