Commit Graph

66 Commits

Author SHA1 Message Date
giles
6c42722dc6 Retrigger CI (Docker Hub image now cached)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 44s
2026-02-23 16:45:51 +00:00
giles
1546c6d7c9 Update shared submodule (at-least-once + delivery log)
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 1s
2026-02-23 16:21:19 +00:00
giles
baf8f011e4 Update shared submodule (NOTIFY/LISTEN event processor)
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 1s
2026-02-23 16:05:23 +00:00
giles
8b77ae61cd Update shared submodule (add device_id migration)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
2026-02-23 15:26:55 +00:00
giles
90c779aebb Update shared: blog_did = account_did, one device identity
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 15:12:30 +00:00
giles
1af5b189d7 Update shared: device-id SSO with account_did + Redis login signal
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m48s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 15:01:53 +00:00
giles
fc7b36688e Sync shared submodule
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 49s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 13:41:37 +00:00
giles
2b76310dc1 Update shared: add aiohttp dependency
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 47s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 13:05:52 +00:00
giles
15550dd687 Update shared: device cookie auth state detection
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 46s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 12:57:21 +00:00
giles
ff4dfc7182 Update shared: grant-based session revocation
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 50s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 12:30:30 +00:00
giles
195df18e60 Iframe-based SSO logout (tolerates dead apps)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 55s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 12:21:51 +00:00
giles
ecf183711d Update shared: remove sso_hint, add sso-clear logout chain
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 12:17:52 +00:00
giles
4e82193a5e Update shared: SSO revocation clears local session on logout
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 12:16:10 +00:00
giles
ffad7ffea9 Remove auth blueprint, federation is now an OAuth client
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 47s
Auth server responsibilities moved to account app.
Federation uses the shared OAuth client blueprint via factory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 12:00:22 +00:00
giles
f197dcffcb Add /auth/clear to reset stale cookies
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 55s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:45:34 +00:00
giles
5bf710a5ce Add /auth/sso-logout/ endpoint for cross-app logout
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 54s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:31:53 +00:00
giles
b81d679af8 Update shared: silent SSO via sso_hint cookie
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 46s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:23:42 +00:00
giles
c7618b8a65 Set sso_hint cookie on login, clear on logout
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:23:31 +00:00
giles
f3737b2471 Fix logout redirect to blog home
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:15:35 +00:00
giles
084b1786f1 Fix logout to use local /auth/logout/
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 44s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 11:07:46 +00:00
giles
a4902b2ff4 Sign-in → account, clear old shared cookie
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 10:57:22 +00:00
giles
09d36b89c1 Trigger rebuild: per-app cookies + OAuth SSO
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 44s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 10:45:24 +00:00
giles
54c73d1740 Fix OAuth authorize URL prefix
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 49s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 10:26:05 +00:00
giles
36c152674a Add OAuth authorize endpoint, move account routes to account app
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 47s
- /oauth/authorize: validates client_id, redirect_uri, issues auth codes
- Remove account/newsletters/widget routes (now in account microservice)
- Default post-login redirect: federation home instead of /auth/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 09:59:16 +00:00
giles
93dae89f8a Update shared submodule: OAuth SSO + account app support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 09:59:07 +00:00
giles
1e0afef731 Update shared submodule (fix root top-bar account link)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 45s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 09:07:56 +00:00
giles
6bd7d9cfcc Move account pages from blog to federation
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 48s
Add OOB account page system with newsletters, widget pages,
and toggle routes. Update shared submodule for federation_url.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 09:01:14 +00:00
giles
941cbab4e3 Update shared: auth routes to federation
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 46s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 08:42:37 +00:00
giles
8673adc59e Rename coop config keys to blog/market, update shared submodule
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 08:33:30 +00:00
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
9a1be0461c Update COOP_DIR to /root/rose-ash in CI workflow
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 42s
Infra files (.env, docker-compose.yml, _config) moved from ~/coop to ~/rose-ash.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:44:32 +00:00
giles
dfaef3a0bb Update shared submodule — add list_marketplaces
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 50s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:35:20 +00:00
giles
b8de936397 Update shared: AP_DOMAIN default to federation.rose-ash.com
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 42s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:12:55 +00:00
giles
c5a295b55b Update shared: origin_app isolation for EventProcessor
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 45s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 20:59:47 +00:00
giles
2919b98f26 Update shared: fix AP re-publish versioned object IDs
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 37s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 20:04:24 +00:00
giles
187f4cf64d Update shared submodule — restore deleted templates
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 37s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 19:29:51 +00:00
giles
90d6e1ed73 Update shared submodule (remove dead code)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 18:11:41 +00:00
giles
38e2820308 Update shared submodule (remove dead cart template)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 45s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 18:05:36 +00:00
giles
f4fc7d2058 Store cross-app cart_sid on login for cart adoption
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 17:46:32 +00:00
giles
f2c71c8136 Update shared submodule (cart sign-in fix)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 47s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 17:38:17 +00:00
giles
1b87bb8f08 Switch to unified AP activity bus
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 42s
emit_event → emit_activity for login event. Update shared submodule.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 16:20:13 +00:00
giles
a41d5e6a52 Tech debt cleanup: fix path_setup comment, sync shared submodule
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 15:36:10 +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
25d21b93af Fix duplicate AP posts + backfill posts on new follow
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 38s
- Stable object IDs per source (no more duplicates)
- Dedup Update activities (Ghost double-webhook)
- Backfill: deliver recent Create activities to new follower inbox

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:18:36 +00:00
giles
44dbc063ee Make followers/following collections public (paginated format)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 39s
Mastodon requires OrderedCollection with a `first` page link to
consider the collection public. Without it, it shows "This user
has chosen to not make this information available."

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 09:59:26 +00:00