mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-09-21 05:33:36 +00:00
Some checks are pending
Build and Release / Determine run mode (push) Waiting to run
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Sync Flatpak repo (push) Blocked by required conditions
Build and Release / Collect Flatpak artifacts (push) Blocked by required conditions
Build and Release / Verify (push) Waiting to run
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
# Runtime Patches
|
|
|
|
This directory documents temporary patches for third-party Rust dependencies.
|
|
|
|
## permutation_iterator
|
|
|
|
`qdrant-edge` depends on `permutation_iterator 0.1.2`, and that crate has seen no release since
|
|
2019. Its published version pulls in an outdated `rand` line, which drags a second copy of the
|
|
whole `rand` family into our dependency tree: `rand 0.7.3`, `rand_core 0.5.1`, `rand_chacha 0.2`,
|
|
`rand_hc`, `getrandom 0.1.16`, `wasi 0.9` and `cfg-if 0.1`, next to the current ones everything
|
|
else uses.
|
|
|
|
The fork `SommerEngineering/permutation-iterator-rs` is the published 0.1.2 with `rand` raised to
|
|
0.8, so it still satisfies what `qdrant-edge` asks for. AI Studio pins it in `runtime/Cargo.toml`:
|
|
|
|
```toml
|
|
[patch.crates-io]
|
|
permutation_iterator = { git = "https://github.com/SommerEngineering/permutation-iterator-rs.git", rev = "..." }
|
|
```
|
|
|
|
The same change was offered upstream in
|
|
[asimihsan/permutation-iterator-rs#14](https://github.com/asimihsan/permutation-iterator-rs/pull/14),
|
|
where it has been waiting since 2021. This is tree hygiene, not a build failure: without the patch
|
|
the runtime still builds, it just carries the old `rand` family along.
|
|
|
|
### When this patch can go
|
|
|
|
Either of these is enough, and both are worth a look whenever `qdrant-edge` is updated:
|
|
|
|
- crates.io carries a `permutation_iterator` newer than 0.1.2 which uses a current `rand`. Then the
|
|
`[patch.crates-io]` entry goes, and `qdrant-edge`'s own requirement decides the version.
|
|
- `qdrant-edge` stops depending on `permutation_iterator` at all. Check with
|
|
`cargo tree -i permutation_iterator` after the update.
|
|
|
|
Afterward, `grep 'name = "rand"' -A 2 runtime/Cargo.lock` must not show a 0.7 version anymore.
|
|
`SommerEngineering/permutation-iterator-rs` can then be deleted.
|