Benedikt Peetz
b2d959716d
Build(cargo): Remove wildcard version specification in `Cargo.toml`
...
Wildcard version is comparable to selecting a version depending on
the result of a dice roll. What I mean with this is, that the version
will be selected based on what the specific user already has in their
cargo registry. This means that the same codebase will compile
wonderfully on one machine but will fail with weird errors like:
`the trait 'From<crossterm::event::Event>' is not implemented for 'Input'`
on an other one.
Additionally crates.io does not accept crates with a bare wildcard
version requirement for aforementioned reasons.
Lastly using direct versions requirement allows to use `cargo upgrade`
to automatically update these requirements to their highest possible
value, as determined by SemVer. This works especially well, when adding
new dependencies with `cargo add`, as this also adds a direct version
requirement.
2023-07-09 08:52:16 +02:00
Benedikt Peetz
b2eb970830
Style(treewide): Format all files with rustfmt
2023-07-09 08:51:49 +02:00
antifallobst
196641959e
Add nix flake ( #6 )
...
merge (nix): Add nix flake (#6 )
2023-07-09 06:30:41 +00:00
Benedikt Peetz
74be1c2506
Build(flake): Also add the openssl dependencies to the devShell
2023-07-09 07:53:15 +02:00
Benedikt Peetz
cc602b25ce
Build(flake): Enable direnv integration
...
[Direnv](1) in combination with some sort of [Nix integration](2)
— in this case [Nix-direnv](3) — allows for reproducible development
environments (and allows uncluttering the default PATH, as cargo and
other development tools are no longer needed in it).
Setting it up is rather easy, just see [Nix-direnv's install
instructions](4).
[1]: https://github.com/direnv/direnv
[2]: https://github.com/direnv/direnv/wiki/Nix
[3]: https://github.com/nix-community/nix-direnv
[4]: https://github.com/nix-community/nix-direnv#installation
2023-07-09 07:28:40 +02:00
Benedikt Peetz
f768d214da
Build(flake): Initialize the flake
...
A nix flake is a reproducible way to describe the building process
to [nix](1).
See [the nix download page](1), on how to install nix. Afterwards
running `nix build` in the repository will result in a successful build.
Flakes and nix-commands are still experimental so they must be enabled
as described in [the corresponding wiki entry](2)
[1]: https://nixos.org/download.html#nix
[2]: https://nixos.wiki/wiki/Flakes#Enable_flakes .
2023-07-09 07:28:19 +02:00
antifallobst
5611d8e385
feature (ui - room info): added basic infos (name & encryption status) to the main ui's 'room info' panel
2023-07-08 23:37:10 +02:00
antifallobst
98f7e806de
feature: (room timeline): Changed timeline view to a scrollable list / Made single messages/events selectable / Implemented Message sending
2023-07-08 23:09:53 +02:00
antifallobst
658f05b8d3
feature (ui - rooms / events): implemented a rooms list area in the UI and live timeline updates on room timeline sync events
2023-07-08 14:45:08 +02:00
antifallobst
f8bf6ee07d
feature (status - rooms): Implemented a timeline event caching layer
2023-07-07 00:52:16 +02:00
antifallobst
1eb04dd23a
feature (UI - main): started work on timeline view implementation
2023-07-06 20:47:06 +02:00
antifallobst
a7e11c6ac0
fix (status): updating status from 'app.init_account()'
2023-07-06 17:34:55 +02:00
antifallobst
b1c0007098
feature (events): added a matrix event listener that writes to the global event stream
2023-07-06 15:13:41 +02:00
antifallobst
dfc87ff937
refactor (architecture): implemented an event based architecture
2023-07-04 18:32:57 +02:00
antifallobst
6ba8d3dbf0
docs (architecture): Added codebase architecture diagram
2023-07-01 22:54:20 +02:00
antifallobst
9fbf112baa
refactor (logger): switched to cli_log
2023-07-01 12:44:11 +02:00
antifallobst
7bd1990eb3
feature (logging): added a logging backend and spreaded a few info log calls over the codebase
2023-06-29 20:17:54 +02:00
antifallobst
7a3bb91ba4
feature (UI - main): built a simple not yet very efficient rendering infrastructure that is capable of cycling through the planes
2023-06-29 16:33:40 +02:00
antifallobst
af7c79ac75
feature (UI): made message compose in main ui a TextArea
2023-06-29 15:13:11 +02:00
antifallobst
82bd751ac8
fix (UI): fixed a bug that caused a panic when cancelling a login process.
2023-06-29 13:30:45 +02:00
antifallobst
aee5b77722
feature (UI): added sample text to homeserver input field in login screen
2023-06-29 13:29:18 +02:00
antifallobst
124406e475
feature (UI): hiding password in login screen
2023-06-29 13:20:38 +02:00
antifallobst
2c894e895e
feature (UI): implemented a login screen
2023-06-29 12:36:16 +02:00
antifallobst
3a88ca38a0
feature (UI): implemented status block
2023-06-23 16:07:18 +02:00
antifallobst
5afb82a7b4
fix (app): fixed something, that somehow didn't merge right
2023-06-23 06:06:49 +02:00
antifallobst
e17a96d34d
Merge remote-tracking branch 'origin/master'
...
# Conflicts:
# src/app/mod.rs
# src/main.rs
2023-06-23 06:00:22 +02:00
antifallobst
6e31c3e7c4
feature (UI): implemented the main UI
2023-06-23 05:41:26 +02:00
antifallobst
c5742e66f4
fix (accounts): caching clients to fix the 'Session IDs were already set' bug
2023-06-18 12:47:15 +02:00
antifallobst
a3cb8b8e20
feature (accounts): implemented an account manager
2023-06-16 00:15:07 +02:00
antifallobst
30e1f4cd6b
feature (accounts): implemented session restoring
2023-06-15 21:57:43 +02:00
antifallobst
e776d8a631
feature (accounts): implemented login with username and password
2023-06-15 19:19:24 +02:00
antifallobst
4b9d06651b
fix (logo): made logo 1:1
2023-06-15 12:16:36 +02:00
antifallobst
9f16e8ebf0
feature (logo): designed a placeholder logo
2023-06-15 01:10:30 +02:00
antifallobst
9253966139
docs: added initial docs (README, LICENSE, commit message style)
2023-06-15 00:10:05 +02:00
antifallobst
ff8a6e66eb
initial commit
2023-06-14 23:49:20 +02:00