-
Notifications
You must be signed in to change notification settings - Fork 48
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
New account types, starting with ActivityPub #512
Comments
snarfed
added a commit
that referenced
this issue
May 22, 2023
snarfed
added a commit
that referenced
this issue
May 23, 2023
snarfed
added a commit
that referenced
this issue
May 23, 2023
snarfed
added a commit
that referenced
this issue
May 24, 2023
snarfed
added a commit
that referenced
this issue
May 25, 2023
snarfed
added a commit
that referenced
this issue
May 25, 2023
snarfed
added a commit
that referenced
this issue
May 25, 2023
snarfed
added a commit
that referenced
this issue
May 26, 2023
snarfed
added a commit
that referenced
this issue
May 30, 2023
snarfed
added a commit
that referenced
this issue
May 30, 2023
snarfed
added a commit
that referenced
this issue
May 30, 2023
user pages now have /[protocol]/ prefix, AP endpoints have /ap/ prefix. for #512
snarfed
added a commit
that referenced
this issue
May 30, 2023
snarfed
added a commit
that referenced
this issue
May 30, 2023
snarfed
added a commit
that referenced
this issue
May 31, 2023
snarfed
added a commit
that referenced
this issue
May 31, 2023
snarfed
added a commit
that referenced
this issue
Jun 1, 2023
snarfed
added a commit
that referenced
this issue
Jun 1, 2023
snarfed
added a commit
that referenced
this issue
Jun 2, 2023
snarfed
added a commit
that referenced
this issue
Jun 2, 2023
snarfed
added a commit
that referenced
this issue
Jun 2, 2023
also change Web.fetch() to allow missing mf2 instead of raising exception. we now create Web users with None for mf2 property if the site has no mf2. for #512
snarfed
added a commit
that referenced
this issue
Jun 3, 2023
snarfed
added a commit
that referenced
this issue
Jun 3, 2023
working on Mastodon account discovery interop. for #512
snarfed
added a commit
that referenced
this issue
Jun 4, 2023
and drop ActivityPub.get_by_id() override, move logic to user() page handler. fixes 'Only ancestor queries are allowed inside transactions.' for #512
snarfed
added a commit
that referenced
this issue
Jun 4, 2023
snarfed
added a commit
that referenced
this issue
Jun 4, 2023
snarfed
added a commit
that referenced
this issue
Jun 4, 2023
since webmention support is optional for web users: https://fed.brid.gy/docs#error-handling for #512
snarfed
added a commit
that referenced
this issue
Jun 5, 2023
snarfed
added a commit
that referenced
this issue
Jun 7, 2023
snarfed
added a commit
that referenced
this issue
Jun 8, 2023
snarfed
added a commit
that referenced
this issue
Jun 8, 2023
Running this right now to migrate with appengine_config.ndb_client.context(), app.test_request_context(base_url='https://fed.brid.gy/'):
for f in Follower.query():
if not f.src or f.dest:
f.dest, f.src = f.key.id().split()
f.from_ = (ActivityPub if util.is_web(f.src) else Web).get_or_create(
f.src, actor_as2=as1.get_object(f.last_follow or {}, 'actor')).key
f.to = (ActivityPub if util.is_web(f.dest) else Web).get_or_create(
f.dest, actor_as2=as1.get_object(f.last_follow or {})).key
if f.last_follow:
id = f.last_follow.get('id')
if id:
f.follow = Object.get_or_insert(id, as2=f.last_follow).key
f.put() |
snarfed
added a commit
that referenced
this issue
Jun 8, 2023
snarfed
added a commit
that referenced
this issue
Jun 8, 2023
snarfed
added a commit
that referenced
this issue
Jun 9, 2023
snarfed
added a commit
that referenced
this issue
Jun 11, 2023
snarfed
added a commit
that referenced
this issue
Jun 11, 2023
getting ready to serve per-protocol subdomains, eg nostr.brid.gy, ap.brid.gy, etc for #512
snarfed
added a commit
that referenced
this issue
Jun 11, 2023
snarfed
added a commit
that referenced
this issue
Jun 12, 2023
first commit for inferring protocol. exciting! for #512
snarfed
added a commit
that referenced
this issue
Jun 13, 2023
snarfed
added a commit
that referenced
this issue
Jun 13, 2023
snarfed
added a commit
that referenced
this issue
Jun 13, 2023
snarfed
added a commit
that referenced
this issue
Jun 14, 2023
snarfed
added a commit
that referenced
this issue
Jun 14, 2023
snarfed
added a commit
that referenced
this issue
Jun 14, 2023
snarfed
added a commit
that referenced
this issue
Jun 14, 2023
This was referenced Jun 18, 2023
Closed
Basically done. UI is still TBD, filed #661 for that. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Right now, you can set up your (indie)web site with BF and federate it into the fediverse. We should also support the other direction, ie sign up with your fediverse (ActivityPub) account and federate it into the (indie)web.
Big project! It's the obvious next step toward making BF truly multi-protocol, though, and avoids conflating the multi-protocol work with the work to add a new protocol.
User
data modelUser
since we'll need keys for sending response activities, eg Accept?User
subclasses? Pros, cons?User
key id collisions across protocols, eg if more than one uses DNS domain as identity?User
s on demand, when they interact with us!User.actor_as2
toObject
#547Object
data modeldomains
tousers
or something similar?Follower
data model[from] [to]
URLs and @-@s to protocol-independent. maybe just integer id and User key properties for from and to?last_follow
toObject
?User
the first time an AP user interacts with us. If so, what's that logic? Create one if the web site/receiving user doesn't have aUser
yet?/[protocol]/[handle]
, eg/web/snarfed.org
?Protocol.receive
etc/convert/
etc from URL path to subdomain/[domain]
actor endpoint from URL path to subdomainmove intoactivitypub.py
?Web
toProtocol
web.py
?redirect.py
need to be split up across protocols?Protocol.receive
#529Questions:
How do we represent external (ie not signed up) sites?Do we generateUser
s, user pages in the UI, etc for them? Probably not?What are they in AS2? Eg if https://example.com/ is signed up, their AS2 actor id is https://fed.brid.gy/example.com . If they're not signed up, is it the same? Or is it https://fed.brid.gy/r/https://example.com ? Something else? Can't use the former if we want to support http sites. I assume we do?Maybe add a newUser.signed_up
property, to distinguish explicit users from implicit/external?Will we ever need aUser
for receiving side indirect/external users?Decisions:
fed.brid.gy
as their instance, eg @[email protected]. This one is basically decided for us since they won't be serving the.well-known
redirects themselves.External sites use/r/
for their actor ids. I decided against auto-generatingUser
s for them, I think the distinction vs users who have explicitly signed up is probably best, and useful.User
s for external users too, since we need keys for them for AP and at least some other protocols like Nostr.Protocol
subclasses to beUser
subclasses too, like Bridgy classic.* NoUser.signed_up
property to distinguish explicit users from implicit/external. We want to let people use the bridge without explicitly signing up.User.direct
property to distinguish users who have explicit signed up or otherwise interacted with the bridge from "receiving" side users who haven't.domainsUser.actor_as2
andFollower.last_follow
toObject
to share the fetching, conversion, etc logic.The text was updated successfully, but these errors were encountered: