Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

M3 - New ActivityPub Client #102

Closed
15 of 17 tasks
maisutton opened this issue Nov 28, 2023 · 8 comments
Closed
15 of 17 tasks

M3 - New ActivityPub Client #102

maisutton opened this issue Nov 28, 2023 · 8 comments
Assignees

Comments

@maisutton
Copy link
Collaborator

maisutton commented Nov 28, 2023

Launch date: May 10th

Develop a new ActivityPub client which will support natively loading published data over p2p protocols, skipping the need for always-online HTTP servers for accessing content.

  • New project reader.distributed.press
  • Render ActivityPub posts in UI by loading them on the fly (1 week) @akhileshthite
    • Support loading from p2p URLs (native or via gateways)
    • UI to configure gateway
  • Read from users outboxes into a feed (0.5 week)
    • Read staticpub inbox to start, have interface that takes a "num posts" and "page" param and has an async iterator of Activities.
    • Handle create/update/
  • Ingest posts/outbox into local Database (leveljs over indexeddb)
    • RDF traversal library that works over fetch and resolves links as we traverse (1 week)
    • Basic API for handling AP traversal
    • Index Notes from activities in addition to activities themselves (1 week)
    • Track update times
  • Track followed accounts and have a button to download updates (1 week)
    • Have a page to track them
    • Save their IDs in local storage
    • Code to traverse their outboxes and ingest them into the db
  • Render "timeline" of posts (maybe we can experiment here) (2 weeks)
@RangerMauve
Copy link
Contributor

  • New project reader.distributed.press
  • Low javascript, no framework, multi page application using web components, no server component (little or no) build system.
  • Render ActivityPub posts in UI by loading them on the fly
  • Support loading from p2p URLs (native or via gateways)
  • UI to configure gateway
  • Read from users outboxes into a feed
  • Ingest posts/outbox into local Database (leveljs over indexeddb)
  • Render "timeline" of posts (maybe we can experiment here)

Nice to have: Different filter options for timeline (using querystrings and being able to save views)
Nice to have: Basic color scheme customization to make it feel like "their own"

@RangerMauve
Copy link
Contributor

Load this as a post: hyper://staticpub.mauve.moe/helloworld.html

  • Fetch from IPFS
  • Detect that it's html and get the link[rel=alternate] tag to get the json-ld URL
  • Resolve the json-ld object and render it's content

@RangerMauve
Copy link
Contributor

Use https://developer.mozilla.org/en-US/docs/Web/API/DOMParser for parsing the html, then querySelector to get the link

@RangerMauve
Copy link
Contributor

Assume that the IPFS URLs of all the objects will be the same domain but with ipfs://

Test it in Agregore or Peersky or Brave to try direct IPFS loading

@akhileshthite
Copy link
Collaborator

akhileshthite commented Feb 28, 2024

reader thread UI ideas:
https://trunks.social/status/mastodon.social/@ErickaSimone/112006693608642877

recursive/nested <blockquote>

@sutty-coop sutty-coop moved this from In Progress to Done in Distributed Press Organizing Mar 21, 2024
@sutty-coop sutty-coop added testing Someone is testing this item currently and removed enhancement New feature or request labels Mar 21, 2024
@sutty-coop
Copy link
Collaborator

Launch date: March 27th?

@akhileshthite
Copy link
Collaborator

Launch date: March 27th?

29th, Friday?

@RangerMauve
Copy link
Contributor

This is about to get launched

@sutty-coop sutty-coop added ready for prod&comms This is done, ready to launch and communicate and removed testing Someone is testing this item currently labels Apr 24, 2024
@sutty-coop sutty-coop moved this from Done to In Progress in Distributed Press Organizing May 6, 2024
@sutty-coop sutty-coop removed the ready for prod&comms This is done, ready to launch and communicate label May 10, 2024
@sutty-coop sutty-coop moved this from In Progress to Done in Distributed Press Organizing May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

4 participants