feat: make shell logging on navigation events configurable#113
Merged
feat: make shell logging on navigation events configurable#113
Conversation
Contributor
|
🔍 Website Preview: https://amoxide.rs/_preview/113/ Preview will be removed when this PR is merged or closed. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #113 +/- ##
==========================================
+ Coverage 74.78% 75.17% +0.38%
==========================================
Files 47 48 +1
Lines 12152 12494 +342
Branches 12152 12494 +342
==========================================
+ Hits 9088 9392 +304
- Misses 2890 2919 +29
- Partials 174 183 +9 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Merged
sassman
pushed a commit
that referenced
this pull request
Apr 27, 2026
## 🤖 New release
* `amoxide`: 0.7.0 -> 0.8.0 (⚠ API breaking changes)
* `amoxide-tui`: 0.7.0 -> 0.8.0
### ⚠ `amoxide` breaking changes
```text
--- failure constructible_struct_adds_field: externally-constructible struct adds field ---
Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/constructible_struct_adds_field.ron
Failed in:
field Config.logging in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/config.rs:30
field Config.logging in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/config.rs:30
--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---
Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/derive_trait_impl_removed.ron
Failed in:
type Effect no longer derives Clone, in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/effects.rs:35
type Effect no longer derives Clone, in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/effects.rs:35
--- failure enum_struct_variant_changed_kind: An enum struct variant changed kind ---
Description:
A pub enum's struct variant with at least one pub field has changed to a different kind of enum variant, breaking access to its pub fields.
ref: https://doc.rust-lang.org/reference/items/enumerations.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_struct_variant_changed_kind.ron
Failed in:
variant ProfileAction::Use in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/cli.rs:162
variant Commands::Use in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/cli.rs:94
--- failure enum_variant_added: enum variant added on exhaustive enum ---
Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_variant_added.ron
Failed in:
variant Commands:Sync in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/cli.rs:125
variant Effect:PrintLines in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/effects.rs:55
variant Effect:RenderSync in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/effects.rs:56
variant Effect:PrintLines in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/effects.rs:55
variant Effect:RenderSync in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/effects.rs:56
variant Message:Sync in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/messages.rs:38
variant Message:EnableProfiles in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/messages.rs:41
variant Message:DeactivateProfiles in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/messages.rs:42
variant Message:Sync in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/messages.rs:38
variant Message:EnableProfiles in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/messages.rs:41
variant Message:DeactivateProfiles in /tmp/.tmpZfglXO/amoxide-rs/crates/am/src/messages.rs:42
--- failure enum_variant_missing: pub enum variant removed or renamed ---
Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/enum_variant_missing.ron
Failed in:
variant Message::Hook, previously in file /tmp/.tmpcLonDb/amoxide/src/messages.rs:38
variant Message::Reload, previously in file /tmp/.tmpcLonDb/amoxide/src/messages.rs:39
variant Message::Hook, previously in file /tmp/.tmpcLonDb/amoxide/src/messages.rs:38
variant Message::Reload, previously in file /tmp/.tmpcLonDb/amoxide/src/messages.rs:39
variant Commands::Hook, previously in file /tmp/.tmpcLonDb/amoxide/src/cli.rs:133
variant Commands::Reload, previously in file /tmp/.tmpcLonDb/amoxide/src/cli.rs:142
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/function_missing.ron
Failed in:
function amoxide::init::generate_force_init, previously in file /tmp/.tmpcLonDb/amoxide/src/init.rs:102
function amoxide::hook::generate_hook, previously in file /tmp/.tmpcLonDb/amoxide/src/hook.rs:13
function amoxide::trust::render_unload_message, previously in file /tmp/.tmpcLonDb/amoxide/src/trust.rs:88
function amoxide::subcommand::group_by_program, previously in file /tmp/.tmpcLonDb/amoxide/src/subcommand.rs:93
function amoxide::group_by_program, previously in file /tmp/.tmpcLonDb/amoxide/src/subcommand.rs:93
function amoxide::init::generate_reload, previously in file /tmp/.tmpcLonDb/amoxide/src/init.rs:134
function amoxide::trust::render_load_message, previously in file /tmp/.tmpcLonDb/amoxide/src/trust.rs:54
function amoxide::hook::generate_hook_with_security, previously in file /tmp/.tmpcLonDb/amoxide/src/hook.rs:37
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/inherent_method_missing.ron
Failed in:
SecurityConfig::save, previously in file /tmp/.tmpcLonDb/amoxide/src/security.rs:67
Session::save, previously in file /tmp/.tmpcLonDb/amoxide/src/session.rs:38
Session::save, previously in file /tmp/.tmpcLonDb/amoxide/src/session.rs:38
ProfileConfig::save, previously in file /tmp/.tmpcLonDb/amoxide/src/profile.rs:174
ProfileConfig::save, previously in file /tmp/.tmpcLonDb/amoxide/src/profile.rs:174
Config::save, previously in file /tmp/.tmpcLonDb/amoxide/src/config.rs:56
Config::save, previously in file /tmp/.tmpcLonDb/amoxide/src/config.rs:56
--- failure module_missing: pub module removed or renamed ---
Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/module_missing.ron
Failed in:
mod amoxide::hook, previously in file /tmp/.tmpcLonDb/amoxide/src/hook.rs:1
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/pub_module_level_const_missing.ron
Failed in:
AM_PROJECT_ALIASES in file /tmp/.tmpcLonDb/amoxide/src/env_vars.rs:7
AM_PROFILE_ALIASES_LEGACY in file /tmp/.tmpcLonDb/amoxide/src/env_vars.rs:21
```
<details><summary><i><b>Changelog</b></i></summary><p>
## `amoxide`
<blockquote>
##
[0.8.0](v0.7.0...v0.8.0) -
2026-04-27
### Bug Fixes
- Apply_import was overwriting the user's real config on every cargo
test ([#111](#111))
- Hook reload local aliases when individual aliases changes
([#107](#107))
### Features
- Add explicit enable/disable flags to am use
([#115](#115))
- Make shell logging on navigation events configurable
([#113](#113))
- Precedence engine with unified am sync, replaces am hook/reload
([#108](#108))
### Miscellaneous Tasks
- Bump clap from 4.6.0 to 4.6.1
([#104](#104))
</blockquote>
## `amoxide-tui`
<blockquote>
##
[0.8.0](v0.7.0...v0.8.0) -
2026-04-27
### Bug Fixes
- Apply_import was overwriting the user's real config on every cargo
test ([#111](#111))
- Hook reload local aliases when individual aliases changes
([#107](#107))
### Features
- Precedence engine with unified am sync, replaces am hook/reload
([#108](#108))
- Add explicit enable/disable flags to am use
([#115](#115))
- Make shell logging on navigation events configurable
([#113](#113))
### Miscellaneous Tasks
- Bump clap from 4.6.0 to 4.6.1
([#104](#104))
</blockquote>
</p></details>
---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
[logging]config section withproject_loadingandproject_unloadingkeys ("off"|"short"|"verbose")SyncOutcomewith builder pattern —update()stays pure, rendering happens in effect processingEchoenum (Silent|Line) andEffect::RenderSync/Effect::PrintLines— composite effects fold into terminal effects viaexecute_effectsrecursionPrecedenceDiff::unload_summary()with user-friendly labels: "added" (profile takes over) / "unloaded" (gone)rename_all_fields→rename_allonLogVerbosityso lowercase TOML values actually deserializeTest plan
project_loading = "short"in config, cd into trusted project — expect one-linerproject_unloading = "off", cd out — expect silence[logging]section entirely — expect verbose (default) behavior unchangedCloses #109