Removes CoreCommand::ReloadFilters -- confirmed via workspace-wide git grep that nothing sends it; filter reload actually happens via FiltersGrpcService::reload_engine_from_store in nunciod/src/grpc.rs, a completely separate path. The match arm was a silent no-op (CoreCommand::ReloadFilters => {}).
Removes AppState::unread_count and the increment/decrement logic in the MarkRead command handler -- confirmed via git grep that no consumer in nunciod/nuncio-cli/nuncio-proto ever reads AppState.unread_count; only state.status is read (for GetStatusResponse, which carries just engine_status + version per proto/nuncio/v1/nuncio.proto). The field never reached the wire.
No proto/wire changes. nuncio-proto and the golden descriptor are untouched.
Updated the two affected nuncio-core unit tests (with_initial_state_seeds_snapshot, and the renamed process_mark_read_emits_flags_changed_for_each_call) to drop unread_count assertions while still covering MarkRead -> MessageFlagsChanged event behavior.
Checked crates/nunciod/src/main.rs's match cmd { ... } over CoreCommand -- it has a wildcard _ => {} arm, so removing ReloadFilters doesn't affect exhaustiveness there.
## Summary
- Removes `CoreCommand::ReloadFilters` -- confirmed via workspace-wide `git grep` that nothing sends it; filter reload actually happens via `FiltersGrpcService::reload_engine_from_store` in `nunciod/src/grpc.rs`, a completely separate path. The match arm was a silent no-op (`CoreCommand::ReloadFilters => {}`).
- Removes `AppState::unread_count` and the increment/decrement logic in the `MarkRead` command handler -- confirmed via `git grep` that no consumer in `nunciod`/`nuncio-cli`/`nuncio-proto` ever reads `AppState.unread_count`; only `state.status` is read (for `GetStatusResponse`, which carries just `engine_status` + `version` per `proto/nuncio/v1/nuncio.proto`). The field never reached the wire.
- No proto/wire changes. `nuncio-proto` and the golden descriptor are untouched.
- Updated the two affected `nuncio-core` unit tests (`with_initial_state_seeds_snapshot`, and the renamed `process_mark_read_emits_flags_changed_for_each_call`) to drop `unread_count` assertions while still covering `MarkRead` -> `MessageFlagsChanged` event behavior.
- Checked `crates/nunciod/src/main.rs`'s `match cmd { ... }` over `CoreCommand` -- it has a wildcard `_ => {}` arm, so removing `ReloadFilters` doesn't affect exhaustiveness there.
Refs #324
## Test plan
- [x] `cargo fmt --all -- --check`
- [x] `cargo check-all` (clippy --all-targets --workspace -D warnings)
- [x] `cargo test-all` -- 0 failed, 0 ignored, workspace-wide
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
CoreCommand::ReloadFilters-- confirmed via workspace-widegit grepthat nothing sends it; filter reload actually happens viaFiltersGrpcService::reload_engine_from_storeinnunciod/src/grpc.rs, a completely separate path. The match arm was a silent no-op (CoreCommand::ReloadFilters => {}).AppState::unread_countand the increment/decrement logic in theMarkReadcommand handler -- confirmed viagit grepthat no consumer innunciod/nuncio-cli/nuncio-protoever readsAppState.unread_count; onlystate.statusis read (forGetStatusResponse, which carries justengine_status+versionperproto/nuncio/v1/nuncio.proto). The field never reached the wire.nuncio-protoand the golden descriptor are untouched.nuncio-coreunit tests (with_initial_state_seeds_snapshot, and the renamedprocess_mark_read_emits_flags_changed_for_each_call) to dropunread_countassertions while still coveringMarkRead->MessageFlagsChangedevent behavior.crates/nunciod/src/main.rs'smatch cmd { ... }overCoreCommand-- it has a wildcard_ => {}arm, so removingReloadFiltersdoesn't affect exhaustiveness there.Refs #324
Test plan
cargo fmt --all -- --checkcargo check-all(clippy --all-targets --workspace -D warnings)cargo test-all-- 0 failed, 0 ignored, workspace-wide