chore(deps): consume alkcall 0.9.0
- bump alkcall 0.8.1 -> 0.9 (gateway feature unchanged). No code change forced: none of the 0.9.0 breaking surfaces are constructed or pattern-matched in this crate — no ManagerError match arms (the new InvalidAdopt variant changes nothing here), no RelayError matching (the removed PubTypedOpen variant is unreachable from this crate), no Establishment construction or Debug dependence (the WS ferry passes Option<OpenEstablisher> through unchanged, per the 0.8.0 audit), and the op/register forward-through refactor does not touch the from_wss import filter or the adapter-registered leaf bundles - ride-through fixes: tests/ws_overlay_ops.rs now expects register_imported's new Result<(), String> return (8 sites assert registration success instead of discarding the value — the bool return they consumed was ignored anyway); fuzz/shared follows the main crate to alkcall 0.9 so the harness replay resolves one alkcall version (the stale 0.8.1 spec pinned two copies against alkhttp's requirement and broke the shared-crate build) - minor bump 0.6.0 -> 0.7.0 per the dep-wave convention (0.3.0 rode alkcall 0.6.0, 0.4.0 rode 0.7.0, 0.5.0 rode 0.8.0): this crate's public API carries alkcall types through re-exports and the ProtocolHandler impl, so a semver-breaking upstream is semver-relevant here Verification: cargo test 441+70 pass (default), 520+70 pass (all-features), clippy --all-features --all-targets -D warnings clean, fmt --check clean, doc --no-deps clean, fuzz corpus replay 21/21
This commit is contained in:
1 parent
2cf0dc7bea
commit
c89aa65fb2
5 files changed
+28
-17
No files matched your search
Generated
+2
-2
@@ -27,9 +27,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alkcall"
|
||||
version = "0.8.1"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf6af1e4af1460480849adf959c972d65deeafc36f4101064ced1ce6d1adfd5b"
|
||||
checksum = "a3562f1f7b348cdeb3d9181eaf57b0a2fb3f988d4280e8e225dadfd7f763cb84"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ h2 = ["server", "dep:hyper", "hyper-util/http2", "hyper/http2"]
|
||||
http1 = ["server", "dep:hyper", "hyper-util/http1", "hyper/http1"]
|
||||
|
||||
[dependencies]
|
||||
alkcall = { version = "0.8.1", features = ["gateway"] }
|
||||
alkcall = { version = "0.9", features = ["gateway"] }
|
||||
arc-swap = { version = "1", optional = true }
|
||||
axum = { version = "0.8", optional = true, features = ["ws"] }
|
||||
bytes = "1"
|
||||
|
||||
Generated
+5
-5
@@ -27,9 +27,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alkcall"
|
||||
version = "0.8.1"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf6af1e4af1460480849adf959c972d65deeafc36f4101064ced1ce6d1adfd5b"
|
||||
checksum = "a3562f1f7b348cdeb3d9181eaf57b0a2fb3f988d4280e8e225dadfd7f763cb84"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
@@ -1405,7 +1405,7 @@ dependencies = [
|
||||
"once_cell",
|
||||
"socket2",
|
||||
"tracing",
|
||||
"windows-sys 0.61.2",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1756,7 +1756,7 @@ dependencies = [
|
||||
"security-framework",
|
||||
"security-framework-sys",
|
||||
"webpki-root-certs",
|
||||
"windows-sys 0.61.2",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2513,7 +2513,7 @@ version = "0.1.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
||||
dependencies = [
|
||||
"windows-sys 0.61.2",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -14,7 +14,7 @@ mcp = ["alkhttp/mcp"]
|
||||
|
||||
[dependencies]
|
||||
alkhttp = { path = "../.." }
|
||||
alkcall = "0.8.1"
|
||||
alkcall = "0.9"
|
||||
serde_json = "1"
|
||||
bytes = "1"
|
||||
futures = "0.3"
|
||||
|
||||
+19
-8
@@ -212,7 +212,8 @@ async fn browser_registered_op_lands_in_overlay_not_peer_composite() {
|
||||
let overlay_env = conn.overlay_env();
|
||||
assert!(!overlay_env.contains("ui/dragged"));
|
||||
|
||||
conn.register_imported(browser_registration("ui/dragged", AccessControl::default()));
|
||||
conn.register_imported(browser_registration("ui/dragged", AccessControl::default()))
|
||||
.expect("register_imported must accept the unmarked spec");
|
||||
assert!(overlay_env.contains("ui/dragged"));
|
||||
assert!(
|
||||
overlay_env.peer_ids().is_empty(),
|
||||
@@ -226,7 +227,8 @@ async fn hub_call_reaches_browser_op_through_overlay_env() {
|
||||
let dp = dispatcher(registry, provider_with(vec![]));
|
||||
let conn = Arc::new(CallConnection::new_overlay_only(identity("browser", &[])));
|
||||
|
||||
conn.register_imported(browser_registration("ui/dragged", AccessControl::default()));
|
||||
conn.register_imported(browser_registration("ui/dragged", AccessControl::default()))
|
||||
.expect("register_imported must accept the unmarked spec");
|
||||
|
||||
let ctx = hub_root_context(
|
||||
"hub-call-1",
|
||||
@@ -257,7 +259,8 @@ async fn peerref_specific_browser_x_routes_to_nothing() {
|
||||
let registry = echo_registry();
|
||||
let dp = dispatcher(registry, provider_with(vec![]));
|
||||
let conn = Arc::new(CallConnection::new_overlay_only(identity("browser", &[])));
|
||||
conn.register_imported(browser_registration("ui/dragged", AccessControl::default()));
|
||||
conn.register_imported(browser_registration("ui/dragged", AccessControl::default()))
|
||||
.expect("register_imported must accept the unmarked spec");
|
||||
|
||||
let composed_env = dp.compose_root_env(
|
||||
&conn,
|
||||
@@ -300,7 +303,8 @@ async fn access_control_on_browser_op_gates_hub_call() {
|
||||
required_scopes: vec!["ui:write".to_string()],
|
||||
..Default::default()
|
||||
},
|
||||
));
|
||||
))
|
||||
.expect("register_imported must accept the unmarked spec");
|
||||
let env = conn.overlay_env();
|
||||
let ctx = hub_root_context(
|
||||
"hub-acl-ok",
|
||||
@@ -332,7 +336,9 @@ async fn access_control_on_browser_op_gates_hub_call() {
|
||||
#[tokio::test]
|
||||
async fn overlay_dropped_on_disconnect_no_leak_between_connections() {
|
||||
let conn1 = CallConnection::new_overlay_only(identity("browser-1", &[]));
|
||||
conn1.register_imported(browser_registration("ui/dragged", AccessControl::default()));
|
||||
conn1
|
||||
.register_imported(browser_registration("ui/dragged", AccessControl::default()))
|
||||
.expect("register_imported must accept the unmarked spec");
|
||||
assert!(conn1.overlay_env().contains("ui/dragged"));
|
||||
drop(conn1);
|
||||
|
||||
@@ -345,8 +351,12 @@ async fn overlay_dropped_on_disconnect_no_leak_between_connections() {
|
||||
// Connection-local isolation: each session's overlay is its own.
|
||||
let conn_a = CallConnection::new_overlay_only(identity("browser-a", &[]));
|
||||
let conn_b = CallConnection::new_overlay_only(identity("browser-b", &[]));
|
||||
conn_a.register_imported(browser_registration("ui/dragged", AccessControl::default()));
|
||||
conn_b.register_imported(browser_registration("ui/click", AccessControl::default()));
|
||||
conn_a
|
||||
.register_imported(browser_registration("ui/dragged", AccessControl::default()))
|
||||
.expect("register_imported must accept the unmarked spec");
|
||||
conn_b
|
||||
.register_imported(browser_registration("ui/click", AccessControl::default()))
|
||||
.expect("register_imported must accept the unmarked spec");
|
||||
assert!(conn_a.overlay_env().contains("ui/dragged"));
|
||||
assert!(!conn_a.overlay_env().contains("ui/click"));
|
||||
assert!(conn_b.overlay_env().contains("ui/click"));
|
||||
@@ -356,7 +366,8 @@ async fn overlay_dropped_on_disconnect_no_leak_between_connections() {
|
||||
#[tokio::test]
|
||||
async fn ws_close_mid_call_to_browser_op_aborts_call() {
|
||||
let conn = Arc::new(CallConnection::new_overlay_only(identity("browser", &[])));
|
||||
conn.register_imported(browser_registration("ui/dragged", AccessControl::default()));
|
||||
conn.register_imported(browser_registration("ui/dragged", AccessControl::default()))
|
||||
.expect("register_imported must accept the unmarked spec");
|
||||
|
||||
let rx = {
|
||||
let mut pending = conn.pending().lock();
|
||||
|
||||
Reference in new issue
Block a user