Commit graph

388 commits

Author SHA1 Message Date
Rohan Kumar d08beada62
Stop using default features for rocksdb
We only need zstd and snappy
2023-10-21 21:18:45 -07:00
girlbossceo c223f8284c bump deps, update rocksdb
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-21 12:18:07 -04:00
girlbossceo f72fd67a71 remove dbg's, update rocksdb, use iouring
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-24 10:17:26 -04:00
girlbossceo 28b63e913f unix sockets
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 21:49:53 -04:00
girlbossceo 76c00283de woof woof
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 21:46:41 -04:00
June 84338cc827 aggressive optimisations
Signed-off-by: June <june@girlboss.ceo>
2023-09-13 21:46:06 -04:00
Tobias Bucher 9c3b3daafc Use upstream reqwest instead of vendored one
This uses the `ClientBuilder::dns_resolver` function that was added in
reqwest 0.11.13, instead of the homebrew `ClientBuilder::resolve_fn`.
2023-09-13 21:46:06 -04:00
girlbossceo 42efc9deaf Implement UNIX sockets
Initial implementation done in https://gitlab.com/famedly/conduit/-/merge_requests/507,
*substantially* reworked, corrected, improved by infamous <ehuff007@gmail.com>,
and few parts done by me.

Co-authored-by: infamous <ehuff007@gmail.com>
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 20:49:02 -04:00
girlbossceo 81e68434d8 update few deps
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-09-13 20:39:03 -04:00
Timo Kösters 75c80df271
Sliding sync improvements and redaction fixes 2023-09-13 20:54:53 +02:00
Timo Kösters 11103a92ed
Do not show "Invalid room version" errors when server is not in room 2023-08-11 10:48:48 +02:00
Timo Kösters 5d16948030
Bump version to v0.6.0 2023-08-10 18:57:52 +02:00
Timo Kösters 3e518773e2 Merge branch 'improvements' into 'next'
cross signing fixes

See merge request famedly/conduit!532
2023-08-07 16:11:11 +00:00
Timo Kösters d82c26f0a9
Avatars for sliding sync DMs 2023-08-07 17:54:08 +02:00
Timo Kösters 06ab707c79 Merge branch 'rusqlite-update' into 'next'
bump rusqlite to 0.29.0

See merge request famedly/conduit!529
2023-08-02 05:06:54 +00:00
June fbb256dd91 bump rusqlite to 0.29.0
Signed-off-by: June <june@girlboss.ceo>
2023-08-01 15:09:55 -10:00
June 5a7bade476 update base64 to 0.21.2
Signed-off-by: June <june@girlboss.ceo>
2023-08-01 14:48:50 -10:00
Charles Hall 291290db92
maximize fd limit 2023-07-26 13:24:44 -07:00
Paul van Tilburg 433dad6ac2
Turn README.Debian into a markdown file
It is common to have a markdown file per deployment subdirectory.
Still install it as `README.Debian` to `/usr/share/doc/matrix-conduit`
as per Debian policy.

Also update the link in the main `README.md` file.
2023-07-23 12:37:38 +02:00
Timo Kösters 4b7d3e24dd
bump ruma 2023-07-10 16:24:57 +02:00
Timo Kösters e4f769963f
feat: very simple sliding sync implementation 2023-07-06 10:32:25 +02:00
Timo Kösters f8a36e7554 Merge branch 'memory' into 'next'
improvement: better memory usage and admin commands to analyze it

See merge request famedly/conduit!497
2023-07-03 17:43:27 +00:00
Timo Kösters a2c3256ced
improvement: better memory usage and admin commands to analyze it 2023-07-03 19:41:07 +02:00
Jonas Platte 0ded637b4a
Upgrade axum to 0.6 2023-06-29 11:20:52 +02:00
Timo Kösters be877ef719
Improve sync performance with more caching and wrapping things in Arcs to avoid copies 2023-06-27 13:15:11 +02:00
Timo Kösters 91180e011d
bump ruma 2023-06-26 23:10:26 +02:00
Timo Kösters dbd360ebb9 Merge branch 'unbreak' into 'next'
fix rustc version, nix upkeep

