Commit graph

15 commits

Author SHA1 Message Date
349a5e1376 Add ActivityPub and RSS bridges serving virtual social.org feeds
Expose external accounts as virtual Org Social feeds that any client
can follow with a plain #+FOLLOW: line:

- /bridge/activitypub/@{user}@{instance}/ bridges a Mastodon or any
  ActivityPub account (WebFinger, actor and paginated outbox; only
  public top-level notes, with CW, hashtags, language and attachments)
- /bridge/rss/?url={feed} bridges any RSS/Atom feed (entry title as
  *** sub-heading, converted body and link to the original article)

Registration is implicit on first GET. Bridged data is stored in the
existing Profile/Post tables so /profile/, /search/ and the rest of
the API work on bridged feeds. Active bridges are refreshed every 15
minutes; bridges unrequested for 90 days are cleaned up.

Remote HTML is converted to Org text, escaping headline-like lines so
external content cannot inject posts. Fetches enforce the Webmention
SSRF protections, a 10s timeout and a 5MB size cap. Bridged posts
never queue Webmentions nor publish notifications.
2026-07-17 15:26:41 +02:00
f7f85153f6 Add /stats/ endpoint with monthly activity and global counters 2026-07-10 08:19:10 +02:00
0a66cfcf7a Make ?feed optional in /sse/notifications/, add global stream
Without ?feed=, the endpoint subscribes to all notification channels via
Redis psubscribe("notifications:*") and adds target_feed to each event.
With ?feed=, behavior is unchanged. Updates README and root _links.
2026-05-19 09:06:44 +02:00
347369868d Add /profile/ endpoint returning feed followers
New GET /profile/?feed={url} endpoint that returns the list of feed URLs
that follow the given profile, using the existing Follow model.
Includes cache support, 400/404 error handling, and 8 unit tests.
2026-05-16 11:58:45 +02:00
Andros Fenollosa
9ccd326bea Realtime notification had been added 2025-12-05 09:13:52 +01:00
Andros Fenollosa
7c60f060c8 Added feed content 2025-11-30 17:03:53 +01:00
Andros Fenollosa
0873f18c00 Added interactions 2025-11-17 08:07:07 +01:00
Andros Fenollosa
aa5f200fb5 Added boosts 2025-11-16 18:41:45 +01:00
Andros Fenollosa
79ff3a63a5 Added RSS feature 2025-11-15 10:12:46 +01:00
Andros Fenollosa
4e0949112e Add notification endpoints to root view 2025-10-11 11:21:08 +02:00
Andros Fenollosa
1afb02eae7 Updated HATEOUS 2025-09-23 18:37:55 +02:00
Andros Fenollosa
8a53198ad6 Added polls 2025-09-20 20:05:16 +02:00
Andros Fenollosa
d5a1fc36b1 Fixed routers 2025-09-17 08:47:28 +02:00
Andros Fenollosa
d3f5e38a54 Feeds endpoints 2025-09-16 15:28:21 +02:00
Andros Fenollosa
c62d64395e First commit 2025-09-12 11:29:00 +02:00