aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-22Only emit key change notifications from federation when changes are made (#2217)Neil Alexander
* Only emit key changes when poked over federation * Remove logging * Fix unit test possibly
2022-02-21Fix logic error on context history visibility (#2211)Neil Alexander
2022-02-21Return `ErrRoomNoExists` if insufficient state is available for a ↵Neil Alexander
`buildEvent` to succeed when joining a room (#2210) This may help cases like #2206, since it should prompt us to try a federated join again instead.
2022-02-21Implement `/context` (#2207)S7evinK
* Add QueryEventsAfter * Add /context * Make all tests pass on sqlite * Add queries to get the events for /context requests * Move /context to the syncapi * Revert "Add QueryEventsAfter" This reverts commit 440a771d10632622e8c65d35fe90f0804bc98862. * Simplify getting the required events * Apply RoomEventFilter when getting events * Add passing tests * Remove logging * Remove unused SQL statements Update comments & add TODO
2022-02-21Don't ignore config flag for yggdrasil demo if set (#2070)Benjamin Nater
* Don't ignore config flag for yggdrasil demo if set Signed-off-by: bn4t <me@bn4t.me> * run goimports Signed-off-by: bn4t <me@bn4t.me> * always override ServerName, PrivateKey and KeyID Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-02-21Reset invalid state snapshots for events during state storage refactor ↵Neil Alexander
migration (#2209) This should help with #2204. We can't do this for rooms, only events.
2022-02-21Delete one-time keys when deleting a device (#2208)Neil Alexander
2022-02-18Implement server notices (#2180)S7evinK
* Add server_notices config * Disallow rejecting "server notice" invites * Update config * Slightly refactor sendEvent and CreateRoom so it can be reused * Implement unspecced server notices * Validate the request * Set the user api when starting * Rename function/variables * Update comments * Update config * Set the avatar on account creation * Update test * Only create the account when starting Only add routes if sever notices are enabled * Use reserver username Check that we actually got roomData * Add check for admin account Enable server notices for CI Return same values as Synapse * Add custom error for rejecting server notice invite * Move building an invite to it's own function, for reusability * Don't create new rooms, use the existing one (follow Synapse behavior) Co-authored-by: kegsay <kegan@matrix.org>
2022-02-18Expose sync endpoints via `/v3` (#2203)Neil Alexander
2022-02-18Refactor user API storage (#2202)Neil Alexander
* Refactor User API database * Fix migration bugs
2022-02-18Missing commit from #2186Neil Alexander
2022-02-18Merge both user API databases into one (#2186)Neil Alexander
* Merge user API databases into one * Remove DeviceDatabase from config * Fix tests * Try that again * Clean up keyserver device keys when the devices no longer exist in the user API * Tweak ordering * Fix UserExists flag, device check * Allow including empty entries so we can clean them up * Remove logging
2022-02-18Update /whoami response to match Spec v1.2 (#2201)kegsay
Basically include `is_guest` and `device_id`. The latter is needed for https://github.com/matrix-org/complement/pull/305
2022-02-18Remove event type and state key caches (#2200)Neil Alexander
* Don't proactively cache event types and state keys when we don't know if the transaction has persisted yet * Remove event type and state key caches altogether
2022-02-18Allow preventing guest registration (#2199)Neil Alexander
* Allow disabling guest registration separately * Update sample config * Set `guests_disabled` to `true` in the sample config
2022-02-17Listen for /v3 on CSAPI (#2197)kegsay
* Listen for /v3 on CSAPI * Docs * More docs * Rename path variable to fix key backup tests * Update routing.go Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-02-17Use process context for roomserver input (#2198)Neil Alexander
2022-02-17Make GetUserDevices logging entry more usefulNeil Alexander
2022-02-17Don't re-send sent events in `add_state_events` (#2195)Neil Alexander
* Only add events to `add_state_events` that haven't already been sent to the roomserver output before * Filter on event NIDs instead, hopefully bring joy to SQLite * UnsentFilter, review comments
2022-02-17Fix potential panic in `NewStreamTokenFromString` caused by off-by-one error ↵Neil Alexander
(#2196) Line 291 could panic when trying to set `positions[i]` if `i == len(positions)`.
2022-02-17Raise waitTime for network related issues (#2192)S7evinK
2022-02-17Update NATS Server to v2.7.2 (#2193)Neil Alexander
* Update NATS JetStream to v2.7.2 * Remove deprecated option
2022-02-17Remove outbound proxy, http.ProxyFromEnvironment is now used (#2191)S7evinK
2022-02-17Set 'complement' as the shared secret for CI (#2194)kegsay
2022-02-16Add account type (#2171)S7evinK
* Add account_type for sqlite3 * Add account_type for postgres * Remove CreateGuestAccount from interface * Add new AccountTypes & update test * Use newly added AccountType for account creation * Add migrations * Reuse type * Add AccounnType to Device, so it can be verified on requests * Rename migration, add missing update for appservices * Rename sqlite3 migration * Add missing AccountType to return value * Update sqlite migration Change allowance check on /admin/whois * Fix migration, add IS NULL * Move accountType to completeRegistration * Fix migrations * Add passing test
2022-02-16Make "Device list doesn't change if remote server is down" pass (#2190)S7evinK
2022-02-16Don't panic on retiring an invite that we haven't seen yet (#2189)Neil Alexander
2022-02-15Add host mount compatible Complement image (#2187)kegsay
2022-02-15Update prometheusNeil Alexander
2022-02-15Update to matrix-org/gomatrixserverlib@20632ddNeil Alexander
2022-02-11Ensure only one transaction is used for RS input per room (#2178)Neil Alexander
* Ensure the input API only uses a single transaction * Remove more of the dead query API call * Tidy up * Fix tests hopefully * Don't do unnecessary work for rooms that don't exist * Improve error, fix another case where transaction wasn't used properly * Add a unit test for checking single transaction on RS input API * Fix logic oops when deciding whether to use a transaction in storeEvent
2022-02-11Remove FederationDisabled error type (#2174)S7evinK
2022-02-11Don't allow parallel complement tests (#2169)kegsay
Fixes flakiness seemingly. See https://github.com/matrix-org/synapse/pull/11910
2022-02-11Drop `m.room.create` events in federation `/send` transaction (#2179)Neil Alexander
2022-02-11Add postgres complement support (#2177)kegsay
2022-02-10Point to /complement/ca not /ca (#2172)kegsay
2022-02-10Version 0.6.3 (#2170)v0.6.3Neil Alexander
2022-02-10Support for `m.login.token` (#2014)tommie
* Add GOPATH to PATH in find-lint.sh. The user doesn't necessarily have it in PATH. * Refactor LoginTypePassword and Type to support m.login.token and m.login.sso. For login token: * m.login.token will require deleting the token after completeAuth has generated an access token, so a cleanup function is returned by Type.Login. * Allowing different login types will require parsing the /login body twice: first to extract the "type" and then the type-specific parsing. Thus, we will have to buffer the request JSON in /login, like UserInteractive already does. For SSO: * NewUserInteractive will have to also use GetAccountByLocalpart. It makes more sense to just pass a (narrowed-down) accountDB interface to it than adding more function pointers. Code quality: * Passing around (and down-casting) interface{} for login request types has drawbacks in terms of type-safety, and no inherent benefits. We always decode JSON anyway. Hence renaming to Type.LoginFromJSON. Code that directly uses LoginTypePassword with parsed data can still use Login. * Removed a TODO for SSO. This is already tracked in #1297. * httputil.UnmarshalJSON is useful because it returns a JSONResponse. This change is intended to have no functional changes. * Support login tokens in User API. This adds full lifecycle functions for login tokens: create, query, delete. * Support m.login.token in /login. * Fixes for PR review. * Set @matrix-org/dendrite-core as repository code owner * Return event NID from `StoreEvent`, match PSQL vs SQLite behaviour, tweak backfill persistence (#2071) Co-authored-by: kegsay <kegan@matrix.org> Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-02-10Allow user to forget a room, even if they never were a member (#2166)S7evinK
* Allow user to forget a room, even if they never were a member * Return "M_UNKNOWN" as per the spec Co-authored-by: kegsay <kegan@matrix.org>
2022-02-10Fix fetching missing state (#2163)Neil Alexander
* Check that we have a populated state snapshot when determining if we closed the gap * Do the same in the query API * Use HasState more opportunistically * Try to avoid falling down the hole of using a trustworthy but empty state snapshot for non-create events * Refactor missing state and make sure that we really solve the problem for the new event * Comments * Review comments * Tweak that check again * Tidy up that create check further * Fix build hopefully * Update sendOutliers to use OrderAuthAndStateEvents * Don't go out of bounds on missingEvents
2022-02-10Make the Complement Dockerfile use a fresh directory for runtime (#2168)kegsay
2022-02-10Fix transaction issues in events table in PSQL (#2165)Neil Alexander
* Revert "Revert "Fix storage bug in PSQL events table"" This reverts commit cf447dd52a0015c2c5b10813ed11e59a3712607e. * Membership updater to use updater * Fix membership updater to use transactions properly
2022-02-09Unmarshal events at the Dendrite level not GMSL level (#2164)kegsay
* Use new event json types in gmsl * Fix EventJSON to actually unmarshal events * Update GMSL * Bump GMSL and improve error messages * Send back the correct RespState * Update GMSL
2022-02-09Avoid unnecessary logs and marshaling (#2167)S7evinK
Co-authored-by: kegsay <kegan@matrix.org>
2022-02-09Fix sytest `uploading signed devices gets propagated over federation` (#2162)S7evinK
* Remove unneeded logging * Add MasterKey & SelfSigningKey to update Avoid panic if signatures are not present * Add passing test * Revert "Add MasterKey & SelfSigningKey to update" This reverts commit 2c81b34884be8b5b875a33420c0f985b578d3fb8. * Send MasterKey & SelfSigningKey with update * Debugging * Remove delete() so we also query signingkeys
2022-02-09Revert "Fix storage bug in PSQL events table"Neil Alexander
This reverts commit b4687f2ed24ae4f397e039776118c6efee306fa9.
2022-02-09Fix storage bug in PSQL events tableNeil Alexander
2022-02-08Remove OutputKeyChangeEvent consumer on keyserver (#2160)S7evinK
* Remove keyserver consumer * Remove keyserver from eduserver * Directly upload device keys without eduserver * Add passing tests
2022-02-08More relaxed auth event fetching (#2161)Neil Alexander
* Tweaks around auth event fetching * More tweaking
2022-02-08Demote logging entry for backoffNeil Alexander