aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-01Add RoomInfo metadata struct (#1367)Kegsay
* Add RoomInfo struct * Remove RoomNID and replace with RoomInfo * Bugfix and remove another needless query * nil guard
2020-09-01Storage tweaks (#1373)Neil Alexander
* Sync API tweaks * User API tweaks
2020-09-01Public room client API changes (#1368)Rohit Mohan
Signed-off-by: Rohit Mohan <rohitmohan96@gmail.com>
2020-09-01Remove unused SyncStreamPositionNeil Alexander
2020-09-01Update dependencies (#1372)Neil Alexander
* Other updates * Update naffka * naffka not indirect * Revert quic-go
2020-08-28Update Complement dockerfile to not wait for apt-get inputNeil Alexander
2020-08-28Add some error wrapping to sync API, use background context for sync (#1363)Neil Alexander
* Add some error wrapping to sync API * Don't use request context for BeginTx until mattn/go-sqlite3#764 is fixed
2020-08-28Fix #1361 (#1362)Neil Alexander
2020-08-27Remove device DB from clientapi (#1352)Kegsay
* Remove device DB from clientapi * Remove device DB from startup configuration It's all an impl detail now in user API
2020-08-27Try to protect GetNextTransactionPDUs (#1350)Neil Alexander
2020-08-27Speed up accepting invites from remote users if we're already in the room ↵Neil Alexander
(#1349)
2020-08-27Fix lock errors in federation sender (#1347)Neil Alexander
* Fix lock errors in federation sender * Additional fix to writers
2020-08-27Add OpenTracing documentation (#1345)Kegsay
* Add OpenTracing documentation Closes #274 * Reshuffle * Update setup.md
2020-08-26Allow join to accept server_name in query parameters (#1346)Neil Alexander
2020-08-26Port of #945 (#1343)Kegsay
- Make sure we always cleanup the temp directory on error. - Complain about it having an error prone API shape.
2020-08-26Wait for 8h between device list updates for blacklisted servers (#1344)Kegsay
2020-08-26Modify DeviceListUpdater to retry requests according to RetryAfter (#1342)Kegsay
* Modify DeviceListUpdater to retry requests according to RetryAfter * Reduce wait time for sytest test pollution
2020-08-25[readability] use event.StateKeyEquals where relevant and minor for-loop ↵oliverpool
refactoring (#1339) * use event.StateKeyEquals where relevant Signed-off-by: Olivier Charvin <git@olivier.pfad.fr> * use userID
2020-08-25Fix 'Invited user can reject invite over federation several times' (#1341)Kegsay
2020-08-25Enforce history visibility etc for /rooms/{roomID}/state (#1340)Neil Alexander
* Enforce history visibility etc for /rooms/{roomID}/state * Deduplicate OnIncomingStateRequest and OnIncomingStateTypeRequest * Revert "Deduplicate OnIncomingStateRequest and OnIncomingStateTypeRequest" This reverts commit 335035d66e629022232abc682d6631e3cf669e23.
2020-08-25Update /versions (#1338)Neil Alexander
2020-08-25Make redactions permanent (#1337)Neil Alexander
* Make redactions permanent * Update storage.go
2020-08-25Randomly generated media IDs (#1336)Neil Alexander
* Filenames based on hashes but media IDs randomly generated and per-upload metadata * Lint * Comment generateMediaID
2020-08-25Don't overwrite global err before return (#1293)oliverpool
Signed-off-by: Olivier Charvin <git@olivier.pfad.fr>
2020-08-25Roomserver NID caches (#1335)Neil Alexander
* Initial work on roomserver NID caches * Give caches to roomserver storage * Populate caches * Fix bugs * Fix WASM build * Don't hit cache twice in RoomNIDExcludingStubs * Store reverse room ID-room NID mapping, consult caches when assigning NIDs
2020-08-25Update README.mdKegsay
2020-08-25Add spec compliant path for redaction (#1334)Kegsay
Possibly fixes #1194
2020-08-25Use Writer in shared package (#1296)Neil Alexander
2020-08-25Update README/CONTRIBUTING/sytest for AWSY issues (#1333)Kegsay
* Update README/CONTRIBUTING/sytest for AWSY issues * More docs
2020-08-24Fix scripts path in documentation (#1294)oliverpool
Broken by 24d8df664c21fa8bd68d80b5585a496e264c410a Signed-off-by: Olivier Charvin <git@olivier.pfad.fr>
2020-08-24Update Naffka (#1295)Neil Alexander
* Update Naffka * Fix Naffka setup * Update Naffka * Update Naffka
2020-08-21Fix embedding Element Web into demo-libp2p and demo-yggdrasilNeil Alexander
2020-08-21Component-wide TransactionWriters (#1290)Neil Alexander
* Offset updates take place using TransactionWriter * Refactor TransactionWriter in current state server * Refactor TransactionWriter in federation sender * Refactor TransactionWriter in key server * Refactor TransactionWriter in media API * Refactor TransactionWriter in server key API * Refactor TransactionWriter in sync API * Refactor TransactionWriter in user API * Fix deadlocking Sync API tests * Un-deadlock device database * Fix appservice API * Rename TransactionWriters to Writers * Move writers up a layer in sync API * Document sqlutil.Writer interface * Add note to Writer documentation
2020-08-21Select distinct on room memberships in sync API (#1292)Neil Alexander
2020-08-20Add support for running Complement on current working directories (#1291)Kegsay
This will be used in the future by Buildkite to run on CI.
2020-08-20Add FederationClient interface to federationsender (#1284)Kegsay
* Add FederationClient interface to federationsender - Use a shim struct in HTTP mode to keep the same API as `FederationClient`. - Use `federationsender` instead of `FederationClient` in `keyserver`. * Pointers not values * Review comments * Fix unit tests * Rejig backoff * Unbreak test * Remove debug logs * Review comments and linting
2020-08-20Roomserver per-room input parallelisation (Postgres) (#1289)Neil Alexander
* Per-room input mutex * GetMembership should use transaction when assigning state key NID * Actually use writer transactions rather than ignoring them * Limit per-room mutexes to Postgres * Flip the check in InputRoomEvents
2020-08-20Change backoff behaviour so that Failure returns planned end time (#1288)Neil Alexander
2020-08-20Fix more roomserver transactions/locks (#1287)Neil Alexander
* Fix transaction to InsertTransaction * Remove unnecessary txn, add txns around setting up updaters
2020-08-20#903: Client API: mutex on (user_id, room_id) (#1286)anandv96
* Client API: mutex on (user_id, room_id) * Client API: mutex on (user_id, room_id) Changed variable name used for the mutexes map Changed the place where the mutex is locked Changed unlock to a defered call instead of manually calling it
2020-08-19Transaction writer changes, move roomserver writers (#1285)Neil Alexander
* Updated TransactionWriters, moved locks in roomserver, various other tweaks * Fix redaction deadlocks * Fix lint issue * Rename SQLiteTransactionWriter to ExclusiveTransactionWriter * Fix us not sending transactions through in latest events updater
2020-08-19Roomserver updater changes (#1283)Neil Alexander
* Take input transaction when setting up updaters * Fix nil pointer exceptions * Rename room recent events updater to latest events updater * Contd rename room recent events updater to latest events updater * Remove unnecessary interfaces for latest events and membership updaters
2020-08-19Roomserver database-wide TransactionWriters (#1282)Neil Alexander
* Database-wide TransactionWriter * Fix deadlocking Sync API tests * Undo non-roomserver changes for now
2020-08-18Summarise key change logs (#1278)Kegsay
2020-08-18Only emit key changes which are different from what we had before (#1279)Kegsay
We did this already for local `/keys/upload` but didn't for remote `/users/devices`. This meant any resyncs would spam produce events, hammering disk i/o and spamming the logs.
2020-08-17Make PerformJoin responsible for sending invite to RS input (#1277)Neil Alexander
* Make PerformJoin send input membership event * Invite input room events in separate goroutine * Don't limit roomserver input events using request context * Synchronous input room events * Nope, that didn't work * oops send state key to GetMembership * Don't generate stripped state in client API more times than necessary, generate output events on receiving end of federated invite * Commit membership updater changes * Tweaks
2020-08-17Add SkipClean and UseEncodedPaths to intermediate routers (#1275)Neil Alexander
2020-08-17Synchronous invites (#1273)Neil Alexander
* Refactor invites to be synchronous * Fix synchronous invites * Fix client API return type for send invite error * Linter * Restore PerformError on rsAPI.PerformInvite * Update sytest-whitelist * Don't override PerformError with normal errors * Fix error passing * Un-whitelist a couple of tests * Update sytest-whitelist * Try to handle multiple invite rejections better * nolint * Update gomatrixserverlib * Fix /v1/invite test * Remove replace from go.mod
2020-08-14AWSY: new groups and add AS API section (#1270)Kegsay
Really we should never have put the AS API bits under CS API to begin with, as it is a completely different versioned spec: split it out (which bumps the CS API % slightly). Also, split out Device Keys into 2 extra sections: Device Key Backup and Cross-signing Keys. The point of AWSY is for it to be easy for anyone to see which features are implemented in Dendrite, and bundling three distinct features under the umbrella of Device Keys was just unclear.
2020-08-13Fix Docker builds, polylith components (#1269)Neil Alexander