Skip to content

fix(coverage): exclude agntcy-slim-rpc from workspace --all-features coverage pass - #1924

Merged
msardara merged 9 commits into
mainfrom
docs/fix-tutorials-alpha8
Jul 31, 2026
Merged

fix(coverage): exclude agntcy-slim-rpc from workspace --all-features coverage pass#1924
msardara merged 9 commits into
mainfrom
docs/fix-tutorials-alpha8

Conversation

@msardara

@msardara msardara commented Jul 31, 2026

Copy link
Copy Markdown
Member

Description

Mirror the clippy fix: exclude agntcy-slim-rpc and agntcy-slim-bindings from
the workspace --all-features llvm-cov run, add separate targeted passes for
each feature combination, then merge into a single lcov report.

Type of Change

  • Bugfix
  • New Feature
  • Breaking Change
  • Refactor
  • Documentation
  • Other (please describe)

Checklist

  • I have read the contributing guidelines
  • Existing issues have been referenced (where applicable)
  • I have verified this change is not present in other open pull requests
  • Functionality is documented
  • All code style checks pass
  • New code contribution is covered by automated tests
  • All new and existing tests pass

@msardara
msardara requested a review from a team as a code owner July 31, 2026 14:58
msardara added 9 commits July 31, 2026 17:48
…s alpha.5

Version bumps (slim):
- data-plane, controller, channel-manager install pages: 2.0.0-alpha.7 → 2.0.0-alpha.8
- cli install + slim-howto download URLs: slimctl-v2.0.0-alpha.7 → slimctl-v2.0.0-alpha.8
- data-plane/config.md schema links: slim-v2.0.0-alpha.7 → slim-v2.0.0-alpha.8
- deploy/docker.md: 1.4.0 → 2.0.0-alpha.8 for all Docker images
- slimrpc/tutorial-serve.md Rust Cargo.toml: agntcy-slim 2.0.0-alpha.7 → 2.0.0-alpha.8

Version bumps (slim-bindings):
- slim-howto.md Go/Java/Kotlin: 2.0.0-alpha.9 → 2.0.0-alpha.5
- sdk/install.md Python pyproject.toml: ~=1.0 → ==2.0.0a5
- sdk/install.md Kotlin build.gradle.kts: 1.2.0 → 2.0.0-alpha.5
- tutorial-connect.md docs.rs API link: 2.0.0-alpha.9 → 2.0.0-alpha.5

Code fixes (found by running examples against slim-bindings 2.0.0a5):
- Shared secret too short: "my-shared-secret" (16 chars) fails HMAC minimum
  length check; replaced with "my-shared-secret-replace-in-prod" (32 chars)
  across all languages in tutorial-app.md, tutorial-persistence.md, and
  putting-it-together.md
- Python SessionConfig missing required metadata={} field; added to both the
  P2P and group session blocks in tutorial-session.md
- Python MlsSettings missing max_seen_control_message_ids_size=None; added
  to both session blocks in tutorial-session.md
- Group session Python: app.create_session() (sync, blocks event loop) →
  await app.create_session_async() in tutorial-session.md
- Persistence Python: create_app_with_persistence_async() panics with Tokio
  reactor error; changed to synchronous create_app_with_persistence() and
  restore_sessions() in tutorial-persistence.md

Other fixes:
- slim-howto.md .NET package: Agntcy.Slim.Bindings → Agntcy.Slim
- tutorial-session.md Java examples link: tree/main/kotlin/examples →
  tree/main/java/examples (wrong directory)
…runtime

create_app_with_persistence_async and restore_sessions_async both call into
code that invokes tokio::spawn internally (the message-processing loop in
bootstrap_app and Timer::start in the session layer). When these functions
are reached from a UniFFI async context the calling thread has no Tokio
reactor set, so tokio::spawn panics with "there is no reactor running".

Fix mirrors what create_session_async already does: wrap the work in
get_runtime().spawn() so the future executes on the managed Tokio runtime
where a reactor is always present. The web build is unchanged — it uses
cfg gates to fall back to the direct await path.

Also restore the Python tutorial examples to use the async variants now
that the underlying panic is fixed.

Signed-off-by: Mauro Sardara <msardara@cisco.com>
…coverage pass

