Improvements
- Startup times are reduced by around 20-40% by utilising magical postgres queries over
SELECT DISTINCT
. - Slow room queries (determined by the "performance degraded" message) are now significantly faster.
- Device list updates are now stored in a dedicated table rather than serialised as CBOR in the device data table. This will migrate data on the next startup which may take a few minutes. This significantly improves performance across the entire stack: reduced DB load, reduced # open DB conns, reduced CPU usage on the pollers, reduced memory usage for API requests, as shown with the following before/after grafana graph:
Bug fixes
- Ensure the
since
param in sync v2 is URL encoded.
What's Changed
- Refactor device data by @kegsay in #437
- Optimize getting the latest events in each room by @S7evinK in #436
- fix: urlencode since opaque string by @gnieto in #439
- e2ee extension: ensure null is not sent when we mean [] by @kegsay in #440
- Optimize getting the latest events by type per room by @S7evinK in #441
New Contributors
Full Changelog: v0.99.17...v0.99.18