aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-23Bump helm chart versionhelm-dendrite-0.13.2Till Faelligen
2023-08-23Version 0.13.2 (#3187)v0.13.2Till
2023-08-15[pseudoID] More pseudo ID fixes (#3167)Sam Wedgwood
Signed-off-by: `Sam Wedgwood <sam@wedgwood.dev>`
2023-08-11Update pinecone to use new quic version (#3174)devonh
2023-08-08Add config key for default room version (#3171)Sam Wedgwood
This PR adds a config key `room_server.default_config_key` to set the default room version for the room server. Signed-off-by: `Sam Wedgwood <sam@wedgwood.dev>`
2023-08-03Add ID in error messages for ApplicationServices (#3162)maxberger
This is to easier identify which service caused the error. Feature is just improving logging, thus no tests added. ### Pull Request Checklist <!-- Please read https://matrix-org.github.io/dendrite/development/contributing before submitting your pull request --> * [X] I have justified why this PR doesn't need tests * [X] Pull request includes a [sign off below using a legally identifiable name](https://matrix-org.github.io/dendrite/development/contributing#sign-off) _or_ I have already signed off privately Signed-off-by: `Maximilian Berger <max@berger.name>` Co-authored-by: Till <2353100+S7evinK@users.noreply.github.com>
2023-08-02Use `*spec.SenderID` for `QuerySenderIDForUser` (#3164)Sam Wedgwood
There are cases where a dendrite instance is unaware of a pseudo ID for a user, the user is not a member of that room. To represent this case, we currently use the 'zero' value, which is often not checked and so causes errors later down the line. To make this case more explict, and to be consistent with `QueryUserIDForSender`, this PR changes this to use a pointer (and `nil` to mean no sender ID). Signed-off-by: `Sam Wedgwood <sam@wedgwood.dev>`
2023-07-31[pseudoIDs] Fixes for room alias tests (#3159)Sam Wedgwood
Some (deceptively) simple fixes for some bugs that caused room alias tests to fail (sytext `tests/30rooms/05aliases.pl`). Each commit has details about what it fixes. Sytest results: - Sytest before (79d4a0e): https://gist.github.com/swedgwood/972ac4ef93edd130d3db0930703d6c82 - Sytest after (4b09bed): https://gist.github.com/swedgwood/504b00ac4ee892acb757b7fac55fa28a Room aliases go from `8/15` to `15/15`, but looks like these fixes also managed to fix about `4` other tests, which is a nice bonus :) Signed-off-by: `Sam Wedgwood <sam@wedgwood.dev>`
2023-07-28Send a more generic error message to clients if the file can't be found (#3161)Till
Fixes #3160
2023-07-26Restore old behaviour of PurgeRoomTill Faelligen
2023-07-26add deployment strategy option to helm chart (re #3021) (#3155)George Antoniadis
@S7evinK sorry for the spam but any chance we get get this merged into main at some point? It was previously merged in https://github.com/matrix-org/dendrite/pull/3021 into a temp branch that never made it into main. If there is an issue with this being merged let me know. --- Minor update to the helm chart to allow setting the update strategy as the default `RollingUpdate` one is a bit annoying if using `ReadWriteOnce` volumes for media. Hope this makes sense. --- ### Pull Request Checklist <!-- Please read https://matrix-org.github.io/dendrite/development/contributing before submitting your pull request --> * [x] ~~I have added Go unit tests or [Complement integration tests](https://github.com/matrix-org/complement) for this PR _or_ I have justified why this PR doesn't need tests~~ Haven't touched any go files. * [x] Pull request includes a [sign off below using a legally identifiable name](https://matrix-org.github.io/dendrite/development/contributing#sign-off) _or_ I have already signed off privately Signed-off-by: `George Antoniadis <george@noodles.gr>` [skip ci]
2023-07-21Don't quit if unknown msc in config, log it and keep goingDevon Hudson
2023-07-21Fix event federation with pseudoID rooms (#3156)devonh
2023-07-21Update ConnectionManager to still allow component defined connections (#3154)Till
2023-07-20de-MSC-ifying space summaries (MSC2946) (#3134)helm-dendrite-0.13.1Sam Wedgwood
- This PR moves and refactors the [code](https://github.com/matrix-org/dendrite/blob/main/setup/mscs/msc2946/msc2946.go) for [MSC2946](https://github.com/matrix-org/matrix-spec-proposals/pull/2946) ('Space Summaries') to integrate it into the rest of the codebase. - Means space summaries are no longer hidden behind an MSC flag - Solves #3096 Signed-off-by: Sam Wedgwood <sam@wedgwood.dev>
2023-07-19Use pointer when passing the connection manager around (#3152)Till
As otherwise existing connections aren't reused.
2023-07-18Extend context timeout on send_join to allow for joining complex rooms (#3153)devonh
Background federated joins are currently broken since they timeout after 30s. This timeout didn't exist before the refactor. It should still exist but it needs to be extended to allow for the additional time it can take a server to generate the /send_join response when joining a complex room.
2023-07-14Don't HTTP500 if a profile does't existTill Faelligen
2023-07-14Discard "illegal base64 data at input byte 0" errors in the SyncAPITill Faelligen
2023-07-14Avoid panic due to being unable to query the userIDTill Faelligen
2023-07-13Optimise getting local members and membership counts (#3150)Till
The previous version was getting **ALL** membership events (as `ClientEvents`, so going through `NewEventFromTrustedJSONWithID`) for a given room. Now we are querying only locally joined users as `ClientEvents`, which should **significantly** reduce allocations. Take for example a large room with 2k membership events, but only 1 local user - avoiding 1999 `NewEventFromTrustedJSONWithID` calls just to calculate the `roomSize` which we can also query by other means. This is also getting called for every `OutputRoomEvent` in the userAPI. Benchmark with 1 local user and 100 remote users. ``` pkg: github.com/matrix-org/dendrite/userapi/consumers cpu: 12th Gen Intel(R) Core(TM) i5-12500H │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ LocalRoomMembers-16 375.9µ ± 7% 327.6µ ± 6% -12.85% (p=0.000 n=10) │ old.txt │ new.txt │ │ B/op │ B/op vs base │ LocalRoomMembers-16 79.426Ki ± 0% 8.507Ki ± 0% -89.29% (p=0.000 n=10) │ old.txt │ new.txt │ │ allocs/op │ allocs/op vs base │ LocalRoomMembers-16 1015.0 ± 0% 277.0 ± 0% -72.71% (p=0.000 n=10) ```
2023-07-13Tweaks around `/messages` (#3149)Till
Try to mitigate some issues with `/messages`
2023-07-13Update NATS again [skip ci]Till Faelligen
2023-07-11Add revision to version string (#3147)Till
Since the removal of `build.sh`, we don't include any information about the revision Dendrite was build from. Since go1.18, the revision a binary was build from is automatically included, so we can try to get that instead. This also adds a `dendrite_up` metric showing the current version (`dendrite_up{version="0.13.1+c796f20"} 1`) Closes #2993
2023-07-08Avoid loops by setting end to an empty string if start == end (#3146)Till
2023-07-07Unknown issueTill Faelligen
2023-07-07[NATS] Issue identified and fixed applied, workaround known.Till Faelligen
2023-07-07Fix issues reported by Sentry (#3143)Till
This should fix a few issues reported by Sentry
2023-07-07Add event size checks similar to Synapse (#3140)Till
Companion to https://github.com/matrix-org/gomatrixserverlib/pull/400 This tries to mimic the logic found in Synapse, as dropping events can break rooms (and we may end up in endless loops..)
2023-07-07Set max age for roomserver input stream to avoid excessive interior deletes ↵Neil
(#3145) If old messages build up in the input stream and do not get processed successfully, this can create a significant drift between the stream first sequence and the consumer ack floors, which results in a slow and expensive start-up when interest-based retention is in use. If a message is sat in the stream for 24 hours, it's probably not going to get processed successfully, so let NATS drop them instead. Dendrite can reconcile by fetching missing events later if it needs to. --------- Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-07-07Prepare statement on an existing transaction (#3144)Till
This should fix an issue with the database being locked for SQLite.
2023-07-06Populate syncapi state event prev_sender with userID (#3142)devonh
2023-07-06Fix prev event lookup in syncapi (#3141)devonh
The syncapi operates using userID's so when querying for the previous state event we need to lookup the userID from the given senderID before the state query.
2023-07-06Add pseudoID compatibility to Invites (#3126)devonh
2023-07-06Don't spam the logs - downgrade sentryTill Faelligen
2023-07-06Back to the original version for nowTill Faelligen
2023-07-06[debug] Downgrade NATSTill Faelligen
2023-07-06Increase NATS server startup timeoutTill Faelligen
2023-07-06Version 0.13.1 (#3136)v0.13.1Till
2023-07-05Fix metrics..Till Faelligen
2023-07-04Fix adding state events to the database (#3133)Till
When we're adding state to the database, we check which eventNIDs are already in a block, if we already have that eventNID, we remove it from the list. In its current form we would skip over eventNIDs in the case we already found a match (we're decrementing `i` twice) My theory is, that when we later get the state blocks, we are receiving "too many" eventNIDs (well, yea, we stored too many), which may or may not can result in state resets when comparing different state snapshots. (e.g. when adding state we stored a eventNID by accident because we skipped it, later we add more state and are not adding it because we don't skip it)
2023-06-30Version 0.13.0 (#3127)v0.13.0helm-dendrite-0.13.0Till
2023-06-30Extend Dendrite Helm chart with some additional config options (#3077)helm-dendrite-0.12.4Omar Pakker
This set of changes introduces a few (compatible) changes to the Helm chart: - Allow PVC class to be set on each PVC, not only one-for-all. - Allow Prometheus servicemonitor and rules labels to be empty. - Have the option to generate the ingress (incl. TLS config) based on dendrite_config. * [x] I have added Go unit tests or [Complement integration tests](https://github.com/matrix-org/complement) for this PR _or_ I have justified why this PR doesn't need tests * [x] Pull request includes a [sign off below using a legally identifiable name](https://matrix-org.github.io/dendrite/development/contributing#sign-off) _or_ I have already signed off privately Signed-off-by: Omar Pakker <Omar007@users.noreply.github.com> --------- Signed-off-by: Omar Pakker <Omar007@users.noreply.github.com> Co-authored-by: Till <2353100+S7evinK@users.noreply.github.com>
2023-06-29Actually use the parameterTill Faelligen
2023-06-28Add `MXIDMapping` for pseudoID rooms (#3112)Till
Add `MXIDMapping` on membership events when creating/joining rooms.
2023-06-28Fix setting `displayname` and `avatar_url` (#3125)Till
As per the spec, `displayname` and `avatar_url` may be empty.
2023-06-28Fix syncAPI redactions (#3118)Till
Previously we were setting `redacted_because` to the PDU event, but as per the spec it should really be a client event. This fixes it.
2023-06-22feat: admin APIs for token authenticated registration (#3101)santhoshivan23
### Pull Request Checklist <!-- Please read https://matrix-org.github.io/dendrite/development/contributing before submitting your pull request --> * [x] I have added Go unit tests or [Complement integration tests](https://github.com/matrix-org/complement) for this PR _or_ I have justified why this PR doesn't need tests * [x] Pull request includes a [sign off below using a legally identifiable name](https://matrix-org.github.io/dendrite/development/contributing#sign-off) _or_ I have already signed off privately Signed-off-by: `Santhoshivan Amudhan santhoshivan23@gmail.com`
2023-06-20Fix backfilling (#3117)Till
This should fix two issues with backfilling: 1. right after creating and joining a room over federation, we are doing a `/backfill` request, which would return redacted events, because the `authEvents` are empty. Even though the spec states that, in the absence of a history visibility event, it should be handled as `shared`. 2. `gomatrixserverlib: unsupported room version ''` - because, well, we were never setting the `roomInfo` field..
2023-06-18rearrange order of sections about signing keys and configuring dendrite, fix ↵CicadaCinema
a dead link (#3114) I thought I would rearrange these pages since the configuration step requires that a signing key has been generated. Co-authored-by: kegsay <kegan@matrix.org>