Skip to content

Ship the worker and the Android module under every major Rust bundler - #15

Merged
LucaCappelletti94 merged 8 commits into
w0-windows-cifrom
b1-bundlers
Oct 10, 2026
Merged

LucaCappelletti94 merged 8 commits into
w0-windows-cifrom
b1-bundlers

Conversation

@LucaCappelletti94

Copy link
Copy Markdown
Owner

Until now only dx could ship the two parts of pushups that are not Rust, the service worker and the Android Gradle module. This makes them reachable from the rest of the ecosystem. Web apps get pushups::SERVICE_WORKER to serve from a route or write from a build step, and rust_handler can register an app-supplied worker entry, which Trunk and cargo-leptos need because their glue never starts itself in the worker. Gradle-based Android apps (winit, Slint, Bevy, egui on android-activity) include the module through a settings.gradle.kts snippet that asks cargo metadata where the crate lives. Tauri apps add the new tauri-plugin-pushups, which hands Tauri's plugin build a copy of the module from its OUT_DIR and adds the iOS push entitlement.

Each route has an example and a CI job sending real pushes: examples/yew and examples/leptos in Chrome in both worker modes, and examples/winit and examples/tauri on the Android emulator, all of which also ran locally (the Android ones on a Galaxy M52). The winit build exposed a race in the Android session state, where an android-activity app sets its handler before Android reports the Activity, leaving the UI unbound for every push. A new state binds such a handler to the session that starts next.

This stacks on #14 and the rest of the stack from #1. The Tauri iOS build and publishing the module as an AAR on Maven Central are not part of it.

@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: LucaCappelletti94/coderabbit/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 5c025843-cd5c-40ef-8e13-c422f0407f64

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@codecov

codecov Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.70115% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.09%. Comparing base (66bf083) to head (3024abc).

Files with missing lines Patch % Lines
src/inbox.rs 90.00% 2 Missing ⚠️
Additional details and impacted files
@@                Coverage Diff                @@
##           w0-windows-ci      #15      +/-   ##
=================================================
+ Coverage          91.91%   92.09%   +0.17%     
=================================================
  Files                 33       33              
  Lines               2844     2883      +39     
  Branches              38       38              
=================================================
+ Hits                2614     2655      +41     
+ Misses               203      201       -2     
  Partials              27       27              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud

Copy link
Copy Markdown

@LucaCappelletti94
LucaCappelletti94 merged commit 8c15151 into main Oct 10, 2026
56 checks passed
@LucaCappelletti94
LucaCappelletti94 deleted the b1-bundlers branch October 10, 2026 12:11
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