Mirror the clippy fix: exclude agntcy-slim-rpc and agntcy-slim-bindings from
the workspace --all-features llvm-cov run, add separate targeted passes for
each feature combination, then merge into a single lcov report.
Apply the same exclusion pattern already used in clippy and test:coverage:
exclude agntcy-slim-rpc from the workspace --all-features pass (which
activates the incompatible uniffi+web combination) and add two targeted
passes — lib-only with all features, all targets with uniffi only.

Same change applied to test:build for consistency.
The web feature was added to agntcy-slim-rpc to "synchronize" with
agntcy-slim-bindings, but it was never a real build surface for rpc
(the slim-bindings-ffi crate only passes --features uniffi to it).
Its presence caused --all-features to activate the incompatible
uniffi+web combination, breaking workspace test and lint runs.

Remove the web feature and all the cfg guards it introduced in
lib.rs and server.rs. Now --all-features on agntcy-slim-rpc only
activates uniffi, which compiles and tests correctly. Simplify the
test, test:build, clippy, and test:coverage tasks back to single
workspace-wide commands that only exclude agntcy-slim-bindings.
--all-features on agntcy-slim-bindings works fine on a native host:
web is the only non-default feature and it compiles cleanly alongside
the native target-gated dependencies. Collapse clippy, test, test:build,
and test:coverage back to single unconditional workspace commands.
--all-features activates slim-bindings' web feature which hides
get_runtime, breaking rpc's ffi module. The web variant is already
tested on the actual wasm32 target via test:wasm. Drop --all-features
from the defaults in clippy, test, test:build, and test:coverage.

Also remove blank lines between doc comments and fn signatures left
behind by the earlier cfg-attribute removal in server.rs.
@msardara
msardara force-pushed the docs/fix-tutorials-alpha8 branch from b45e76b to c7a605f Compare July 31, 2026 16:20
@msardara
msardara merged commit 0f199f8 into main Jul 31, 2026
11 checks passed
@msardara
msardara deleted the docs/fix-tutorials-alpha8 branch July 31, 2026 16:29
@build-agntcy build-agntcy mentioned this pull request Jul 31, 2026
msardara pushed a commit that referenced this pull request Jul 31, 2026
## 🤖 New release

* `agntcy-slim-version`: 2.0.0-alpha.9 -> 2.0.0-alpha.10
* `agntcy-slim`: 2.0.0-alpha.9 -> 2.0.0-alpha.10
* `agntcy-slim-channel-manager`: 2.0.0-alpha.9 -> 2.0.0-alpha.10
* `agntcy-slim-control-plane`: 2.0.0-alpha.9 -> 2.0.0-alpha.10
* `agntcy-slim-rpc`: 2.0.0-alpha.9 -> 2.0.0-alpha.10 (✓ API compatible
changes)
* `agntcy-slimctl`: 2.0.0-alpha.9 -> 2.0.0-alpha.10
* `agntcy-slim-auth`: 0.14.2 -> 0.14.3
* `agntcy-slim-config`: 0.14.0 -> 0.14.1
* `agntcy-slim-proto`: 0.5.1 -> 0.5.2
* `agntcy-slim-tracing`: 0.4.10 -> 0.4.11
* `agntcy-slim-datapath`: 0.17.1 -> 0.17.2
* `agntcy-slim-mls`: 0.3.1 -> 0.3.2
* `agntcy-slim-session`: 0.7.1 -> 0.7.2
* `agntcy-slim-signal`: 0.1.17 -> 0.1.18
* `agntcy-slim-controller`: 0.12.1 -> 0.12.2
* `agntcy-slim-service`: 0.12.1 -> 0.12.2
* `agntcy-slim-bindings`: 2.0.0-alpha.11 -> 2.0.0-alpha.12

<details><summary><i><b>Changelog</b></i></summary><p>

## `agntcy-slim-version`

<blockquote>

