Compare commits

...

4 Commits

Author SHA1 Message Date
Till 303d8ee4bb
Merge e390027cc5 into 5c0ceec2a6 2024-04-09 06:26:43 +00:00
Till Faelligen e390027cc5
Reword changelog using deepseek-coder 2024-04-09 08:25:13 +02:00
Till Faelligen bfd6230f27
Merge branch 'main' of github.com:matrix-org/dendrite into s7evink/v0137 2024-04-09 08:20:10 +02:00
Till 5c0ceec2a6
Don't attempt to send transactions if Dendrite is shutting down (#3356)
This should avoid confusions with logs like:

```
time="2024-04-08T08:38:45.104235081Z" level=error msg="Failed to set \"scs.ems.host\" as assumed offline" func="github.com/matrix-org/dendrite/federationapi/statistics.(*ServerStatistics).Failure" file="github.com/matrix-org/dendrite/federationapi/statistics/statistics.go:204" error="sqlutil.WithTransaction.Begin: sql: database is closed"
time="2024-04-08T08:38:45.104239201Z" level=error msg="Failed to set \"obermui.de\" as assumed offline" func="github.com/matrix-org/dendrite/federationapi/statistics.(*ServerStatistics).Failure" file="github.com/matrix-org/dendrite/federationapi/statistics/statistics.go:204" error="sqlutil.WithTransaction.Begin: sql: database is closed"
```

or 

```
time="2024-04-08T08:38:45.105235411Z" level=error msg="Failed to get pending EDUs for \"retro76.net\"" func="github.com/matrix-org/dendrite/federationapi/queue.(*destinationQueue).getPendingFromDatabase" file="github.com/matrix-org/dendritefederationapi/queue/destinationqueue.go:258" error="sqlutil.WithTransaction.Begin: sql: database is closed"
```

[skip ci]
2024-04-09 07:49:56 +02:00
2 changed files with 15 additions and 12 deletions

View File

@ -1,23 +1,22 @@
# Changelog
# Dendrite 0.13.7 (2024-04-08)
## Dendrite 0.13.7 (2024-04-09)
### Fixes
- Displayname/avatar of an invited user being replaced with the displayname/avatar of the inviter
- Startup on servers with many rooms should be significantly faster
- since not all rooms are queried for ACLs
- ACL regexes are cached (also reducing memory footprint, as only one instance of a regex is stored)
- unnecessary Relay related queries are removed (**Note**: If you want to use relays, you now need to enable them explicitly using the `federation_api.enable_relays` config)
- Space summaries over federation have been fixed
- When using external NATS JetStream, an existing connection is reused instead of opening unnecessary new connections
- Fixed an issue where the displayname/avatar of an invited user was replaced with the inviter's details
- Improved server startup performance by avoiding unnecessary room ACL queries
- This change reduces memory footprint as it caches ACL regex patterns once instead of for each room
- Unnecessary Relay related queries have been removed. **Note**: To use relays, you now need to explicitly enable them using the `federation_api.enable_relays` config
- Fixed space summaries over federation
- Improved usage of external NATS JetStream by reusing existing connections instead of opening new ones unnecessarily
### Features
- Appservices have been modernized (contributed by [tulir](https://github.com/tulir))
- Event reporting has been added (incl. Synapse Admin endpoints to query them)
- Dependencies have been updated
- Modernized Appservices (contributed by [tulir](https://github.com/tulir))
- Added event reporting with Synapse Admin endpoints for querying them
- Updated dependencies
## Dendrite 0.13.6 (2024-01-26)
Upgrading to this version is **highly** recommended, as it contains several QoL improvements.

View File

@ -294,6 +294,10 @@ func (oq *destinationQueue) checkNotificationsOnClose() {
// backgroundSend is the worker goroutine for sending events.
func (oq *destinationQueue) backgroundSend() {
// Don't try to send transactions if we are shutting down.
if oq.process.Context().Err() != nil {
return
}
// Check if a worker is already running, and if it isn't, then
// mark it as started.
if !oq.running.CompareAndSwap(false, true) {