Kegsay
088294ee65
Remove QueryRoomsForUser from current state server ( #1398 )
2020-09-04 15:58:30 +01:00
Neil Alexander
5076925c18
Password changes ( #1397 )
...
* User API support for password changes
* Password changes in client API
* Update sytest-whitelist
* Remove debug logging
* Default logout_devices to true
* Fix deleting devices by local part
2020-09-04 15:16:13 +01:00
Kegsay
ca8dcf46b7
Remove QuerySharedUsers from current state server ( #1396 )
...
* Remove QuerySharedUsers from current state server
* Bugfixes
2020-09-04 14:25:01 +01:00
Kegsay
81688d6bde
Remove QueryCurrentState from current-state-server ( #1395 )
2020-09-04 12:30:56 +01:00
Kegsay
67cc8619d3
Remove QueryKnownUsers from current state server ( #1393 )
...
* Remove QueryKnownUsers from current state server
* Fix HTTP mode
2020-09-04 11:46:01 +01:00
Neil Alexander
c63abc8660
Sync bug fixes ( #1394 )
...
* Sync bug fixes
* Remove logging
2020-09-04 11:20:47 +01:00
Kegsay
2570418f42
Remove ServerACLs from the current state server ( #1390 )
...
* Remove ServerACLs from the current state server
Functionality moved to roomserver
* Nothing to see here, move along
2020-09-04 10:40:58 +01:00
Neil Alexander
f1a98e1193
Fix nil txn bug
2020-09-04 10:22:32 +01:00
Neil Alexander
04bc09f591
Defer keyserver and federationsender wakeups to give HTTP listeners time to start ( #1389 )
2020-09-03 21:17:55 +01:00
Kegsay
33b8143a95
Implement more CSS storage functions in roomserver ( #1388 )
2020-09-03 18:27:02 +01:00
Kegsay
b20386123e
Move currentstateserver API to roomserver ( #1387 )
...
* Move currentstateserver API to roomserver
Stub out DB functions for now, nothing uses the roomserver version yet.
* Allow it to startup
* Implement some current-state-server storage interface functions
* Add missing package
2020-09-03 17:20:54 +01:00
Neil Alexander
6150de6cb3
FIFO ordering of input events ( #1386 )
...
* Initial FIFOing of roomserver inputs
* Remove EventID response from api.InputRoomEventsResponse
* Don't send back event ID unnecessarily
* Fix ordering hopefully
* Reduce copies, use buffered task channel to reduce contention on other rooms
* Fix error handling
2020-09-03 15:22:16 +01:00
Neil Alexander
74743ac8ae
Rate limiting ( #1385 )
...
* Initial rate limiting
* Move rate limiting to client API
* Update rate limits to hopefully be self-cleaning
* Use X-Forwarded-For, add comments
* Reduce rate limit threshold
* Tweak interval
* Configurable backoff
* Review comments, set cleanup interval to 30 seconds
* Allow generate-config to produce sane CI config
* Fix Complement dockerfile
2020-09-03 10:12:11 +01:00
Kegsay
d64d0c4be2
Update complement.sh
2020-09-03 10:07:14 +01:00
Kegsay
9d9e854fe0
Add Queryer and Inputer and factor out more RSAPI stuff ( #1382 )
...
* Add Queryer and use embedded structs
* Add Inputer and factor out more RS API stuff
This neatly splits up the RS API based on the functionality it provides,
whilst providing a useful place for code sharing via the `helpers` package.
2020-09-02 17:13:15 +01:00
Neil Alexander
f06637435b
Fix #1381 ( #1384 )
2020-09-02 16:52:06 +01:00
Neil Alexander
3b0774805c
Version imprint ( #1383 )
...
* Versions
* Update build.sh
2020-09-02 16:18:08 +01:00
Neil Alexander
096191ca24
Use federation sender for backfill/getting missing events ( #1379 )
...
* Use federation sender for backfill and getting missing events
* Fix internal URL paths
* Update go.mod/go.sum for matrix-org/gomatrixserverlib#218
* Add missing server implementations in HTTP interface
2020-09-02 15:26:30 +01:00
Kegsay
e473320e73
Refactor roomserver/internal - split perform stuff out ( #1380 )
...
- New package `perform` which contains all `Perform` functions
- New package `helpers` which contains helper functions used by both
perform and query/input functions.
- Perform invite/leave have no idea how to `WriteOutputEvents` and this
is now returned from `PerformInvite` or `PerformLeave` respectively.
Still to do:
- RSAPI is fed into the inviter/joiner/leaver - this introduces circular
logic so will need to be removed.
- Put query operations in a `query` package.
- Put input operations (and output) in an `input` package.
- Factor out helper functions as much as possible, possibly rejigging the
storage layer in the process.
2020-09-02 13:47:31 +01:00
Kegsay
02a73f29f8
Expand RoomInfo to cover more DB storage functions ( #1377 )
...
* Factor more things to RoomInfo
* Factor out remaining bits for RoomInfo
* Linting for now
2020-09-02 10:02:48 +01:00
Kegsay
82a9617659
Put redactions/filters in the writer goroutine ( #1378 )
...
* Put redactions in the writer goroutine
* Update filters on writer goroutine
2020-09-01 20:35:38 +01:00
Neil Alexander
a9f4d83d30
Fix duplicate writers ( #1376 )
...
* Fix writers
* Don't use writers in both shared and sqlite3
2020-09-01 16:58:21 +01:00
Neil Alexander
89c772fb78
Report which component failed to consume ( #1375 )
2020-09-01 16:53:38 +01:00
Kegsay
6d79f04354
Add RoomInfo metadata struct ( #1367 )
...
* Add RoomInfo struct
* Remove RoomNID and replace with RoomInfo
* Bugfix and remove another needless query
* nil guard
2020-09-01 12:40:49 +01:00
Neil Alexander
0ab5bccd11
Storage tweaks ( #1373 )
...
* Sync API tweaks
* User API tweaks
2020-09-01 11:28:35 +01:00
Rohit Mohan
3f9b829bc5
Public room client API changes ( #1368 )
...
Signed-off-by: Rohit Mohan <rohitmohan96@gmail.com>
2020-09-01 10:26:34 +01:00
Neil Alexander
b0d2b39739
Remove unused SyncStreamPosition
2020-09-01 10:26:02 +01:00
Neil Alexander
f7b2a5866e
Update dependencies ( #1372 )
...
* Other updates
* Update naffka
* naffka not indirect
* Revert quic-go
2020-09-01 10:20:31 +01:00
Neil Alexander
737802fc06
Update Complement dockerfile to not wait for apt-get input
2020-08-28 15:19:47 +01:00
Neil Alexander
c42c70597c
Add some error wrapping to sync API, use background context for sync ( #1363 )
...
* Add some error wrapping to sync API
* Don't use request context for BeginTx until mattn/go-sqlite3#764 is fixed
2020-08-28 13:28:40 +01:00
Neil Alexander
fee1c22790
Fix #1361 ( #1362 )
2020-08-28 09:46:32 +01:00
Kegsay
9af2f5f1f2
Remove device DB from clientapi ( #1352 )
...
* Remove device DB from clientapi
* Remove device DB from startup configuration
It's all an impl detail now in user API
2020-08-27 18:53:40 +01:00
Neil Alexander
c0f28845f8
Try to protect GetNextTransactionPDUs ( #1350 )
2020-08-27 15:27:12 +01:00
Neil Alexander
034e5d5a55
Speed up accepting invites from remote users if we're already in the room ( #1349 )
2020-08-27 11:47:13 +01:00
Neil Alexander
7466e6b718
Fix lock errors in federation sender ( #1347 )
...
* Fix lock errors in federation sender
* Additional fix to writers
2020-08-27 11:05:41 +01:00
Kegsay
421b6b2313
Add OpenTracing documentation ( #1345 )
...
* Add OpenTracing documentation
Closes #274
* Reshuffle
* Update setup.md
2020-08-27 10:24:56 +01:00
Neil Alexander
42183bef50
Allow join to accept server_name in query parameters ( #1346 )
2020-08-26 18:23:08 +01:00
Kegsay
3802efe301
Port of #945 ( #1343 )
...
- Make sure we always cleanup the temp directory on error.
- Complain about it having an error prone API shape.
2020-08-26 15:38:34 +01:00
Kegsay
29d6481842
Wait for 8h between device list updates for blacklisted servers ( #1344 )
2020-08-26 15:38:21 +01:00
Kegsay
abd16ff4a0
Modify DeviceListUpdater to retry requests according to RetryAfter ( #1342 )
...
* Modify DeviceListUpdater to retry requests according to RetryAfter
* Reduce wait time for sytest test pollution
2020-08-26 12:03:09 +01:00
oliverpool
3205b9212d
[readability] use event.StateKeyEquals where relevant and minor for-loop refactoring ( #1339 )
...
* use event.StateKeyEquals where relevant
Signed-off-by: Olivier Charvin <git@olivier.pfad.fr>
* use userID
2020-08-25 21:04:35 +01:00
Kegsay
55498c8deb
Fix 'Invited user can reject invite over federation several times' ( #1341 )
2020-08-25 18:59:00 +01:00
Neil Alexander
c60270eea3
Enforce history visibility etc for /rooms/{roomID}/state ( #1340 )
...
* Enforce history visibility etc for /rooms/{roomID}/state
* Deduplicate OnIncomingStateRequest and OnIncomingStateTypeRequest
* Revert "Deduplicate OnIncomingStateRequest and OnIncomingStateTypeRequest"
This reverts commit 335035d66e
.
2020-08-25 18:43:56 +01:00
Neil Alexander
48850d9995
Update /versions ( #1338 )
2020-08-25 15:44:33 +01:00
Neil Alexander
819b926820
Make redactions permanent ( #1337 )
...
* Make redactions permanent
* Update storage.go
2020-08-25 15:44:19 +01:00
Neil Alexander
287700baee
Randomly generated media IDs ( #1336 )
...
* Filenames based on hashes but media IDs randomly generated and per-upload metadata
* Lint
* Comment generateMediaID
2020-08-25 15:08:37 +01:00
oliverpool
a4db43e096
Don't overwrite global err before return ( #1293 )
...
Signed-off-by: Olivier Charvin <git@olivier.pfad.fr>
2020-08-25 13:11:52 +01:00
Neil Alexander
c8b873abc8
Roomserver NID caches ( #1335 )
...
* 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-25 12:32:29 +01:00
Kegsay
05242096a1
Update README.md
2020-08-25 12:09:34 +01:00
Kegsay
733abe912b
Add spec compliant path for redaction ( #1334 )
...
Possibly fixes #1194
2020-08-25 10:39:30 +01:00