##
[1.3.0](https://github.com/agntcy/slim/releases/tag/slim-version-v1.3.0)
- 2026-03-20

### Added

- add agntcy-slim-version crate as single source of truth for version
and build info ([#1360](#1360))
</blockquote>

## `agntcy-slim`

<blockquote>

##
[2.0.0-alpha.8](slim-v2.0.0-alpha.7...slim-v2.0.0-alpha.8)
- 2026-07-29

### Other

- rename group in domain
([#1891](#1891))
</blockquote>

## `agntcy-slim-channel-manager`

<blockquote>

##
[2.0.0-alpha.8](slim-channel-manager-v2.0.0-alpha.7...slim-channel-manager-v2.0.0-alpha.8)
- 2026-07-29

### Added

- *(channel-manager)* add storage
([#1901](#1901))
- *(bindings)* expose session close/rejoin
([#1896](#1896))
</blockquote>

## `agntcy-slim-control-plane`

<blockquote>

##
[2.0.0-alpha.9](slim-control-plane-v2.0.0-alpha.8...slim-control-plane-v2.0.0-alpha.9)
- 2026-07-31

### Added

- add control-plane side override of node connection data
([#1913](#1913))
</blockquote>

## `agntcy-slim-rpc`

<blockquote>

##
[2.0.0-alpha.10](slim-rpc-v2.0.0-alpha.9...slim-rpc-v2.0.0-alpha.10)
- 2026-07-31

### Fixed

- *(coverage)* exclude agntcy-slim-rpc from workspace --all-features
coverage pass ([#1924](#1924))
</blockquote>

## `agntcy-slimctl`

<blockquote>

##
[2.0.0-alpha.9](slimctl-v2.0.0-alpha.8...slimctl-v2.0.0-alpha.9)
- 2026-07-31

### Added

- add control-plane side override of node connection data
([#1913](#1913))
</blockquote>

## `agntcy-slim-auth`

<blockquote>

##
[0.14.3](slim-auth-v0.14.2...slim-auth-v0.14.3)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version
</blockquote>

## `agntcy-slim-config`

<blockquote>

##
[0.14.1](slim-config-v0.14.0...slim-config-v0.14.1)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-auth
</blockquote>

## `agntcy-slim-proto`

<blockquote>

##
[0.5.2](slim-proto-v0.5.1...slim-proto-v0.5.2)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-config
</blockquote>

## `agntcy-slim-tracing`

<blockquote>

##
[0.4.11](slim-tracing-v0.4.10...slim-tracing-v0.4.11)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-config
</blockquote>

## `agntcy-slim-datapath`

<blockquote>

##
[0.17.2](slim-datapath-v0.17.1...slim-datapath-v0.17.2)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-config, agntcy-slim-proto, agntcy-slim-tracing
</blockquote>

## `agntcy-slim-mls`

<blockquote>

##
[0.3.2](slim-mls-v0.3.1...slim-mls-v0.3.2)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-auth
</blockquote>

## `agntcy-slim-session`

<blockquote>

##
[0.7.2](slim-session-v0.7.1...slim-session-v0.7.2)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-auth, agntcy-slim-datapath, agntcy-slim-mls
</blockquote>

## `agntcy-slim-signal`

<blockquote>

##
[0.1.18](slim-signal-v0.1.17...slim-signal-v0.1.18)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version
</blockquote>

## `agntcy-slim-controller`

<blockquote>

##
[0.12.2](slim-controller-v0.12.1...slim-controller-v0.12.2)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-auth, agntcy-slim-config, agntcy-slim-proto,
agntcy-slim-tracing, agntcy-slim-datapath, agntcy-slim-session,
agntcy-slim-signal
</blockquote>

## `agntcy-slim-service`

<blockquote>

##
[0.12.2](slim-service-v0.12.1...slim-service-v0.12.2)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-auth, agntcy-slim-config, agntcy-slim-datapath,
agntcy-slim-mls, agntcy-slim-session, agntcy-slim-controller
</blockquote>

## `agntcy-slim-bindings`

<blockquote>

##
[2.0.0-alpha.12](slim-bindings-v2.0.0-alpha.11...slim-bindings-v2.0.0-alpha.12)
- 2026-07-31

### Other

- updated the following local packages: agntcy-slim-version,
agntcy-slim-version, agntcy-slim-version, agntcy-slim, agntcy-slim-auth,
agntcy-slim-auth, agntcy-slim-config, agntcy-slim-config,
agntcy-slim-tracing, agntcy-slim-datapath, agntcy-slim-datapath,
agntcy-slim-session, agntcy-slim-session, agntcy-slim-signal,
agntcy-slim-controller, agntcy-slim-service, agntcy-slim-service
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
@build-agntcy build-agntcy mentioned this pull request Jul 31, 2026
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.

2 participants