10 Commits

Author SHA1 Message Date
giles
87ce2d4970 Add actor search with infinite scroll
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 49s
Replace single WebFinger lookup with paginated search across cached
remote actors and local profiles. New _search_results.html partial
with htmx infinite scroll sentinel. Form submits via hx-get for
seamless pagination.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 08:18:59 +00:00
giles
8dc354ae0b Integrate federation app with shared menu/header system
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 44s
Replace standalone base.html with the shared _types/root layout.
Social pages get a second nav row via _types/social/index.html.
Root / becomes a blank page with shared chrome. Auth pages use
the shared layout without the social nav bar.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 00:10:56 +00:00
giles
04c7c97116 Fix Jinja2 error: set() is not a builtin, use [] instead
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 40s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 14:55:09 +00:00
giles
45377648c1 Fix follower links, HTMX follow/unfollow, update shared submodule
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
- Follower profile links now go to https://domain/@username (web profile)
  instead of the AP actor URL which 404s
- Follow Back/Unfollow buttons update via HTMX without full page refresh
- Update shared submodule to decoupling branch with new protocol methods

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 14:52:11 +00:00
giles
0df06f6d32 Fix actor links: followers link to their remote profile
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m24s
Following links to local actor timeline (cached posts), followers
link to their profile on their own instance to avoid 404s.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 14:46:34 +00:00
giles
27e86c580b Add following/followers lists and per-actor timeline pages
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
- 6 new routes: following list, followers list, actor timeline (each
  with HTMX infinite-scroll page endpoint)
- 4 new templates: following.html, followers.html, _actor_list_items.html,
  actor_timeline.html
- Nav links for Following/Followers in base.html
- Follow/unfollow redirects back to referrer page
- Timeline items template handles actor timeline type
- Update shared submodule

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 13:42:16 +00:00
giles
b694d1f4f9 Add full fediverse social service
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 52s
Social blueprint with timeline, compose, search, follow/unfollow,
like/boost interactions, and notifications. Inbox handler extended
for Create/Update/Delete/Accept/Like/Announce with notification
creation. HTMX-powered infinite scroll and interaction buttons.
Nav updated with Timeline, Public, Search, and Notifications links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 11:57:24 +00:00
giles
f2136d0cc2 Add CSRF token to logout form in base template
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 38s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 15:46:54 +00:00
giles
0bb057d65b Add CSRF tokens to login and choose-username forms
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 37s
Both forms were missing the hidden csrf_token input,
causing 400 Bad Request on POST.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 15:43:01 +00:00
giles
41e9670975 Initial federation app — ActivityPub server for Rose-Ash
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
Phase 0+1 of AP integration. New 5th Quart microservice:

Blueprints:
- wellknown: WebFinger, NodeInfo 2.0, host-meta
- actors: AP actor profiles (JSON-LD + HTML), outbox, inbox, followers
- identity: username selection flow (creates ActorProfile + RSA keypair)
- auth: magic link login/logout (ported from blog, self-contained)

Services:
- Registers SqlFederationService (real impl) for federation domain
- Registers real impls for blog, calendar, market, cart
- All cross-domain via shared service contracts

Templates:
- Actor profiles, username selection, platform home
- Auth login/check-email (ported from blog)

Infrastructure:
- Dockerfile + entrypoint.sh (matches other apps)
- CI/CD via Gitea Actions
- shared/ as git submodule

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 15:11:52 +00:00