Conversation
…lided tinyhumansai#5459 deleted `src/core/event_bus/` and moved the bus onto the vendored tinybus crate; tinyhumansai#5446 added new references to `crate::core::event_bus`. Both merged, and neither Cargo world has compiled since. No feature selection avoids it — every failing site is ungated code. Four call sites, mechanically retargeted at the post-tinybus paths: - `memory/guard/audit.rs`, `memory/binding.rs` — `publish_global(..)` is `BUS.publish(..)`, and `event_bus::DomainEvent` is `core::events::DomainEvent`. - `app/src-tauri/src/whatsapp_data/mod.rs` — the free function `register_native_global` is `BUS.native().register`, one-for-one. The shell is a separate Cargo world, so this one is invisible to `cargo check` at the root and surfaces only in the Tauri clippy lane (or the pre-push hook). - `memory/guard/provider_tests.rs` — the two step-7 tests observed the old synchronous `init_global(..).raw_receiver()` broadcast channel, which has no tinybus equivalent. They now subscribe a recording `EventHandler` to the global bus (the idiom `web_chat::event_bus`'s own tests use) and poll, because delivery routes through a broker and is asynchronous now. The refusal test polls with a 2s bound so a regression fails rather than hangs; the success-path test sleeps briefly before asserting absence, since asserting "nothing arrived" the instant after the call would pass even if something had. Two more artefacts of the same collision: - `app/src-tauri/Cargo.lock` never learned about `tinybus`/`tinybus-macros`. - `cargo fmt --all` and prettier both had work to do: tinyhumansai#5459 landed ~72 Rust files unformatted and one `.tsx` reflow went with it, so the fmt lane is red on main too. That is the bulk of the diff and it is entirely mechanical. NOT fixed here, because it is a behavioural question rather than a mechanical one: `memory::guard::families::tests::guard_explicit_scope_argument_wins_over_the_ambient_one` fails deterministically on main, in isolation, in a file this PR does not touch — an explicit `SourceScope` argument is widened back to the ambient scope. Filed separately. Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted the ingest handler registration to use a single closure argument instead of a multi-line tuple, reducing visual nesting and making the code consistent with the other handler registrations in the same function. Auto-committed-on: dragonfly Co-authored-by: Medulla <medulla@tinyhumans.ai>
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 33 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (77)
Comment |
|
Superseded by #5469, which landed the same tinybus migration fixes on Closing rather than rebasing: there is nothing left in this branch that #5469 does not already cover. The one thing #5469 did not pick up is #5466 — |
What
maindoes not compile — neither Cargo world — and has not since #5459 and #5446 both merged. #5459 deletedsrc/core/event_bus/and moved the bus onto the vendoredtinybuscrate; #5446 added new references tocrate::core::event_bus. Neither PR was wrong on its own; they were verified against different bases.Every failing site is ungated code, so no feature selection avoids it.
The fix
memory/guard/audit.rspublish_global(..)→BUS.publish(..);event_bus::DomainEvent→core::events::DomainEventmemory/binding.rsMemoryDriverBindFailedpublishapp/src-tauri/src/whatsapp_data/mod.rsregister_native_global→BUS.native().register, one-for-onememory/guard/provider_tests.rsinit_global(..).raw_receiver()The shell one is worth calling out:
app/src-tauriis a separate Cargo world, so it is invisible tocargo checkat the root and surfaces only in the Tauri clippy lane or the pre-push hook.The test migration is the only part that is not a path rename. The old API was a synchronous
tokio::sync::broadcastreceiver drained withtry_recv; tinybus has no equivalent, because delivery routes through a broker and is asynchronous. The tests now subscribe a recordingEventHandlerto the global bus — the idiomweb_chat::event_bus's own tests already use — and poll:The rest of the diff
Two more artefacts of the same collision, both mechanical:
app/src-tauri/Cargo.locknever learned abouttinybus/tinybus-macros.cargo fmt --alland prettier both had work to do — refactor(core): replace the event bus with tinybus #5459 landed ~72 Rust files unformatted plus one.tsxreflow, so the fmt lane is red on main too. This is the bulk of the diff. Review the four files in the table above and skim the rest.Not fixed here
memory::guard::families::tests::guard_explicit_scope_argument_wins_over_the_ambient_onefails deterministically on main, in isolation, in a file this PR does not touch: an explicitSourceScopeargument is widened back to the ambient scope (Some("")whereSome("gmail:me")is expected). That is a behavioural question for the memory-subsystem author, not a mechanical collision, so it is #5466 rather than a guess here.Verification