镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

fix(plugins): reload the exact recorded source folder - #1030

Merged
kalvinnchau merged 1 commit into
mainfrom
cid/reload-preserve-spaced-source
Oct 14, 2026
Merged

kalvinnchau merged 1 commit into
mainfrom
cid/reload-preserve-spaced-source

Conversation

@kalvinnchau

@kalvinnchau kalvinnchau commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Reload now reads the exact folder recorded at install. Recorded reload source paths are used verbatim, so folder names with leading or trailing spaces resolve to themselves, matching the lossless candidate-name contract in docs/plugin-architecture.md. Empty, absolute, and parent-escaping paths are still rejected.

Tests

  • tests/management.rs::reload_reads_the_exact_recorded_folder_name: imports::prepare_folder → PreparedImport::install → Manager::reload for " plugin", "plugin ", and " plugin ", each with and without an unspaced sibling that has the same manifest ID and different code; asserts the reloaded module is the recorded folder's updated code.
  • lib.rs::reload_source_paths_keep_spaces_and_reject_escapes: spaced names round-trip; "", /plugin, ../plugin, a/../b, ./plugin remain rejected.
  • Fail-then-pass: with the previous path handling, the sibling case reloads the sibling's code and the no-sibling case fails with No such file or directory.

Validation

  • bin/cargo test -p buzzodz-plugins --locked (46 tests)
  • bin/cargo clippy -p buzzodz-plugins --locked --all-targets -- -D warnings
  • bin/cargo fmt --all --check, git diff --check

Validation scope: native Rust APIs on macOS, plus human desktop acceptance of the reload flow.

buzz-review-completed

@kalvinnchau
kalvinnchau requested a review from a team as a code owner October 14, 2026 01:18
@kalvinnchau
kalvinnchau force-pushed the cid/reload-preserve-spaced-source branch 2 times, most recently from b497649 to 93480f7 Compare October 14, 2026 16:58
stop trimming recorded reload source paths so folder names with leading or trailing spaces resolve to themselves instead of a trimmed sibling or a missing folder. empty, absolute, and escaping paths are still rejected. covers prepare/install/reload with and without a trimmed sibling, plus path validation.

Signed-off-by: cid <d9f92a72922bf45c17379a47d64dae84b6020397c2d5a52b5317d512068cd9d3@buzz.block.builderlab.xyz>
@kalvinnchau
kalvinnchau force-pushed the cid/reload-preserve-spaced-source branch from 93480f7 to 72228fc Compare October 14, 2026 17:12
@kalvinnchau
kalvinnchau merged commit 897caf3 into main Oct 14, 2026
32 checks passed
@kalvinnchau
kalvinnchau deleted the cid/reload-preserve-spaced-source branch October 14, 2026 17:26
johnmatthewtennant added a commit that referenced this pull request Oct 14, 2026
…-sessions

* origin/main: (28 commits)
  docs: link the Buzz feedback community and @buzzdotxyz on X (#1091)
  feat(claude-code): save a thinking level in agent settings (#1089)
  feat(reminders): polish the Reminders page (#1048)
  fix(messages): keep thread panes beside channels when space allows (#1093)
  fix(inbox): show matching mentions instead of ordinary replies (#822)
  fix(relay): recover from network loss automatically with one retry owner (#992)
  fix(search): treat a full author lookup page as ambiguous (#1043)
  Show agent sessions in the profile Activity tab (#1040)
  fix(direct-messages): search again for people added after the directory completed (#1044)
  fix(claude-code): offer every model Claude lists (#1086)
  fix(plugins): reload the exact recorded source folder (#1030)
  test(browser): stop WebKit trace screenshots leaking macOS WindowServer surfaces (#1071)
  fix: decode broker request bodies as a utf-8 stream (#1038)
  fix(linux): use slight GTK hinting for clearer font spacing (#1047)
  Make Me conversations feel like project chats (#1005)
  fix(codex): deliver custom instructions without codex truncation (#1059)
  test(browser): fix the notification-reveal and nested-replies WebKit flakes (#1087)
  fix(messages): keep following after a notification reveals the latest row (#1085)
  Add native nsec backup HTTP client (#995)
  feat(buzz-mcp): add channel and member management tools (#1055)
  ...

Signed-off-by: John Tennant <jtennant@block.xyz>

# Conflicts:
#	src/bundled/sessions/SessionsPage.loading.test.tsx
#	src/bundled/sessions/SessionsPage.tsx
johnmatthewtennant added a commit that referenced this pull request Oct 14, 2026
…lation

* origin/main: (29 commits)
  docs: link the Buzz feedback community and @buzzdotxyz on X (#1091)
  feat(claude-code): save a thinking level in agent settings (#1089)
  feat(reminders): polish the Reminders page (#1048)
  fix(messages): keep thread panes beside channels when space allows (#1093)
  fix(inbox): show matching mentions instead of ordinary replies (#822)
  fix(relay): recover from network loss automatically with one retry owner (#992)
  fix(search): treat a full author lookup page as ambiguous (#1043)
  Show agent sessions in the profile Activity tab (#1040)
  fix(direct-messages): search again for people added after the directory completed (#1044)
  fix(claude-code): offer every model Claude lists (#1086)
  fix(plugins): reload the exact recorded source folder (#1030)
  test(browser): stop WebKit trace screenshots leaking macOS WindowServer surfaces (#1071)
  fix: decode broker request bodies as a utf-8 stream (#1038)
  fix(linux): use slight GTK hinting for clearer font spacing (#1047)
  Make Me conversations feel like project chats (#1005)
  fix(codex): deliver custom instructions without codex truncation (#1059)
  test(browser): fix the notification-reveal and nested-replies WebKit flakes (#1087)
  fix(messages): keep following after a notification reveals the latest row (#1085)
  Add native nsec backup HTTP client (#995)
  feat(buzz-mcp): add channel and member management tools (#1055)
  ...

Signed-off-by: John Tennant <jtennant@block.xyz>
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