See merge request famedly/conduit!482
2023-06-26 19:12:46 +00:00
Timo Kösters 15cc801840
Disable compression, see https://en.wikipedia.org/wiki/BREACH 2023-06-25 23:43:54 +02:00
Timo Kösters c7e0ea525a
feat: WIP relationships and threads 2023-06-25 19:40:33 +02:00
Charles Hall 4a7d3c7301
upgrade rust in Cargo.toml/flake.nix
Looks like this should've happened as part of !479.
2023-06-17 17:04:11 -07:00
Timo Kösters d62cd2ae51
chore: bump dependencies 2023-05-21 13:42:59 +02:00
Timo Kösters 49b5af6d45
chore: bump rocksdb 2023-05-21 13:41:51 +02:00
Kévin Commaille f53ecaa97d
Bump Ruma 2023-03-18 15:03:56 +01:00
Yusuf Bera Ertan 11b9cfad5e
docs: update nix comment for rust-version in Cargo.toml 2023-01-28 00:14:58 +03:00
Yusuf Bera Ertan 5d913f7010
build(nix): fix flake builds 2023-01-28 00:10:21 +03:00
Charles Hall 315944968b
remind people to update the hash
And offer help since it's pretty easy but impossible if you don't have
Nix installed.
2022-12-23 00:30:36 -08:00
Timo Kösters 2a66ad4329
Bump version to 0.6.0-alpha 2022-12-21 16:08:05 +01:00
Timo Kösters f7db3490f6
Bump version to v0.5.0 2022-12-21 14:08:09 +01:00
Timo Kösters c7a7c913d4
Bump ruma 2022-12-21 14:08:08 +01:00
Timo Kösters 6d5e54a66b
fix: jaeger support 2022-12-18 06:37:03 +01:00
Jonas Platte d39ce1401d
WIP: Upgrade Ruma 2022-12-16 11:57:32 +01:00
Vladan Popovic 66ad114e19 feat: add systemd feature flag 2022-11-27 22:17:15 +01:00
Nyaaori 6786c44f4d
chore: Fix MSRV
Ruma requires Rust 1.64
2022-11-21 20:50:30 +01:00
Timo Kösters 7540227388
chore: bump dependencies 2022-11-09 18:46:10 +01:00
AndSDev 10d2da3009 fix(main): fix request size limit to max_request_size (axum defaults 2MB) 2022-10-25 12:53:58 +03:00
Charles Hall 4710f739c0
clap v4 turned more things into optional features
So we need to re-enable some things. See their changelog[0] for details.

[0]: https://github.com/clap-rs/clap/blob/master/CHANGELOG.md#migrating
2022-10-12 17:55:12 -07:00
Timo Kösters fdd64fc966
fix: fluffychat login works again 2022-10-12 17:18:01 +02:00
Timo Kösters d3968c2fd1
fix: bump ruma again to fix state res problems 2022-10-11 21:51:20 +02:00
Timo Kösters fb6bfa9753
fix: missing field origin error with synapse servers 2022-10-11 15:25:10 +02:00
Timo Kösters 7cf060ae5b
Bump version to 0.4 2022-10-10 14:38:17 +02:00
Timo Kösters ca82b2940d
fix: sending does not work
We were inserting one too many 0xff bytes
2022-10-10 14:02:05 +02:00
Timo Kösters 229444c932
Use ring-compat feature so out signing keys work again 2022-10-10 14:02:04 +02:00
Timo Kösters 6b131202b9
Bump ruma 2022-10-10 14:02:04 +02:00
Timo Kösters 275c6b447d
Bump some dependencies 2022-10-10 14:02:04 +02:00
Timo Kösters 25c3d89f28
Bump rust version for const fn RwLock::new 2022-10-10 14:02:03 +02:00
Timo Kösters 057f8364cc
fix: some compile time errors
Only 174 errors left!
2022-10-10 13:25:01 +02:00
Timo Kösters 0c8e51e1b7
Upgrade dependencies 2022-06-19 15:40:14 +02:00
Timo Kösters 9b898248c7
feat: more admin commands, better logging 2022-06-18 22:55:34 +02:00
Timo Kösters 2808dd2000
Ruma upgrade 2022-04-07 12:58:48 +02:00
chenyuqide ee96a03d60
Update ruma 2022-04-07 12:56:16 +02:00
chenyuqide 21bc099ccf
Update ruma 2022-04-07 12:56:12 +02:00
Jonas Platte 3933bd9a8e
Update axum feature set used 2022-03-31 22:52:16 +02:00
Jonas Platte db0659cb3d
Upgrade axum to 0.5 2022-03-31 22:50:17 +02:00
Andrej Kacian 194a85d4c5 Use native root CA certificates for reqwest 2022-03-12 15:44:22 +01:00
Jonathan de Jong e9f87e1952 update ruma 2022-02-18 15:33:14 +01:00
Jonathan de Jong b8d92d3cec take advantage of multiple paths 2022-02-13 12:07:00 +01:00
Jonathan de Jong 0ed1e42aed update ruma 2022-02-12 21:01:53 +01:00
Jonas Platte ce714cfd07
Bump version 2022-02-12 13:20:55 +01:00
Jonas Platte 50b24b37c2
Upgrade Ruma 2022-02-12 12:56:18 +01:00
Jonas Platte c8951a1d9c
Use axum-server for direct TLS support 2022-02-12 12:56:08 +01:00
Jonas Platte 1f7b3fa4ac
Port from Rocket to axum 2022-02-12 12:56:07 +01:00
Jonas Zohren 4dcc080ad9 Merge branch 'pre-release-doc-changes' into 'next'
Pre-0.3 doc adjustments

