Skip to content

feat: bump tonic 0.12→0.14 + tonic-web-wasm-client 0.6→0.9#12

Merged
satyakwok merged 1 commit into
mainfrom
chore/bump-tonic-prost
May 12, 2026
Merged

feat: bump tonic 0.12→0.14 + tonic-web-wasm-client 0.6→0.9#12
satyakwok merged 1 commit into
mainfrom
chore/bump-tonic-prost

Conversation

@satyakwok
Copy link
Copy Markdown
Member

@satyakwok satyakwok commented May 12, 2026

Cluster A2 of the major-bump audit (WASM gRPC-Web client side).

Changes

  • tonic 0.12 → 0.14
  • tonic-web-wasm-client 0.6 → 0.9
  • prost 0.13 → 0.14
  • tonic-build 0.12 → tonic-prost-build 0.14 (build-dep, prost integration was extracted)
  • new dep: tonic-prost 0.14 (runtime; was a feature inside tonic, now split)

API surface

Public exports unchanged. build.rs calls tonic_prost_build::configure() instead of tonic_build::configure() — same builder API.

Verification

  • cargo check (native) — clean
  • cargo check --target wasm32-unknown-unknown — clean (this is the actual deploy target via wasm-pack)

Supersedes #7, #8, #9, #10.

Summary by CodeRabbit

  • Chores
    • Updated gRPC-Web client library dependencies and build configuration to latest versions for improved stability and compatibility.

Review Change Stack

tonic 0.14 split prost integration into separate `tonic-prost` (runtime)
+ `tonic-prost-build` (codegen) crates. tonic itself no longer exposes
the `prost` feature.

build.rs now calls tonic-prost-build::configure(). API surface is
unchanged from the previous tonic-build call.

tonic-web-wasm-client 0.9 is the version that pairs with tonic 0.14.
Native + wasm32-unknown-unknown both compile clean.

Supersedes #7 (tonic), #8 (tonic-web-wasm-client), #9 (prost), #10 (tonic-build).
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 12, 2026

📝 Walkthrough

Walkthrough

This PR upgrades the gRPC-Web WASM client build toolchain for the Sentrix project. The Cargo.toml file bumps versions for tonic, tonic-prost, tonic-web-wasm-client, and prost crates to newer pinned releases, while switching the build-time backend from tonic-build to tonic-prost-build. The corresponding build.rs file is updated to invoke tonic_prost_build::configure() instead of tonic_build::configure(), preserving all existing build arguments and compile settings for protobuf code generation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main objective: bumping tonic and tonic-web-wasm-client versions, which are the key dependency upgrades in this changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/bump-tonic-prost

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
build.rs (1)

1-4: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update stale header comment to match the new builder crate.

Line 1 still references tonic-build, but Line 11 now uses tonic_prost_build::configure(). Keeping this accurate avoids maintenance confusion.

Suggested patch
-// tonic-build invokes protoc at compile time to generate the
+// tonic-prost-build invokes protoc at compile time to generate the
 // `sentrix.v1` Rust module from `proto/sentrix.proto`. We disable
 // server codegen — this crate is browser-only, no need for the
 // service stub.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@build.rs` around lines 1 - 4, Update the stale header comment in build.rs to
reflect the current builder crate: replace references to "tonic-build" with the
new builder name used in this file (tonic_prost_build) and mention that the
codegen is configured via tonic_prost_build::configure() rather than
tonic-build; ensure the comment still explains that server codegen is disabled
for a browser-only crate and that the sentrix.v1 Rust module is generated from
proto/sentrix.proto so future readers aren't confused about which
crate/configure() call is performing the generation.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@build.rs`:
- Around line 1-4: Update the stale header comment in build.rs to reflect the
current builder crate: replace references to "tonic-build" with the new builder
name used in this file (tonic_prost_build) and mention that the codegen is
configured via tonic_prost_build::configure() rather than tonic-build; ensure
the comment still explains that server codegen is disabled for a browser-only
crate and that the sentrix.v1 Rust module is generated from proto/sentrix.proto
so future readers aren't confused about which crate/configure() call is
performing the generation.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 72169ab8-94fd-43cd-a67d-b2392f942ed0

📥 Commits

Reviewing files that changed from the base of the PR and between 6d40348 and 045fd73.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock, !**/*.lock
📒 Files selected for processing (2)
  • Cargo.toml
  • build.rs

@satyakwok satyakwok merged commit 866e0bc into main May 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant