0
0
Fork 0
mirror of https://github.com/matrix-org/dendrite synced 2024-05-20 06:13:48 +02:00

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 # Changelog
# Dendrite 0.13.7 (2024-04-08) ## Dendrite 0.13.7 (2024-04-09)
### Fixes ### Fixes
- Displayname/avatar of an invited user being replaced with the displayname/avatar of the inviter - Fixed an issue where the displayname/avatar of an invited user was replaced with the inviter's details
- Startup on servers with many rooms should be significantly faster - Improved server startup performance by avoiding unnecessary room ACL queries
- since not all rooms are queried for ACLs - This change reduces memory footprint as it caches ACL regex patterns once instead of for each room
- ACL regexes are cached (also reducing memory footprint, as only one instance of a regex is stored) - 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
- 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) - Fixed space summaries over federation
- Space summaries over federation have been fixed - Improved usage of external NATS JetStream by reusing existing connections instead of opening new ones unnecessarily
- When using external NATS JetStream, an existing connection is reused instead of opening unnecessary new connections
### Features ### Features
- Appservices have been modernized (contributed by [tulir](https://github.com/tulir)) - Modernized Appservices (contributed by [tulir](https://github.com/tulir))
- Event reporting has been added (incl. Synapse Admin endpoints to query them) - Added event reporting with Synapse Admin endpoints for querying them
- Dependencies have been updated - Updated dependencies
## Dendrite 0.13.6 (2024-01-26) ## Dendrite 0.13.6 (2024-01-26)
Upgrading to this version is **highly** recommended, as it contains several QoL improvements. 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. // backgroundSend is the worker goroutine for sending events.
func (oq *destinationQueue) backgroundSend() { 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 // Check if a worker is already running, and if it isn't, then
// mark it as started. // mark it as started.
if !oq.running.CompareAndSwap(false, true) { if !oq.running.CompareAndSwap(false, true) {