See merge request famedly/conduit!287
2022-02-04 17:12:33 +00:00
Timo Kösters d55992dc83 Merge branch 'jemallocfeature' into 'next'
feat: allow disabling jemalloc via feature

See merge request famedly/conduit!285
2022-02-04 17:08:03 +00:00
Jonas Zohren 103dc7e09b
Pre-0.3 doc adjustments 2022-02-04 18:05:24 +01:00
Timo Kösters dd03608f17
use our own reqwest fork 2022-02-04 17:24:45 +01:00
Timo Kösters 8d8edddb2e
feat: allow disabling jemalloc via feature 2022-02-04 17:00:46 +01:00
Timo Kösters 8db7d2c025 Merge branch 'asonix/encourage-reqwest-reuse' into 'next'
Re-use a basic reqwest client in all possible cases

See merge request famedly/conduit!265
2022-02-04 11:27:41 +00:00
Jonas Platte d23d6fbb37
Upgrade Ruma 2022-02-03 20:24:02 +01:00
Jonas Platte 92571d961f
Remove mutation from default_config and set default log_level to off 2022-02-03 19:55:54 +01:00
Andrei Vasiliu 4bbff69a24 Merge remote-tracking branch 'origin/next' into command-refactor
Fixed conflict with commit 78502aa6b1
2022-02-03 13:12:55 +02:00
Aode (lion) 1059f35fdc use pre-constructed client for well-known requests also 2022-01-27 10:37:04 -06:00
Jonas Platte 9c2000cb89
Upgrade Ruma 2022-01-27 16:25:42 +01:00
Andrei Vasiliu 7505548b94 Merge remote-tracking branch 'refs/remotes/origin/next' into command-refactor
Resolved conflict for the new list_local_users command
2022-01-22 14:29:50 +02:00
Timo Kösters f88523988e
improvement: use jemalloc for lower memory usage 2022-01-21 17:54:05 +01:00
Andrei Vasiliu 57979da28c Change structopt to clap, remove markdown dependency 2022-01-21 17:35:26 +02:00
Timo Kösters 5d3ba5c628 Merge branch 'WIP_persy_batch_next' into 'next'
feat: Integration with persy using background ops

See merge request famedly/conduit!231
2022-01-21 15:31:46 +00:00
Andrei Vasiliu f244c0e2ce Merge remote-tracking branch 'refs/remotes/origin/next' into command-refactor 2022-01-21 10:19:17 +02:00
Andrei Vasiliu e378bc4a2c Refactor admin commands to use structopt 2022-01-21 10:17:50 +02:00
Timo Kösters ab4f3bd06c Merge branch 'lib-main' into 'next'
Clean up mod and use statements in lib.rs and main.rs

