Cached events from other instances must be treated as such
Background: Currently when gancio receives an event from an external sources and caches it to display it and make it discoverable in a collection it generates a totally new ActivityStreams representation for the event, including a new ID, it actually makes a copy.
Serving the HTML locally for non-logged and logged in users is probably fine or even desired in our case. Mastodon for example already differs here, they always redirect, except for logged in users (which also makes sense for their use case).
But now the Bug: When querying the gancio URL of a cached external event with the application/json HTTP headers it should redirect to the original resource/event. (e.g. https://gancio-test.event-federation.eu/event/reading-evening). Instead it shows an event with an "local" id.
Further thoughts: On event overview pages the event source is indicated via a little icon on the top right of the event image. On the actual html page of an external cached event, there are actually less indicators that the event is cached from a trusted external event source. I am just curious if this is intended, as my intuition (as far I understand gancio) would go the other way round: on the overview pages all events are "equal". But in the details the source might become a bit more clear. Though I personally like that little icon in the corner very much! Compare to mastodons wording: "open original page". Maybe there could be a little invasive solution like a pop-up when hovering the link to the original source.
Off topic: As our own gancio instance is about to start soon and event federation from WordPress is making much progress I am testing as much as I can :)