@jaz ActivityPub does not have the concept of a "server" or "peer”. Knowing that there is some AP inboxes on a server is a signal that a link *might* be an AP object, but you still need to fetch it and check. We do not think it's a good idea that every server does this for every link, hence our current thinking of having this done by the authoring server.
@evan @strypey @rimu @Mastodon @Gargron @tchambers
Conversation
Notices
-
Embed this notice
Renaud Chaput (renchap@oisaur.com)'s status on Saturday, 13-Dec-2025 02:44:22 JST
Renaud Chaput
-
Embed this notice
Tim Chambers (tchambers@indieweb.social)'s status on Saturday, 13-Dec-2025 02:44:20 JST
Tim Chambers
@renchap @jaz @evan @strypey @rimu @Mastodon @Gargron Thanks all for this good discussion! And glad to hear ideas are percolating….👀
-
Embed this notice
Tim Chambers (tchambers@indieweb.social)'s status on Sunday, 14-Dec-2025 10:13:31 JST
Tim Chambers
@renchap @jaz @evan @strypey @rimu @Mastodon @Gargron @rimu
Fully appreciate that dynamic and happy to try to contribute if only to share ideas to evaluate. Love your thought on the note occuring at the authoring server and that makes total sense. Would this be the flow?
(see next post in this thread as its a bit long....)
-
Embed this notice
Renaud Chaput (renchap@oisaur.com)'s status on Sunday, 14-Dec-2025 10:13:33 JST
Renaud Chaput
@tchambers it’s one of those things that seem simple, but are in fact not (otherwise it would already have been solved).
We keep track of multiple of those and regularly come up with new ways of possibly solving those, until we figure out something that we believe can be implemented. This is also limited by the still small size of the team (2 backed devs) but we hope to be able to continue to grow the team
@jaz @evan @strypey @rimu @Mastodon @Gargron -
Embed this notice
Tim Chambers (tchambers@indieweb.social)'s status on Sunday, 14-Dec-2025 10:14:32 JST
Tim Chambers
@renchap @jaz @evan @strypey @rimu @Mastodon @Gargron
Step 1: Authoring server advertises intent
When emitting a Note or Actor, include:
• A machine-readable signal that says:
• “This object supports remote interaction”
• A canonical id that is stable
• Optional hints, not requirements:
• preferredInteractionEndpoint
• originInstanceI think this already fits ActivityStreams semantics.
Then if i read it right, it goes to a step 2 (see next post)
-
Embed this notice
Tim Chambers (tchambers@indieweb.social)'s status on Sunday, 14-Dec-2025 10:15:55 JST
Tim Chambers
@renchap @jaz @evan @strypey @rimu @Mastodon @Gargron
Step 2: Receiving server does nothing… until the user interacts
Critically:
• Do not rewrite URLs on sight
• Do not pre-fetch everything
Instead, when a logged-in user clicks “Follow” or “Reply” on a remote page:
1. The local server:
• Fetches the object once
• Verifies signature and type
2. Creates a local proxy object
• Local URL
• Explicitly marked as “mirrored”
3. Routes interaction through that proxyOk see next post 4 more
-
Embed this notice
Tim Chambers (tchambers@indieweb.social)'s status on Sunday, 14-Dec-2025 10:17:24 JST
Tim Chambers
@renchap @jaz @evan @strypey @rimu @Mastodon @Gargron
SO: To the user:
• It looks like a local object
• The URL is local
• The interaction worksTo the protocol:
• Authority remains remote
• Deletes and edits still propagate correctly
• No server-wide guessingDid I get the idea right?
-
Embed this notice
Renaud Chaput (renchap@oisaur.com)'s status on Sunday, 14-Dec-2025 20:10:11 JST
Renaud Chaput
@tchambers I am not sure I follow what you are trying to do here.
Our idea is much simpler: when you post a Note that include URLs, the authoring server (ie, the one creating the note) will try to determine if those URLs point to AP objects. If that's the case, it will tag them, either using Object Links (FEP-e232, but we have some concerns about it) or another mecanism. The receiving server will then know this URL points to an AP object, and can have it opened in-app. -
Embed this notice
Tim Chambers (tchambers@indieweb.social)'s status on Sunday, 14-Dec-2025 20:27:55 JST
Tim Chambers
@renchap Thanks, that helps a lot. I think I was over-focusing on URL localization/rewriting still - rather than the core issue, which is signaling intent.
If I’m understanding correctly now, the idea is purely that the authoring server tags URLs that resolve to AP objects at creation time, so receiving servers don’t need to guess and can safely open those links in-app without rewriting or browser-level hacks.
That makes sense to me and lines up with the UX problem I was trying to discuss…👍
-
Embed this notice