Shortwave merge requestshttps://gitlab.gnome.org/World/Shortwave/-/merge_requests2020-06-07T20:17:31Zhttps://gitlab.gnome.org/World/Shortwave/-/merge_requests/384Buffering fixes2020-06-07T20:17:31ZSebastian DrögeBuffering fixesSee individual commitsSee individual commitshttps://gitlab.gnome.org/World/Shortwave/-/merge_requests/385Crossbuild win32 fixes2020-06-07T20:06:53ZFelix Häckerhaeckerfelix@gnome.orgCrossbuild win32 fixeshttps://gitlab.gnome.org/World/Shortwave/-/merge_requests/386Read favicon content directly from memory after download2020-06-10T15:19:11ZLorenzo MigliettaRead favicon content directly from memory after downloadInstead of reading the downloaded file, just use the buffer already present in memory when saving it.Instead of reading the downloaded file, just use the buffer already present in memory when saving it.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/387cargo --message-format=human when in debug mode2020-06-11T19:30:41ZLorenzo Migliettacargo --message-format=human when in debug modeDebugging rust errors without this option is an headache. I only get errors like "invalid type", without any explanation.
Instead, by setting --message-format=human, the compiler gives a nice explanation of the error and lists some possi...Debugging rust errors without this option is an headache. I only get errors like "invalid type", without any explanation.
Instead, by setting --message-format=human, the compiler gives a nice explanation of the error and lists some possible fixes.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/388changed wrap_mode of sidebar titles to char2020-06-11T20:42:28ZLorenzo Migliettachanged wrap_mode of sidebar titles to charBefore
![Screenshot_from_2020-06-11_22-35-27](/uploads/8d9b215665f22e8d3c9912c1feccb551/Screenshot_from_2020-06-11_22-35-27.png)
After
![Screenshot_from_2020-06-11_22-36-52](/uploads/0bda1c4157103e06b56eb16944d9a6f6/Screenshot_from_202...Before
![Screenshot_from_2020-06-11_22-35-27](/uploads/8d9b215665f22e8d3c9912c1feccb551/Screenshot_from_2020-06-11_22-35-27.png)
After
![Screenshot_from_2020-06-11_22-36-52](/uploads/0bda1c4157103e06b56eb16944d9a6f6/Screenshot_from_2020-06-11_22-36-52.png)https://gitlab.gnome.org/World/Shortwave/-/merge_requests/389Simpler error handling2020-08-02T10:53:40ZLorenzo MigliettaSimpler error handlingI'm using the "thiserror" crate, which uses the std Error trait (instead of the failure's Fail trait).
thiserror includes a nice macro `#[from]` to create an `impl From<...> ...`, so the custom macro can be removed.I'm using the "thiserror" crate, which uses the std Error trait (instead of the failure's Fail trait).
thiserror includes a nice macro `#[from]` to create an `impl From<...> ...`, so the custom macro can be removed.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/390correct word_char to word-char2020-07-19T19:49:28ZLorenzo Migliettacorrect word_char to word-charIt isn't "word_char", but it's "word-char".
```
Failed to set property GtkLabel.wrap-mode to word_char: Could not parse enum: 'word_char'
```
Sorry for the typo.It isn't "word_char", but it's "word-char".
```
Failed to set property GtkLabel.wrap-mode to word_char: Could not parse enum: 'word_char'
```
Sorry for the typo.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/391Fix the Code of Conduct link.2020-06-13T20:59:20ZlouibFix the Code of Conduct link.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/392WIP: Gcast controller refactoring2022-04-14T15:06:43ZLorenzo MigliettaWIP: Gcast controller refactoringSo...
Most of the `GCastController` data was only used by the new thread you were creating. So instead of using a bunch of Arcs and Mutexes, I've moved all the data used by the thread inside the `GCastControllerBackend` struct.
Then I ...So...
Most of the `GCastController` data was only used by the new thread you were creating. So instead of using a bunch of Arcs and Mutexes, I've moved all the data used by the thread inside the `GCastControllerBackend` struct.
Then I splitted the big `match` in multiple methods of `GCastControllerBackend`.
---
Everything should work pretty much the same as before.
This is the only effective change I'm aware of:
```
send!(self.app_sender, Action::PlaybackStop);
```
This is not inside an if statement anymore, so it will be executed even when `self.device_ip` is empty.
But I think it's not a big deal.
There is a recursive cycle in the heart_beat method... I've already solved it, but I want to clean the code a bit more before pushinghttps://gitlab.gnome.org/World/Shortwave/-/merge_requests/393WIP: Updated all dependencies to latest version2021-02-16T11:20:20ZLorenzo MigliettaWIP: Updated all dependencies to latest versionmdns was updated to a new major version, so i had to change
a bit of code to use the new mdns api.
Needs testing. It compiles, and the changes are small, so everything should work anywaymdns was updated to a new major version, so i had to change
a bit of code to use the new mdns api.
Needs testing. It compiles, and the changes are small, so everything should work anywayhttps://gitlab.gnome.org/World/Shortwave/-/merge_requests/394Updated gtk-rs to latest version.2020-07-22T09:20:08ZLorenzo MigliettaUpdated gtk-rs to latest version.It's a breaking change, so I had to change a lot of different files to
use the new API.It's a breaking change, so I had to change a lot of different files to
use the new API.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/395Http optimizations, less ram usage, code cleanup2020-08-02T10:52:55ZLorenzo MigliettaHttp optimizations, less ram usage, code cleanupI've significantly reduced the ram usage by setting a limit to the number of simultaneous http connections.
To "benchmark" this, I've searched "jazz", "radio", "" and "deejay".
Before: ~102MiB
After: ~55MiB
I also cleaned up some cod...I've significantly reduced the ram usage by setting a limit to the number of simultaneous http connections.
To "benchmark" this, I've searched "jazz", "radio", "" and "deejay".
Before: ~102MiB
After: ~55MiB
I also cleaned up some code. For example, I enabled isahc's json support, so json conversion is now easier and faster.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/396Smaller char replacing2020-08-01T22:22:59ZLorenzo MigliettaSmaller char replacingCopied it from the rust doc: https://doc.rust-lang.org/std/str/pattern/trait.Pattern.html#impl-Pattern%3C%27a%3E-3Copied it from the rust doc: https://doc.rust-lang.org/std/str/pattern/trait.Pattern.html#impl-Pattern%3C%27a%3E-3https://gitlab.gnome.org/World/Shortwave/-/merge_requests/397UI/libhandy refactor2020-08-01T22:15:27ZFelix Häckerhaeckerfelix@gnome.orgUI/libhandy refactorhttps://gitlab.gnome.org/World/Shortwave/-/merge_requests/398order search by votes. Clean search request2020-08-02T12:30:00ZLorenzo Migliettaorder search by votes. Clean search requesthttps://gitlab.gnome.org/World/Shortwave/-/merge_requests/399Fixed clippy warnings2021-04-05T21:15:25ZLorenzo MigliettaFixed clippy warningsI ran `cargo clippy` and fixed the warnings.
I haven't fixed the warnings already present in `cargo build` (and I'm not going to fix them in this MR, unless requested)I ran `cargo clippy` and fixed the warnings.
I haven't fixed the warnings already present in `cargo build` (and I'm not going to fix them in this MR, unless requested)https://gitlab.gnome.org/World/Shortwave/-/merge_requests/400updated all deps, except mdns2020-12-25T16:50:16ZLorenzo Migliettaupdated all deps, except mdnsI can't update the crate mdns, because it requires tokio. Checkout the last comments on !393 for more information.I can't update the crate mdns, because it requires tokio. Checkout the last comments on !393 for more information.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/401fix #507 - the crash caused by long track title2021-01-29T14:07:44ZPavlo Rudyfix #507 - the crash caused by long track titlealso prevents record crash with '\0'.also prevents record crash with '\0'.https://gitlab.gnome.org/World/Shortwave/-/merge_requests/402typo2020-10-04T10:49:55ZPavlo Rudytypohttps://gitlab.gnome.org/World/Shortwave/-/merge_requests/403improve handling the long utf8 tracks2021-04-05T18:33:21ZPavlo Rudyimprove handling the long utf8 tracks