Jason Volk 946ca364e0 Database Refactor
combine service/users data w/ mod unit

split sliding sync related out of service/users

instrument database entry points

remove increment crap from database interface

de-wrap all database get() calls

de-wrap all database insert() calls

de-wrap all database remove() calls

refactor database interface for async streaming

add query key serializer for database

implement Debug for result handle

add query deserializer for database

add deserialization trait for option handle

start a stream utils suite

de-wrap/asyncify/type-query count_one_time_keys()

de-wrap/asyncify users count

add admin query users command suite

de-wrap/asyncify users exists

de-wrap/partially asyncify user filter related

asyncify/de-wrap users device/keys related

asyncify/de-wrap user auth/misc related

asyncify/de-wrap users blurhash

asyncify/de-wrap account_data get; merge Data into Service

partial asyncify/de-wrap uiaa; merge Data into Service

partially asyncify/de-wrap transaction_ids get; merge Data into Service

partially asyncify/de-wrap key_backups; merge Data into Service

asyncify/de-wrap pusher service getters; merge Data into Service

asyncify/de-wrap rooms alias getters/some iterators

asyncify/de-wrap rooms directory getters/iterator

partially asyncify/de-wrap rooms lazy-loading

partially asyncify/de-wrap rooms metadata

asyncify/dewrap rooms outlier

asyncify/dewrap rooms pdu_metadata

dewrap/partially asyncify rooms read receipt

de-wrap rooms search service

de-wrap/partially asyncify rooms user service

partial de-wrap rooms state_compressor

de-wrap rooms state_cache

de-wrap room state et al

de-wrap rooms timeline service

additional users device/keys related

de-wrap/asyncify sender

asyncify services

refactor database to TryFuture/TryStream

refactor services for TryFuture/TryStream

asyncify api handlers

additional asyncification for admin module

abstract stream related; support reverse streams

additional stream conversions

asyncify state-res related

Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-25 00:32:30 -04:00
2024-08-27 13:56:43 -04:00
2024-10-24 23:04:14 -04:00
2024-10-24 23:04:14 -04:00
2024-10-25 00:32:30 -04:00
2024-10-24 23:04:14 -04:00
2024-10-25 00:32:30 -04:00
2024-10-25 00:32:30 -04:00
2024-10-25 00:32:30 -04:00
2024-02-11 21:56:55 -05:00
2024-10-24 22:02:58 -04:00
2024-03-26 22:24:24 -04:00

conduwuit

main: CI and
Artifacts

a very cool, featureful fork of Conduit

Visit the conduwuit documentation for more information.

What is Matrix?

Matrix is an open network for secure and decentralized communication. Users from every Matrix homeserver can chat with users from all other Matrix servers. You can even use bridges (also called Matrix Appservices) to communicate with users outside of Matrix, like a community on Discord.

What is the goal?

A high-performance and efficient Matrix homeserver that's easy to set up and just works. You can install it on a mini-computer like the Raspberry Pi to host Matrix for your family, friends or company.

Can I try it out?

An official conduwuit server ran by me is available at transfem.dev (element.transfem.dev / cinny.transfem.dev)

transfem.dev is a public homeserver that can be used, it is not a "test only homeserver". This means there are rules, so please read the rules: https://transfem.dev/homeserver_rules.txt

transfem.dev is also listed at servers.joinmatrix.org

What is the current status?

conduwuit is technically a hard fork of Conduit, which is in Beta. The Beta status initially was inherited from Conduit, however overtime this Beta status is rapidly becoming less and less relevant as our codebase significantly diverges more and more.

conduwuit is quite stable and very usable as a daily driver and for a low-medium sized homeserver. There is still a lot of more work to be done, but it is in a far better place than the project was in early 2024.

How is conduwuit funded? Is conduwuit sustainable?

conduwuit has no external funding. This is made possible purely in my freetime with contributors, also in their free time, and only by user-curated donations.

conduwuit has existed since around November 2023, but only became more publicly known in March/April 2024 and we have no plans in stopping or slowing down any time soon!

Can I migrate or switch from Conduit?

conduwuit is a complete drop-in replacement for Conduit. As long as you are using RocksDB, the only "migration" you need to do is replace the binary or container image. There is no harm or additional steps required for using conduwuit.

Contact

If you run into any question, feel free to

Donate

conduwuit development is purely made possible by myself and contributors. I do not get paid to work on this, and I work on it in my free time. Donations are heavily appreciated! 💜🥺

Original repo and Matrix room picture was from bran (<3). Current banner image and logo is directly from this cohost post.

Is it conduwuit or Conduwuit?

Both, but I prefer conduwuit.

Mirrors of conduwuit

Description
No description provided
Readme Apache-2.0 16 MiB
Languages
Rust 95%
HCL 2.9%
Nix 1.5%
Shell 0.6%