giles
416650e642
Update shared: grant-based session revocation
...
Build and Deploy / build-and-deploy (push) Successful in 1m19s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 12:30:20 +00:00
giles
f93bc6f987
Iframe-based SSO logout (tolerates dead apps)
...
Build and Deploy / build-and-deploy (push) Successful in 1m3s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 12:21:41 +00:00
giles
fe8e477781
Update shared: remove sso_hint, add sso-clear logout chain
...
Build and Deploy / build-and-deploy (push) Successful in 1m2s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 12:17:35 +00:00
giles
835f406546
Update shared: SSO revocation clears local session on logout
...
Build and Deploy / build-and-deploy (push) Successful in 1m10s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 12:16:01 +00:00
giles
20e931a934
Update shared submodule: account is now OAuth server
...
Build and Deploy / build-and-deploy (push) Successful in 2m35s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 12:01:33 +00:00
giles
1a3bd45dce
Add /auth/clear to reset stale cookies
...
Build and Deploy / build-and-deploy (push) Successful in 1m15s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:45:25 +00:00
giles
17cedb4ade
Logout through federation sso-logout
...
Build and Deploy / build-and-deploy (push) Successful in 56s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:32:08 +00:00
giles
bde64bcc20
Silent SSO via sso_hint cookie
...
Build and Deploy / build-and-deploy (push) Successful in 1m7s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:24:52 +00:00
giles
925f9a9df2
Fix logout redirect to blog home
...
Build and Deploy / build-and-deploy (push) Successful in 1m2s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:15:29 +00:00
giles
e6d78c1031
Fix logout to use local /auth/logout/
...
Build and Deploy / build-and-deploy (push) Successful in 1m0s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:07:41 +00:00
giles
f5e7e29c3b
Sign-in → account, clear old shared cookie
...
Build and Deploy / build-and-deploy (push) Successful in 1m25s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 10:57:06 +00:00
giles
7bade78dc6
Trigger rebuild: per-app cookies + OAuth SSO
...
Build and Deploy / build-and-deploy (push) Successful in 54s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 10:45:17 +00:00
giles
527003b183
Fix OAuth authorize URL prefix
...
Build and Deploy / build-and-deploy (push) Successful in 1m15s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 10:25:56 +00:00
giles
2fb2357caf
Update shared submodule: OAuth SSO + account app support
...
Build and Deploy / build-and-deploy (push) Successful in 1m19s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 09:59:07 +00:00
giles
fb1cef6cb5
Remove blog auth blueprint — login/account now in federation
...
Build and Deploy / build-and-deploy (push) Successful in 56s
All auth routes (login, magic link, account, newsletters,
widget pages, logout) are handled by the federation app.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 09:09:21 +00:00
giles
85fd9d9f60
Update shared submodule (fix root top-bar account link)
...
Build and Deploy / build-and-deploy (push) Successful in 1m9s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 09:07:50 +00:00
giles
989610b533
Update shared submodule (account URLs → federation)
...
Build and Deploy / build-and-deploy (push) Successful in 53s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 09:01:15 +00:00
giles
ce587b9e43
Update shared: auth routes to federation
...
Build and Deploy / build-and-deploy (push) Successful in 1m1s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 08:42:36 +00:00
giles
82968a366f
Rename coop to blog in app code and config
...
Build and Deploy / build-and-deploy (push) Successful in 1m13s
- App name: "coop" → "blog"
- coop_context() → blog_context()
- coop_url → blog_url imports
- app_url("coop") → app_url("blog")
- Config keys: coop_root/coop_title → market_root/market_title
- Sync shared submodule
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 08:33:07 +00:00
giles
065147569c
Update COOP_DIR to /root/rose-ash in CI workflow
...
Build and Deploy / build-and-deploy (push) Successful in 1m22s
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:07 +00:00
giles
d76f985902
Update shared submodule — add list_marketplaces
...
Build and Deploy / build-and-deploy (push) Successful in 1m8s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 23:35:14 +00:00
giles
7453ff845c
Update shared: add updated timestamp for AP edits
...
Build and Deploy / build-and-deploy (push) Successful in 53s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 21:41:28 +00:00
giles
1e8b72e36d
Update shared: allow repeated Update activities
...
Build and Deploy / build-and-deploy (push) Successful in 2m3s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 21:36:25 +00:00
giles
3f44d513c0
Update shared: AP_DOMAIN default to federation.rose-ash.com
...
Build and Deploy / build-and-deploy (push) Successful in 1m2s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 21:12:50 +00:00
giles
2752f735ba
Update shared: origin_app isolation for EventProcessor
...
Build and Deploy / build-and-deploy (push) Successful in 1m6s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 20:59:40 +00:00
giles
b9b8bbd73d
Update shared: origin_app isolation for EventProcessor
...
Build and Deploy / build-and-deploy (push) Successful in 1m6s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 20:57:54 +00:00
giles
9515e411fa
Update shared: debug logging for event processor
...
Build and Deploy / build-and-deploy (push) Successful in 1m3s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 20:49:47 +00:00
giles
859cf52b2b
Update shared submodule: versioned AP object IDs + restored templates
...
Build and Deploy / build-and-deploy (push) Successful in 1m3s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 20:26:48 +00:00
giles
48a381eabb
Update shared submodule (remove dead code)
...
Build and Deploy / build-and-deploy (push) Successful in 54s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 18:11:36 +00:00
giles
49a9fd7552
Update shared submodule (remove dead cart template)
...
Build and Deploy / build-and-deploy (push) Successful in 1m7s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 18:05:31 +00:00
giles
1a8a5f4487
Store cross-app cart_sid on login for cart adoption
...
Build and Deploy / build-and-deploy (push) Successful in 58s
Read cart_sid from query params on login page and save to session
so the verify route can emit adoption event with the correct session.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 17:46:27 +00:00
giles
78fb9d8dd8
Update shared submodule (cart sign-in fix)
...
Build and Deploy / build-and-deploy (push) Successful in 2m7s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 17:38:12 +00:00
giles
9182c8d0b5
Switch to unified AP activity bus
...
Build and Deploy / build-and-deploy (push) Successful in 1m5s
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:11 +00:00
giles
5e9ab507be
Tech debt cleanup: update README, fix comments, sync shared submodule
...
Build and Deploy / build-and-deploy (push) Successful in 1m21s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 15:35:47 +00:00
giles
98ab24f517
Update shared: add fediverse social tables and protocols
...
Build and Deploy / build-and-deploy (push) Successful in 57s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 12:16:00 +00:00
giles
324cd9cf5b
Update shared: fix duplicate AP posts + stable object IDs
...
Build and Deploy / build-and-deploy (push) Successful in 1m1s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 10:18:24 +00:00
giles
36c33d9ce2
Use full post body in AP notes, not just excerpt
...
Build and Deploy / build-and-deploy (push) Successful in 54s
Federated content has no character limit — use the complete plaintext
body so followers see the full post in their timeline.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 09:40:19 +00:00
giles
4c44fc64c5
Enrich AP posts: Note type, images, hashtags, HTML excerpt
...
Build and Deploy / build-and-deploy (push) Successful in 52s
- Switch object type from Article to Note (Mastodon first-class support)
- Include title + excerpt as HTML content with "Read more" link
- Feature image + up to 3 inline images as AP attachments
- Post tags as AP Hashtag objects with inline links in content
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 09:35:40 +00:00
giles
8cc17e195d
Update shared: fix AP Delete Tombstone id mismatch
...
Build and Deploy / build-and-deploy (push) Successful in 59s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 09:25:58 +00:00
giles
ecb8639829
Update shared: widget Phase 2 nav templates
...
Build and Deploy / build-and-deploy (push) Successful in 54s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 09:14:29 +00:00
giles
a02765dffa
Update shared: fix AP object id domain for Mastodon
...
Build and Deploy / build-and-deploy (push) Successful in 2m6s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 08:53:19 +00:00
giles
e467946f1d
Update shared: inline federation publish + AP delivery fixes
...
Build and Deploy / build-and-deploy (push) Successful in 55s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 08:28:10 +00:00
giles
fe3bc9d893
Inline federation publication in ghost_sync
...
Build and Deploy / build-and-deploy (push) Successful in 1m2s
Replace emit_event("post.published/updated/unpublished") with direct
try_publish() calls. AP activities are now created at write time,
fixing the race condition where multiple EventProcessors competed
for federation events.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 07:55:48 +00:00
giles
c3c878f781
Update shared: fix AP edit/unpublish MultipleResultsFound crash
...
Build and Deploy / build-and-deploy (push) Successful in 56s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-21 23:49:27 +00:00
giles
ceacf7a56e
Fix _upsert_post to return (post, old_status) tuple
...
Build and Deploy / build-and-deploy (push) Successful in 2m25s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-21 23:40:27 +00:00
giles
0d18fd8fd9
Track status changes for unpublish + edit federation events
...
Build and Deploy / build-and-deploy (push) Successful in 1m0s
- _upsert_post returns (post, old_status) to detect status transitions
- Emit post.unpublished when published→draft (triggers Delete activity)
- Emit post.updated only when already-published posts are edited
- Emit post.published only for new publishes (not re-syncs)
- Same logic for pages via sync_single_page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-21 23:27:04 +00:00
giles
582882205f
Update shared submodule: federation handler debug logging
...
Build and Deploy / build-and-deploy (push) Successful in 1m0s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-21 23:13:02 +00:00
giles
507200893d
Fix _upsert_post savepoint: add() inside begin_nested()
...
Build and Deploy / build-and-deploy (push) Successful in 57s
begin_nested() auto-flushes on entry which triggers the INSERT before
the savepoint is active. Move sess.add() inside the savepoint block
and split into update vs insert paths.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-21 22:59:54 +00:00
giles
9d6a458115
Wire real FederationService + add page federation events
...
Build and Deploy / build-and-deploy (push) Successful in 1m2s
- Blog app now registers SqlFederationService (was stub/no-op)
- sync_single_page emits post.published/updated events for pages
- Updated shared submodule: fix sign_request in AP delivery handler
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-21 22:52:36 +00:00
giles
346089973f
Update shared submodule
...
Build and Deploy / build-and-deploy (push) Successful in 59s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-21 22:47:06 +00:00