@@ -512,6 +512,13 @@ rather than extending the AS API. However, it seems unnecessarily burdensome to
512512make bridge authors understand the SS API, especially when we already have so
513513many AS API bridges. Hence these minor extensions to the existing AS API.
514514
515+ Another way of doing this is using the existing single send state and event API
516+ endpoints. We could use ` PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey} `
517+ with ` ?historical=true ` which would create the floating outlier state events.
518+ Then we could use ` PUT /_matrix/client/r0/rooms/{roomId}/send/{eventType}/{txnId} ` ,
519+ with ` ?prev_event ` pointing at that floating state to auth the event and where we
520+ want to insert the event.
521+
515522Another way of doing this might be to store the different eras of the room as
516523different versions of the room, using ` m.room.tombstone ` events to form a linked
517524list of the eras. This has the advantage of isolating room state between
@@ -528,7 +535,20 @@ importing a mail or newsgroup archive and you stumble across a lost mbox with a
528535few msgs in retrospect, you wouldn't want or be able to splice a whole new room
529536in with tombstones.
530537
538+ Another way could be to let the server who issued the ` m.room.create ` also go
539+ and retrospectively insert events into the room outside the context of the DAG
540+ (i.e. without parent prev_events or signatures). To quote the original
541+ [ bug] ( https://github.com/matrix-org/matrix-doc/issues/698#issuecomment-259478116 ) :
542+
543+ > You could just create synthetic events which look like normal DAG events but
544+ exist before the m.room.create event. Their signatures and prev-events would
545+ all be missing, but they would be blindly trusted based on the HS who is
546+ allowed to serve them (based on metadata in the m.room.create event). Thus
547+ you'd have a perimeter in the DAG beyond which events are no longer
548+ decentralised or signed, but are blindly trusted to let HSes insert ancient
549+ history provided by ASes.
531550
551+ However, this feels needlessly complicated if the DAG approach is sufficient.
532552
533553
534554## Security considerations
0 commit comments