Skip to content

Build every client through one builder per platform (R94) - #110

Open
LucaCappelletti94 wants to merge 10 commits into
mainfrom
feat/r94-client-builder
Open

LucaCappelletti94 wants to merge 10 commits into
mainfrom
feat/r94-client-builder

Conversation

@LucaCappelletti94

Copy link
Copy Markdown
Owner

Every client, whether native, a browser worker or a browser tab, is now built by one builder chain over the same schema, tuning and sign-in pieces, and ClientConfig, ConnettoConnection::connect and ConnettoClient::start are internal, so there is no second way to make one. The schema reaches the client as the one bundle the build step translates, so the replica DDL and the version the handshake checks cannot drift apart. A durable build is gated on the away-and-return re-check by default, a browser tab learns who its worker is signed in as, a native client forgets its device through the client itself, and a capability now travels only as a share key with its subject.

Moving every test and demo onto the builders turned up four bugs, each fixed with a test. A running client waiting to redial neither queued local writes nor refreshed its live queries, a write made just before close() could slip past the unsynced guard a sign-out reads, the file outbox never ended on close, and the Apple clock branch did not compile. The reference binary now translates its schema at runtime, takes CONNETTO_USER beside the token, and lets the server answer its pushed writes before it exits on a refused one.

The first commit only moves subql, sqlparser and diesel-sqlite-session in the seven lockfiles. Locally the full gate, every browser suite, the restore tests and the device proof on the Galaxy M52, the iOS simulator and an iPhone over wss:// all pass.

@coderabbitai

coderabbitai Bot commented Sep 29, 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: 8357f80c-0380-4715-abf4-1160b1d37aba


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 Sep 29, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.81494% with 439 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.74%. Comparing base (22a0b40) to head (e99c24b).

Files with missing lines Patch % Lines
crates/connetto-client/src/builder/native.rs 81.13% 58 Missing and 15 partials ⚠️
crates/connetto-client/src/builder/sign_in.rs 68.55% 49 Missing and 1 partial ⚠️
crates/connetto-client/src/live.rs 83.27% 39 Missing and 10 partials ⚠️
crates/connetto-schema/src/lib.rs 82.55% 35 Missing and 6 partials ⚠️
crates/connetto-file-client/src/client.rs 34.61% 4 Missing and 30 partials ⚠️
crates/connetto-client/src/builder/core.rs 95.12% 20 Missing and 10 partials ⚠️
crates/connetto-core/src/transport.rs 75.40% 21 Missing and 9 partials ⚠️
crates/connetto-client/src/bin/connetto-client.rs 70.45% 11 Missing and 15 partials ⚠️
crates/connetto-client/src/away.rs 82.48% 24 Missing ⚠️
crates/connetto-dioxus/src/away.rs 54.16% 22 Missing ⚠️
... and 9 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #110      +/-   ##
==========================================
+ Coverage   84.64%   84.74%   +0.10%     
==========================================
  Files         131      142      +11     
  Lines       31447    33861    +2414     
  Branches    31447    33861    +2414     
==========================================
+ Hits        26617    28695    +2078     
- Misses       3297     3556     +259     
- Partials     1533     1610      +77     
Flag Coverage Δ
client 64.55% <79.57%> (+2.05%) ⬆️
rest 56.08% <56.84%> (-2.28%) ⬇️
server 51.25% <27.14%> (-1.57%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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

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