See merge request famedly/conduit!258
2022-01-20 12:32:39 +00:00
Jonas Platte ff5fec9e74
Raise minimum supported Rust version to 1.56 2022-01-20 13:19:51 +01:00
Timo Kösters d4eb3e3295
fix: rocksdb does not use zstd compression unless we disable everything else 2022-01-19 07:09:25 +01:00
Timo Kösters ee8e72f7a8
feat: implement server ACLs 2022-01-17 14:35:38 +01:00
Tglman c1cd4b5e26 chore: set the released version of persy in Cargo.toml 2022-01-15 14:17:15 +00:00
Tglman 1cc41937bd refactor:use generic watcher in persy implementation 2022-01-15 14:17:15 +00:00
Tglman ab15ec6c32 feat: Integration with persy using background ops 2022-01-15 14:17:15 +00:00
Timo Kösters 077e9ad438
improvement: memory usage for caches 2022-01-13 22:44:25 +01:00
Timo Kösters fa6d7f7ccd
feat: database backend selection at runtime 2022-01-13 22:42:22 +01:00
Timo Kösters b1d9ec3efc
fix: atomic increment 2022-01-13 22:28:18 +01:00
Timo Kösters a30b588ede
rocksdb as default 2022-01-13 22:10:50 +01:00
Timo Kösters 1d647a1a9a
improvement: allow rocksdb again 2022-01-13 22:10:43 +01:00
Jonas Platte 349865d3cc
Upgrade Ruma 2022-01-13 11:44:23 +01:00
Timo Kösters 0ec26b7e96 Merge branch 'next' into 'next'
refactor:moved key watch wake logic to specific module

See merge request famedly/conduit!238
2022-01-13 10:27:56 +00:00
Tglman a889e884e6 refactor:moved key watch wake logic to specific module 2021-12-23 23:17:43 +00:00
Jonas Platte aba95b20f3
Upgrade Ruma 2021-12-23 17:40:42 +01:00
Jonas Platte 34d3f74f36
Use Arc for EventIds in PDUs
Upgrades Ruma again to make this work.
2021-12-16 13:55:24 +01:00
Jonas Platte 892a0525f2
Upgrade Ruma 2021-12-15 13:00:37 +01:00
Timo Kösters afa5d449c6 Merge branch 'better-multiarch-building-the-second-attempt' into 'next'
CI: New Multiarch builds and Docker images + cargo clippy/test output now integrated into GitLab

Closes #145

See merge request famedly/conduit!225
2021-11-21 17:34:09 +00:00
Jonas Zohren 2fff720df3 CI: New Multiarch builds and Docker images + cargo clippy/test output now integrated into GitLab 2021-11-21 17:34:08 +00:00
Moritz Bitsch 9fccbb014a Implement TURN server authentication with hmac
This is a prefered method to allow limited access to the TURN server
2021-11-12 12:43:15 +00:00
Nyaaori bbe16f8467
Update Ruma 2021-10-24 00:45:02 +00:00
Nyaaori 55d78b1914
Bump Ruma version to fix M_BAD_JSON on login 2021-10-16 00:45:51 +00:00
Jonas Platte 09895a20c8
Upgrade Ruma
Co-authored-by: Timo Kösters <timo@koesters.xyz>
2021-10-13 10:16:45 +02:00
Jonas Platte 979ec6b4fa
Upgrade ruma 2021-09-13 20:55:13 +02:00
Jonas Platte 5821b8e705
Remove unused dependencies 2021-09-07 15:41:01 +02:00
Timo Kösters 7cd7f1923f
chore: update dependencies 2021-09-01 22:31:25 +02:00
Timo Kösters 43d693ca19
revert Arc<EventId> commit 2021-09-01 22:30:11 +02:00
Timo Kösters 875b345a5f
docs: update readme and version 2021-09-01 22:18:19 +02:00
Timo Kösters 4b39d7cb64
fix: batch key fetching 2021-09-01 20:02:34 +02:00
Jonathan de Jong 69df9a0145 add tls 2021-08-30 20:18:48 +02:00
Devin Ragotzy 9bff276fa9
Use Arc<EventId> in place of most EventIds 2021-08-27 20:20:14 +02:00
Timo Kösters d485eb5a24
chore: bump dependencies 2021-08-26 14:38:25 +02:00
Timo Kösters dd87066546
improvement: more efficient auth chain cache 2021-08-24 21:55:18 +02:00
Timo Kösters 30b309b708 Merge branch 'speed' into 'master'
Better E2EE and faster incoming event handling

