Skip to content

fix(channels): presentation module private in release breaks the build (v0.57.16 release-blocker)#3406

Merged
M3gA-Mind merged 1 commit into
tinyhumansai:mainfrom
M3gA-Mind:fix/presentation-release-visibility
Jun 5, 2026
Merged

fix(channels): presentation module private in release breaks the build (v0.57.16 release-blocker)#3406
M3gA-Mind merged 1 commit into
tinyhumansai:mainfrom
M3gA-Mind:fix/presentation-release-visibility

Conversation

@M3gA-Mind

@M3gA-Mind M3gA-Mind commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes the v0.57.16 Release Production failure — every build job (Docker image + all 5 desktop targets) failed with one release-only Rust error:

error[E0603]: module `presentation` is private
  --> src/openhuman/agent/task_dispatcher.rs:627

One-line fix: make channels::providers::presentation pub mod in all build profiles.

Problem

channels/providers/mod.rs gated the module's visibility on build profile:

#[cfg(not(any(test, debug_assertions)))]
mod presentation;          // PRIVATE in release
#[cfg(any(test, debug_assertions))]
pub mod presentation;      // public only in test/debug

Because debug/test compiles all pass (local cargo check, PR CI, pnpm test:rust), nothing caught it until the release-profile production build ran.

Solution

pub mod presentation;
  • Consistent with every sibling provider module (web, telegram, slack, …) — presentation was the lone non-pub one.
  • pub (not pub(crate)): the integration test is an external crate that needs full pub; pub also satisfies the in-crate release caller. deliver_response is already pub fn, so making the module visible is the entire fix.

Verified with cargo check --release --bin openhuman-core (the exact failing profile) — now compiles clean.

Follow-up (separate)

PR CI compiles in debug only, which is why a release-only visibility break shipped. Recommend adding a cargo check --release job to catch this class of regression pre-release.

Summary by CodeRabbit

  • Refactor
    • Improved internal module accessibility to ensure consistent compilation across all build configurations.

…elease-blocker)

The module's visibility was cfg-gated: `pub mod` under test/debug, private
under release. That compiled in every debug/test build (local, PR CI,
pnpm test:rust) but broke the **release** build with E0603 once a cross-module
caller appeared — agent::task_dispatcher → presentation::deliver_response
(tinyhumansai#3380). The cfg gate landed in tinyhumansai#3023 so an integration coverage test (a
separate crate) could reach presentation::test_support.

Make it `pub mod presentation;` unconditionally — consistent with every
sibling provider module, satisfies both the release caller and the external
integration test (which needs full pub). Verified with cargo check --release.

Fixes the v0.57.16 Release Production failure.
@M3gA-Mind M3gA-Mind requested a review from a team June 5, 2026 11:57
@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d10e8c79-0079-4c43-8569-541d01cb38dc

📥 Commits

Reviewing files that changed from the base of the PR and between 08e0b95 and b5ede54.

📒 Files selected for processing (1)
  • src/openhuman/channels/providers/mod.rs

📝 Walkthrough

Walkthrough

This PR changes the presentation module in the providers module from conditionally private (in release builds) to unconditionally public, ensuring the module is accessible across all build configurations and enabling cross-module dispatch paths to compile successfully.

Changes

Module Visibility Fix

Layer / File(s) Summary
Presentation module visibility correction
src/openhuman/channels/providers/mod.rs
The presentation module is changed from conditional visibility (private in release builds via #[cfg(not(any(test, debug_assertions)))]) to unconditional public visibility via pub mod presentation;, enabling reliable cross-module access in all build profiles.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Beneath the moonlight, modules bloom,
No longer hidden in release's gloom,
The presentation now shines bright,
Public to all, a visibility delight!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the specific problem (presentation module visibility in release) and its impact (build breakage), directly matching the changeset's core fix of making the module unconditionally public.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.


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

@M3gA-Mind M3gA-Mind merged commit 0752c4a into tinyhumansai:main Jun 5, 2026
11 of 12 checks passed
senamakel pushed a commit to senamakel/openhuman that referenced this pull request Jun 6, 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.

1 participant