Commit graph

1889 commits

Author SHA1 Message Date
Neil Alexander
e6d4bdeed5
Try to recover from corrupted NATS streams in memory temporarily (#2301) 2022-03-25 12:24:21 +00:00
Neil Alexander
5e780d3ca2
Chain Docker update onto main 2022-03-25 10:08:13 +00:00
Neil Alexander
87298985a7
Update Docker workflow some more 2022-03-25 09:05:06 +00:00
S7evinK
f2e550efd8
Refactor appservice & client API to use userapi internal (#2290)
* Refactor user api internal

* Refactor clientapi to use internal userapi

* Use internal userapi instead of user DB directly

* Remove AccountDB dependency

* Fix linter issues

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-03-24 22:45:44 +01:00
S7evinK
8e76523b04
Update database when rejecting federated invite (#2300)
* Actually set the DB entry to "leave"

* Try to rollback in case of error

* Fix linter issue
2022-03-24 22:13:19 +01:00
Neil Alexander
9a727416eb
Use github.actor for GHCR upload 2022-03-24 17:08:17 +00:00
Neil Alexander
398aae112c
Fix Docker flow 2022-03-24 16:22:39 +00:00
Neil Alexander
31a3c12682
Allow manual Docker tasks in GHA 2022-03-24 15:50:30 +00:00
Neil Alexander
1b389abbfd
Upload Docker images for releases to both Docker Hub and GitHub Container Registry (#2299)
* Upload Docker images for releases to both Docker Hub and GitHub Container Registry

* Build current images on `:main` tag

* Use Dendrite flow to trigger Docker flow for `:main`

* Tweaks

* Fix references to `env.GHCR_NAMESPACE`
2022-03-24 15:22:06 +00:00
Nick Cao
bb31b25f1b
fixup treat the sender_localpart as an exclusive namespace of one user (#2255)
Signed-off-by: Nick Cao <nickcao@nichi.co>

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-03-24 13:57:00 +00:00
Neil Alexander
ad818a4370
Update dendrite.yml 2022-03-24 12:41:30 +00:00
Neil Alexander
c2a27efc36
Update on section of GHA workflow 2022-03-24 12:40:44 +00:00
Neil Alexander
41d71a304c
Update README.md 2022-03-24 12:25:45 +00:00
Neil Alexander
fe5148c12d
Check for success of initial tests on GHA 2022-03-24 12:14:35 +00:00
Neil Alexander
3bdda65bc4
Hopefully fail Initial tests passed if they actually failed (#2298) 2022-03-24 12:05:36 +00:00
S7evinK
01f863d248
Move CI to Github Actions (#2297)
* Initial test

* Move CI to GHA

* Naming

* Always report all linter issues

* Remove if true

* Test complement in different variations

* Try again

* Move Complement back after initial tests and readd timeout
Make linting fail further checks
Remove CodeQL

* Update and rename tests.yml to dendrite.yml

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-03-24 12:52:51 +01:00
Neil Alexander
d983d17355
Fix lint errors 2022-03-24 10:03:22 +00:00
Neil Alexander
6c95f9b535
Update to matrix-org/pinecone@6fb0773 2022-03-23 14:45:22 +00:00
S7evinK
6e8cca344a
Fix #2287 by trying to fetch account by lowercase localpart (#2292)
* Fix #2287 by trying to fetch account by lowercase localpart and as
passed by request
2022-03-23 13:55:34 +01:00
kegsay
3213910977
Update PR template (#2294) 2022-03-23 11:41:48 +00:00
Neil Alexander
98a5e410d7
Per-room consumers (#2293)
* Roomserver input refactoring — again!

* Ensure the actor runs again

* Preserve consumer after unsubscribe

* Another sprinkling of magic

* Rename `TopicFor` to `Prefixed`

* Recreate the stream if the config is bad

* Check streams too

* Prefix subjects, preserve inboxes

* Recreate if subjects wrong

* Remove stream subject

* Reconstruct properly

* Fix mutex unlock

* Comments

* Fix tests

* Don't drop events

* Review comments

* Separate `queueInputRoomEvents` function

* Re-jig control flow a bit
2022-03-23 10:20:18 +00:00
Neil Alexander
9572f5ed19
Wait for safe shutdown of NATS Server (#2289) 2022-03-21 10:32:34 +00:00
S7evinK
8336ce972e
Remove unused partition_offset_table (#2288) 2022-03-21 10:47:41 +01:00
Neil Alexander
e47dfe4786
Fix panic that can occur from nil pointer exception in media API fetchRemoteFile 2022-03-18 16:21:15 +00:00
Neil Alexander
c54d88aecf
Update to matrix-org/pinecone@8687b0d 2022-03-18 15:32:14 +00:00
Neil Alexander
a96098051e
Update FAQ.md 2022-03-18 11:44:13 +00:00
Neil Alexander
475d3c1af9
Better mapping of stream positions to topological positions in /messages (#2263)
* Convert stream positions into topological positions for both `from` and `to` in `/messages`

* Hopefully it works now

* Remove unnecessary logging

* Return sane values if `StreamToTopologicalPosition` can't work out the right thing to do

* Revert logging change

* tweaks

* Fix `selectEventIDsInRangeASCSQL`

* Test `Getting messages going forward is limited for a departed room (SPEC-216)` was passing incorrectly so un-whitelist it
2022-03-18 10:40:01 +00:00
Neil Alexander
191486438c
Assign room NIDs, event type NIDs and state key NIDs outside of database transactions (#2265)
* Assign room NIDs and state key NIDs outside of database transactions

* In roomserver storage package too

* Don't take a `txn` parameter, clean up SQLite
2022-03-17 18:24:27 +00:00
Neil Alexander
4e64c270db
Various bug fixes and tweaks around invites and membership 2022-03-17 17:05:21 +00:00
Neil Alexander
0fb94fc781
Update to matrix-org/gomatrixserverlib@0980b7f 2022-03-17 16:48:41 +00:00
Neil Alexander
1894f34868
Update to matrix-org/gomatrixserverlib@a62d9f3 2022-03-17 09:58:44 +00:00
Neil Alexander
96d3883a18
Remove unexpected file 2022-03-16 16:50:44 +00:00
Neil Alexander
047147a3af
Update Yggdrasil P2P demo (also remove QUIC dependency) 2022-03-16 16:49:10 +00:00
Neil Alexander
e30aa38fb0
Stream tweaks, use same codepath for sync vs async input room events, wait for error response via NATS messages (#2283) 2022-03-16 14:21:11 +00:00
S7evinK
485367fcfa
Return error from remote download requests (#2266)
* Return error from remote download requests

* Remove redundant err check, return better message if file does not exist
2022-03-16 12:16:27 +01:00
Neil Alexander
0ad665fabc
Update to NATS Server 2.7.4 (#2282)
* Update to NATS Server v2.7.4-beta2

* Bump to release v2.7.4

* Listen for TCP

* Revert "Listen for TCP"

This reverts commit 28dff0ab4d807417a9eda8feab9f8efdf13837c7.
2022-03-16 10:47:18 +00:00
Neil Alexander
2696f36738
Federation client improvements (HTTP/2, reaping federation trippers, TLS client session cache, keepalive tweaks, update to matrix-org/gomatrixserverlib#297) 2022-03-16 10:27:16 +00:00
S7evinK
d8facd6308
Fix SQL statement for PurgeRoomState (#2280) 2022-03-16 11:25:50 +01:00
Neil Alexander
fc0bdf5d88
Truncate recentStreamEvents before working out which event IDs to exclude from stateEvents (#2281) 2022-03-16 10:18:08 +00:00
S7evinK
69268fc48e
Use accountdb with provided config (#2273)
* Fix #2272

* Ensure we only allow lowercase usernames using `create-account`

Co-authored-by: kegsay <kegan@matrix.org>
2022-03-15 12:13:33 +01:00
S7evinK
a2cf1aaf48
Fix /context with lazy_load_members (#2277)
* Add membership events to the end of the list, to ensure Sytest sees them

* Move tests to allowlist

* Append to correct list, fix logging message

* Add flakey tests to blacklist

* Remove flakey tests from whitelist
2022-03-14 20:04:24 +01:00
Neil Alexander
01d71a767d
Platform sanity checks (#2271)
* Platform sanity checks

* Don't yell about `root` because Docker
2022-03-11 17:27:12 +00:00
Neil Alexander
507a8e6773
Don't range entire state for /sync (#2270)
* Don't range entire state for rooms the user has no reason to care about

* Remove unnecessary db field in postgresql
2022-03-11 12:48:45 +00:00
Neil Alexander
e485f9c2bd
64-bit stream IDs for device list updates (#2267) 2022-03-10 13:17:28 +00:00
Neil Alexander
e1881627d1
Implement MSC3383 (update to matrix-org/gomatrixserverlib#296) 2022-03-10 12:44:31 +00:00
Neil Alexander
d78e0a33e0
Remove references to userapi_devices (fixes #2259) 2022-03-09 16:38:50 +00:00
Neil Alexander
089d16812c
Fix GET /directory/list/room/{roomID} (#2262)
* Let's try to work out why this endpoint lies

* Try that again

* Fix `QueryPublishedRooms`

* Remove logging

* Remove unnecessary change

* Remove unnecessary change
2022-03-09 10:42:24 +00:00
Neil Alexander
030b995636
Update to matrix-org/pinecone@cfde1f8 2022-03-09 10:19:49 +00:00
kegsay
979738b2da
Get MSC2946 working for restricted rooms locally/over federation (#2260)
* Get MSC2946 working for restricted rooms locally

* Get MSC2946 working for restricted rooms over federation

* Allow invited in addition to joined to enable child walking
2022-03-08 13:24:32 +00:00
Neil Alexander
67de4dbd0c
Don't send adds_state_events in roomserver output events anymore (#2258)
* Don't send `adds_state_events` in roomserver output events anymore

* Set `omitempty` on some output fields that aren't always set

* Add `AddsState` helper function

* No-op if no added state event IDs

* Revert "No-op if no added state event IDs"

This reverts commit 71a0ef3df10e0d94234d916246c30b0a4e82b26e.

* Revert "Add `AddsState` helper function"

This reverts commit c9fbe45475eb12ae44d2a8da7c0fc3a002ad9819.
2022-03-07 17:17:16 +00:00