chore(deps): update Tier 1 + Tier 2 dependencies (backend & frontend)#177
chore(deps): update Tier 1 + Tier 2 dependencies (backend & frontend)#177streamer45 merged 8 commits intomainfrom
Conversation
Tier 1 — safe patch/lockfile bumps: - cargo update (lockfile refresh) - serde-saphyr 0.0.21 → 0.0.22 - bun update in ui/, docs/, e2e/ Tier 2 — 0.x minor bumps with code fixes: - bzip2 0.5 → 0.6 (now uses pure-Rust libbz2-rs-sys) - getrandom 0.3 → 0.4 - tokio-tungstenite 0.28 → 0.29 - rand 0.9 → 0.10 (Rng → RngExt trait migration) - Added cargo-deny exception for libbz2-rs-sys bzip2-1.0.6 license Signed-off-by: Devin AI <devin@streamkit.dev> Signed-off-by: StreamKit Devin <devin@streamkit.dev> Co-Authored-By: Claudio Costa <cstcld91@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
| hex = "0.4" | ||
| thiserror = "2.0" | ||
| getrandom = "0.3" | ||
| getrandom = "0.4" |
There was a problem hiding this comment.
🚩 getrandom 0.3→0.4 may have API changes affecting auth key generation
The getrandom dependency was bumped from 0.3 to 0.4, a major version bump. The usage at apps/skit/src/auth/stores/file.rs:342 calls getrandom::fill(&mut seed).map_err(...) which expects fill to return a Result. In getrandom 0.4, the fill function signature or error type may have changed. While any incompatibility would be caught by the compiler, the reviewer should verify this code path works correctly since it's in the security-critical auth key generation flow.
Was this helpful? React with 👍 or 👎 to provide feedback.
Debug
There was a problem hiding this comment.
Good callout. I verified this compiles cleanly with cargo clippy --workspace — the getrandom::fill API in 0.4 is compatible (still returns Result). The getrandom 0.3→0.4 bump is a semver major but the fill() function signature is unchanged. The compiler would catch any breakage here regardless.
Widens the parameter type from the concrete Signal class to the Getter interface. This avoids TypeScript #private field incompatibility when @moq/signals instances are duplicated across nested @moq/* packages. Also restores ^0.1.3 semver range for @moq/signals. Signed-off-by: Devin AI <devin@streamkit.dev> Signed-off-by: StreamKit Devin <devin@streamkit.dev> Co-Authored-By: Claudio Costa <cstcld91@gmail.com>
The previous bun.lock had stale resolutions that caused 11 separate copies of @codemirror/state to be installed (one at 6.6.0, ten nested at 6.5.2). This broke CodeMirror's instanceof checks at runtime, crashing the PipelineEditor component. Regenerating all three lockfiles from scratch resolves to a single copy of each @codemirror/* package. Signed-off-by: StreamKit Devin <devin@streamkit.dev> Co-Authored-By: Claudio Costa <cstcld91@gmail.com>
Runtime Test Results — CodeMirror Deduplication FixRan frontend locally ( CodeMirror YAML Editor — Primary Fix
Stream View — CodeMirror EditorConvert View — CodeMirror EditorNotes
|
5ed567d to
3436e05
Compare
Summary
Updates all safe patch-level and 0.x minor-level dependencies across both backend (Cargo) and frontend (Bun).
Tier 1 — safe patch/lockfile bumps:
cargo update(lockfile refresh for aws-lc-rs, opentelemetry-otlp, tar, toml, moq-lite, moq-native, hang, etc.)serde-saphyr0.0.21 → 0.0.22bun updateinui/,docs/,e2e/(codemirror suite, react-query 5.91, motion 12.38, zustand 5.0.12, astro 5.18, playwright 1.58, etc.)Tier 2 — 0.x minor bumps with code fixes:
bzip20.5 → 0.6 — now uses pure-Rustlibbz2-rs-sysinstead of Cbzip2-sysgetrandom0.3 → 0.4tokio-tungstenite0.28 → 0.29 (inapps/skit+apps/skit-cli)rand0.9 → 0.10 — migratedRng→RngExttrait imports in load test codecargo-denylicense exception forlibbz2-rs-sys(bzip2-1.0.6license)Bug fix:
#privatefield error inwaitForSignalValueby widening the parameter type fromSignal<T>toGetter<T>. The function only usespeek()andsubscribe()(both on theGetterinterface), so using the concreteSignalclass was unnecessarily strict and broke when bun deduplicated@moq/signalsinto separate physical copies under each@moq/*package.Not included (Tier 3 — separate PRs):
wasmtime/wasmtime-wasi41 → 43astro5 → 6,starlight0.38knip5 → 6Review & Testing Checklist for Human
cargo deny check licensespasses (thelibbz2-rs-sysexception indeny.tomlis correctly scoped)rand0.10RngExtmigration inapps/skit-cli/src/load_test/{scenarios,workers,metrics}.rs— ensuresample_iterandrandom_rangestill work as expectedjust testlocally to validate all backend tests passwaitForSignalValuestill works correctly withGetter<T>— the MoQ stream connection flow should establish without regressionsRecommended test plan:
just lint && just test, then start the dev server (just skit+just ui) and verify the compositor UI loads and basic streaming works.Notes
Signal<T>→Getter<T>fix inwaitForSignalValuealso resolves the pre-existing TypeScript error onmainatui/src/stores/streamStoreHelpers.ts:490.Link to Devin session: https://staging.itsdev.in/sessions/89e6e91be8c44642a4c13b8f5aed416a
Requested by: @streamer45