The config crate is re-thinking its design and wants to hear what your ideas are !
Hi, I'm the maintainer of the config crate and am currently planning to re-think the design and responsibilities of the whole crate.
Now is the time to throw in your ideas and concerns and make them heard!
What do you want to see from a configuration crate in the future? What are core responsibilities you'd expect, what things do you want to be able to do with the crate and how can these be implemented?
We, of course, would love to see contributors for code as well, as soon as some decisions were made.
1 Like
We've got a few new as well as many older help wanted
issues in Ruma (a bunch of crates for the Matrix protocol):
Same for the higher-level Matrix Rust SDK:
1 Like
A feature I've always wanted to add to the include_dir
crate is compression of the embedded data.
opened 11:27PM - 07 Jun 17 UTC
To avoid bloating binaries too much, let's introduce a feature flag which will aโฆ llow data to be compressed when it is embedded in the binary, then lazily decompressed when it is accessed.
I imagine this feature flag would alter the `include_dir::File` type from this...
https://github.com/Michael-F-Bryan/include_dir/blob/0536fd6191d855154039fadf29b0f2506088c187/include_dir/src/file.rs#L8-L13
... to something like this:
```rs
pub struct File<'a> {
path: &'a str,
contents: FileContents<'a>,
#[cfg(feature = "metadata")]
metadata: Option<crate::Metadata>,
}
impl<'a> File<'a> {
fn contents(&self) -> &[u8] { self.contents.get() }
}
struct FileContents<'a> {
compressed: &'a [u8],
uncompressed: OnceCell<Vec<u8>>,
}
impl<'a> FileContents<'a> {
fn get(&self) -> &[u8] {
self.uncompressed.get_or_init(|| decompress(self.compressed))
}
}
fn decompress(compressed: &[u8]) -> Vec<u8> { todo!() }
```
Some things that need to be considered are:
- Which compression algorithm do we use?
- Compression support needs to be added to both the macro and the main crate
- Decompression should be done lazily without the user knowing (i.e. use `&self` and interior mutability)
Something that is probably easier to implement is the ability to ignore certain items using something like a .ignore
or .gitignore
file.
opened 09:46PM - 07 Jun 17 UTC
You should be able to exclude any files which match a particular [glob].
I'm โฆ not a massive fan of adding extra configuration to the `include_dir!()` macro syntax (see [*Project Goals and Values*](https://adventures.michaelfbryan.com/posts/bringing-include_dir-into-the-modern-era/#project-goals-and-values) for my opinion on configuration), so how about we copy [the behaviour](https://github.com/watchexec/cargo-watch/blob/main/USAGE.md#ignore-files) used by `cargo watch` where the tool respects your `.ignore` and `.gitignore` files?
[glob]: https://doc.rust-lang.org/glob/
1 Like
maplibre-rs is a GPU-powered vector map renderer! It lives now under the MapLibre umbrella. We are looking forward to new contributors!
Issues which allow an easy start: Issues ยท maplibre/maplibre-rs ยท GitHub
1 Like
Diesel is updating it's guides as preparation of the upcoming Diesel 2.0 release. Checkout the following issues if you want to help:
2 Likes
eyalb
May 31, 2022, 10:05am
431
We've got some good newcomer issues over at mirrord.
Anything labeled 'good first issue' works, but here are a few examples:
https://github.com/metalbear-co/mirrord/issues/53
https://github.com/metalbear-co/mirrord/issues/62
1 Like
eyalb
June 7, 2022, 2:50pm
432
Following some interest thanks to last weekโs issue, weโve added a bunch more newcomer issues over at mirrord. Here are a couple, and there are more in the repo:
https://github.com/metalbear-co/mirrord/issues/112
https://github.com/metalbear-co/mirrord/issues/110
2 Likes
In Boa , the JavaScript engine written in Rust, we have just released a new version, and we are looking for more contributions:
1 Like
krojew
June 15, 2022, 6:23pm
434
cdrs-tokio implemented some major enhancements lately to the master branch and requires quite a lot testing. Any help is appreciated!
https://github.com/krojew/cdrs-tokio/issues/96
1 Like
CAD97
June 25, 2022, 3:17pm
435
The pest parser is looking for new maintainers... for real this time
3 Likes
CAD97
July 17, 2022, 7:54pm
436
A nonstandard one:
We're (well, I'm) collecting examples of exception safety bugs, and we want every example we can possibly find. (With an emphasis on bugs due to drop unwinding.)
Please give me links
https://twitter.com/CAD97_/status/1548743689698250755
1 Like
I've already filed a couple exception-related bugs from my catch_unwind()
survey , viz., PyO3/pyo3#2501 and Frommi/miniz_oxide#118 . (Every usage labeled "uncontrolled" in the raw results is susceptible.) Aside from the catch_unwind()
footgun itself, many crates run println!()
or eprintln!()
in a context where unwinding is prohibited. (I labeled these as "incidentally unsound".) Many of these will become sound once extern "C"
aborts on unwind, but they will still have the minor bug of spurious process aborts. I suspect, though, that at least a few of them depend on exception safety for unsafe
code, even without extern "C"
.
1 Like
There's a few non-obvious patterns for writing web services that we would like to be documented in axum. It should be pretty simple for somebody who has used axum before, or it could be used an an exercise to learn it.
Add an example for multiple listen addresses ยท Issue #1174 ยท tokio-rs/axum ยท GitHub (somebody already took care of this one)
Add an example for a GET-or-HEAD handler that special-cases HEAD ยท Issue #1175 ยท tokio-rs/axum ยท GitHub
1 Like
Hello everyone
Could we have a couple of Ockam issues included in this week's call for participation?
Add an --all
option to ockam node delete
clap based command
Diagnose tokio error Cannot drop a runtime ...
error in rust nodes
Both issues are beginner friendly and we love helping new contributors.
Thank you.
1 Like
djc
July 26, 2022, 1:09pm
440
Not quite sure whether this belongs in call for participation or in the newish call for testing section (though maybe that's only for rust-lang projects?), but would like to get more eyes on the imminent chrono 0.4.20 release (first release since Sep 2020). Release notes at https://github.com/chronotope/chrono/releases/tag/v0.4.20-rc.1 , feedback welcome in https://github.com/chronotope/chrono/issues/674 .
Hello everyone
The response to last weeks call was great! Thank you for including us
Could we have another couple of Ockam issues included in this week's call for participation?
Make output node information and format consistent across ockam node create | show | list
clap based commands
Combine ockam identity print
and ockam identity export
into one command ockam identity show
Both issues are beginner friendly and we love helping new contributors.
Thank you.
1 Like
eyalb
July 27, 2022, 12:27pm
442
Hi everyone,
We're working on extending our test suite in mirrord, and we've got some good related beginner issues:
https://github.com/metalbear-co/mirrord/issues/200
https://github.com/metalbear-co/mirrord/issues/199
Thanks!
The diesel project is looking for help to setup a CI job for one of it's dependencies:
1 Like
josh
August 8, 2022, 3:27pm
445
ctest2 (used by C bindings like libc and libz-sys) needs some help: it needs a port from garando_syntax
to a more modern Rust parsing library such as syn
. This is a large task, but not a hard one:
See CTest uses syntex_syntax which doesn't support raw identifiers. ยท Issue #6 ยท JohnTitor/ctest2 ยท GitHub for background and Fails to parse `_` as a const identifier ยท Issue #38 ยท JohnTitor/ctest2 ยท GitHub for one example of what this would fix.
ctest2 has a testsuite, and libc-test serves as a testsuite as well; if those pass, the port was a success.
1 Like