See merge request famedly/conduit!163
2021-08-24 18:16:56 +00:00
Timo Kösters 81e056417c
improvement: better e2ee over fed, faster incoming event handling 2021-08-24 19:52:05 +02:00
Jonas Zohren b6e755f67e Only apply max. optimizations in CI builds.
The average german man has a life expectancy of 78.7 years, or 689884.2 hours.
Assuming that Timo is 20 years old, he has rougly 514564.2 hours left on planet earth.
Also assuming that cross release builds took him 25 minutes before,
but 2-2.5x of that with the current release compilation config he wasted roughly an hour waiting for it to complete.
If he continued to work on Conduit for 20 more years (or 175320 hours),
and makes a release compilation about once per day, this means 7305 hours or 304 days wasted waiting for the rust compiler.
By cutting that back down to the original settings, he get's 182 days of his life back.
That's about 0.63% of his remaining life.
182 joyful days he can spend with family and loved ones.
2021-08-22 21:05:32 +00:00
Timo Kösters 33481ec062 Merge branch 'statediffs' into 'master'
Statediffs

See merge request famedly/conduit!145
2021-08-21 13:05:38 +00:00
Timo Kösters 46d8a46e1f
improvement: faster incoming transaction handling 2021-08-19 11:01:43 +02:00
Jonas Zohren 9c3a8edcae Use full optimizations for master and faster config else
Signed-off-by: Jonas Zohren <git-pbkyr@jzohren.de>
2021-08-14 21:41:27 +02:00
Timo Kösters df727688ef
remove rocksdb 2021-08-04 21:17:40 +02:00
Timo Kösters 5df6b8cd5f
improvement: better account data implementation 2021-07-30 16:08:24 +02:00
Timo Kösters 5c776e9ba7
feat: heed db backend (LMDB) 2021-07-29 23:11:53 +02:00
Timo Kösters 5e924227b6
feat: add threadpool for iterator threads, bug fixes, tracing_flame support 2021-07-29 08:49:28 +02:00
Timo Kösters f0ac7ed933
chore: update ruma again 2021-07-20 15:25:17 +02:00
Timo Kösters 0f8ecdc625
fix: state res fixes 2021-07-20 15:25:17 +02:00
Timo Kösters cfaa900e83
improvement: auth chain cache 2021-07-20 15:25:16 +02:00
Timo Kösters f5273f7eb1
improvement: upgrade ruma and implement blurhashes 2021-07-20 15:25:16 +02:00
Timo Kösters 0fcefa4125
fix: ruma 2021-07-20 15:25:16 +02:00
Jonathan de Jong 661101c9ae add sled cache_capacity back 2021-07-15 13:29:08 +02:00
Jonathan de Jong 15471d9ac4 update rocket and lock 2021-07-14 11:28:24 +02:00
Jonathan de Jong 9d4fa9a220 Sqlite 2021-07-14 07:07:08 +00:00
Timo Kösters 5711467ad9 Merge branch 'state-res-closure' into 'master'
Remove auth_cache using a closure to fetch events in state-res

See merge request famedly/conduit!108
2021-07-02 10:56:21 +00:00
Devin Ragotzy c30cc50a0b Switch ruma to a commit from next 2021-07-02 06:40:40 -04:00
Aiden McClelland b2d5516058 add support for arbitrary proxies 2021-07-01 12:41:12 -06:00
Devin Ragotzy 98f1480e2b
Remove auth_cache using a closure to fetch events in state-res 2021-06-30 12:54:19 +02:00
Timo Kösters 05821d6fd5
improvement: pdu cache, /sync cache 2021-06-30 10:31:34 +02:00
Jonas Platte f6046871f4
Upgrade Ruma 2021-06-17 20:12:36 +02:00
Timo Kösters cd4bc520d8
improvement: feature flags for sled, rocksdb 2021-06-12 15:13:04 +02:00
Timo Kösters d0ee823254
feat: swappable database backend 2021-06-09 22:21:52 +02:00
Damian Poddebniak bb7a4220d3 Fix ruma dependency 2021-06-04 20:18:03 +02:00
Timo Kösters 5b5cc0574e
feat: implement /claim, handle to-device events 2021-05-28 13:46:15 +02:00