Skip to content

web: upgrade leptos to 0.8.22 - #63

Merged
Rust-KVM merged 1 commit into
devfrom
claude/project-thread-di5re1
Oct 12, 2026
Merged

Rust-KVM merged 1 commit into
devfrom
claude/project-thread-di5re1

Conversation

@Rust-KVM

Copy link
Copy Markdown
Owner

Requested by 4c · project thread

Summary

Before: the web UI was on leptos 0.8.21. Dependabot's bump to 0.8.22 (#58) failed wasm32 clippy and trunk build with E0277 syn::path::Path: syn::parse_quote::ParseQuote is not satisfied inside server_fn_macro_default.

After: the web UI builds on leptos 0.8.22 with no source changes.

Root cause: leptos_macro 0.8.19 (pulled by leptos 0.8.22) pins server_fn_macro = "=0.8.12", and server_fn_macro 0.8.12 moved its public API from syn 2 to syn 3 in a patch release. server_fn depends on server_fn_macro_default ^0.8.5; the 0.8.5 version still builds a syn 2 Path and hands it to the now-syn-3 server_macro_impl, so the two syn majors collide. Upstream published server_fn_macro_default 0.8.6 (syn 3) for exactly this, but cargo update -p leptos does not touch it because 0.8.5 still satisfies ^0.8.5.

How

cargo update -p leptos --precise 0.8.22 plus cargo update -p server_fn_macro_default (0.8.5 → 0.8.6) in crates/rkvm-web/Cargo.lock, and raise the leptos requirement in crates/rkvm-web/Cargo.toml to 0.8.22. The rest of the lock diff is leptos's own transitive set (rstml 0.13, manyhow 0.14, attribute-derive 0.11, etc.), all proc-macro crates. No runtime code or logic changes; nothing in the generated wasm path changes beyond what leptos itself ships.

Testing

  • Frontend touched: cargo clippy --locked --all-targets --target wasm32-unknown-unknown -- -D warnings in crates/rkvm-web passes locally; trunk build checked by CI
  • Backend untouched (no workspace changes)
  • Tested on an RK3588 device: deploy thread will rebuild from dev after merge

Checklist

  • No #[allow(...)] suppressions and no new unwrap() / expect() in production paths
  • Hot paths stay zero-copy (not touched)
  • Shared protocol types live in rkvm-proto (not touched)
  • RPC method set unchanged
  • Module tree / build invariants unchanged

🤖 Generated with Claude Code

https://claude.ai/code/session_015fBx2aMpT16FzYexwtPHDx


Generated by Claude Code

leptos_macro 0.8.19 pins server_fn_macro =0.8.12, which moved its public
API from syn 2 to syn 3. server_fn_macro_default 0.8.5 still passes a
syn 2 Path into it, so a lockfile that only bumps leptos (as Dependabot
did in #58) fails with E0277 "syn::path::Path: ParseQuote not satisfied".
server_fn_macro_default 0.8.6 is the matching syn 3 release; update it
together with leptos. No source changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015fBx2aMpT16FzYexwtPHDx
@Rust-KVM Rust-KVM self-assigned this Oct 12, 2026
@github-actions github-actions Bot added the rkvm-web Leptos / WASM frontend label Oct 12, 2026
@Rust-KVM
Rust-KVM marked this pull request as ready for review October 12, 2026 14:02
@Rust-KVM
Rust-KVM merged commit 115f54a into dev Oct 12, 2026
13 checks passed
@Rust-KVM
Rust-KVM deleted the claude/project-thread-di5re1 branch October 12, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rkvm-web Leptos / WASM frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants