De-emphasise and reduce the usage of `/_synapse` endpoints
Maintainer antworten meist innerhalb von 14 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- go
- Bereich
- api, backend-api-design, testing
Rechercherichtung
Beginne mit der Überprüfung von README.md's Image Requirements, RegisterUser, TestCanRegisterAdmin, TestServerNotices und TestRegistration, um jede aktuelle Verwendung von /_synapse zu erfassen. Der Vorschlag definiert die Ersatz-API nicht, daher ist die Arbeit nicht bereit, bis die server-notice-Schnittstelle und der Migrationsumfang vereinbart sind; abgeschlossen wäre sie, wenn unnötige Synapse-spezifische Annahmen entfernt werden und die Abdeckung von server-notice erhalten bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
This is something I noticed while working on conduit support (#513), where it seems that complement currently requires or emphasizes the usage of /_synapse endpoints.
Specifically, it uses them like so:
- Under "Image Requirements" in README.md, it asks for
/_synapse/admin/v1/registerto be supported for "admin" registrations.- This is then used in
RegisterUserwhere isAdmin istrue, which is used by the following tests:TestCanRegisterAdminTestServerNotices
- This is then used in
TestRegistration, under somet.Runs
From a puritan perspective, these should not exist within complement, as they test Synapse-specific behaviour that other servers have to then copy uncritically, and without blessing or formalisation from the spec.
From such a perspective, the concept of "admins" is also dubious, as the spec (explicitly) makes no serious note of them, leaving server administration as an implementation detail. (See MSC3593 for some context reading on an attempt to broach/formalise this as well.)
For all of complement's current usage of this endpoint, there is one problem with a suggestion of removing all of them altogether; Server Notices are defined in the spec, and so the absence of a formal mechanism which empowers servers/users to send server notices is unfortunate, but this means complement has no "closed system" way of implementing this.
To make the rejection of a /_synapse specific API explicit, and to develop a better way of testing server notices, I'm suggesting to introduce a /_complement API space, which servers should enable only in their corresponding complement images, and (for now) be only used for sending server notices (exact API forthcoming), not to elevate individual users as a "server admin", as this concept does not properly exist from a matrix specification standpoint.
This API space should only perform individual elevated actions, such as sending a single server notice via a POST API.
Hopefully, this way, we can avoid biasing to a certain implementation, and help make complement more pure or agnostic when testing conformity.
- Vorherrschende Sprache
- Go
- Sterne
- 101
- Forks
- 72
- Ø Merge
- 11 T. 5 Std.
- Gemergte PRs (30 T.)
- 7
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus matrix-org/complement
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
matrix-org/complement#900 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 14 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
matrix-org/complement#938 ·
Maintainer antworten meist innerhalb von 14 Tagen
-
New tests for MSC4354 Sticky EventsEvtl. wieder frei @reivilibre hat das vor 31 Tagen übernommen, und es ist kein Pull Request offen. Offen
matrix-org/complement#925 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 14 Tagen
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 52/100
matrix-org/complement#901 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 14 Tagen
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
matrix-org/complement#899 ·
Maintainer antworten meist innerhalb von 14 Tagen
Alle Issues in matrix-org/complement
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
github/github-mcp-server#3581 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
agent-review-finding chore
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
jordansmall/spindrift#6033 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
hyperledger/fabric-x-common#230 ·
Maintainer antworten meist innerhalb von 1 Tag
-
About.md no longer usedOffenbug
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 65/100
open-wanderer/wanderer#1443 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag