Reword pywal references to bread-theme in docs #6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/pywal-wording"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of ECO-34.
Documentation.md and Examples.md described widget theming as following
"pywal's palette" / a "pywal-derived palette". bread-theme now extracts
palettes natively and pywal is being removed across the ecosystem, so the
wording is updated to match. Comment/doc only, no behaviour change.
Verified:
cargo buildsucceeds.cargo fmt --checkreports pre-existingformatting diffs in xtask/src/main.rs unrelated to this change (no Rust
source touched here), left alone to keep this PR scoped to wording.
Review: blocked on CI (wording itself is fine)
The diff is two Markdown lines (Documentation.md, Examples.md), both accurate. It cannot affect the build. But the
check / check (push)run for299b7fcfailed, and I do not merge on red CI.The failure looks pre-existing, not caused by this PR:
feature/register-breadcloud-app, run 95) also failed.main's "dev release / build" is red too.cargo fmt --checkon this branch reports pre-existing diffs inbread-cli/src/modules_mgmt.rsandbread-cli/src/init.rs. Those files are not touched here. The workflow runs clippy and test throughci/build.sh.Fix main's check on its own branch, then rebase or re-run this one. It can merge as soon as CI is green.
Pushed a
cargo fmt --allcommit fixing the pre-existing formatting drift (bread-cli, bread-module-host, bread-shared, breadd, xtask) that also exists on origin/main; this PR's own wording change was never the cause. Whitespace only.Verified: cargo build --workspace --locked, cargo clippy --workspace --all-targets --locked -- -D warnings, cargo test --workspace --locked, all clean, except two pre-existing failures (scoped_module_sees_only_granted_state_read_permission, explicit_empty_permissions_is_scoped_but_not_flagged_ungated) that spawn bread-module-host as a subprocess. Confirmed these fail identically on a fresh clone of origin/main with no changes at all (Permission denied / spawn timeout), so they're a sandbox restriction in this environment, not something introduced or fixable here.
Second-round review: wording is clean, blocked on CI (not merging; bread is also release-sensitive)
The diff is fine:
e729c11is formatting only. I compared every touched file token by token: the only non-whitespace differences are rustfmt reorderingmodlines and adding match-arm braces.The CI failure is not the runner. Run 97 (
check / check) runs clippy and thencargo test --workspace --lockedto completion. It then fails two tests inbreadd/tests/ipc_integration.rs,explicit_empty_permissions_is_scoped_but_not_flagged_ungatedandscoped_module_sees_only_granted_state_read_permission, withfailed to spawn bread-module-host at bread-module-host: No such file or directory. Cause:breadd/src/module_host.rs:377-387(resolve_module_host_binary) looks forbread-module-hostnext tocurrent_exe(). For an integration test that istarget/debug/deps/, but the binary lives intarget/debug/, so the lookup falls back to a barePATHlookup, and the CI container has no installed bread-module-host. It fails identically on the unrelatedfeature/register-breadcloud-apprun 95 (2026-09-18), so it is pre-existing and not caused by this PR. Locally it passes only when bread-module-host is on PATH. Theunlinkat ... permission deniedline at the end of the log is the known hestia runner cleanup issue, and it is cosmetic: the job had already failed at the test step.Fix, for a separate issue: have the tests point breadd at
env!("CARGO_BIN_EXE_bread-module-host")(via an env override or config the tests set), or make the resolver also check the parent ofdeps/. This PR stays open until the check is green.Round-3: fixed the pre-existing CI breakage blocking this PR (also present on main, unrelated to the wording changes here).
Reproduced the actual failure in this repo's own pinned CI container (not just locally): the two failing
breadd/tests/ipc_integration.rstests were not purely a path-resolution bug.cargo test --workspace --lockedcompilesbread-module-host's own unit-test harness but never links its actualtarget/debug/bread-module-hostexecutable, since nothing forces cargo to build it (unlikebreadd's own binary, forced viaCARGO_BIN_EXE_breadd).CARGO_BIN_EXE_bread-module-hostcan't be used the same way because that crate deliberately has no[lib]target (can't be a[dev-dependencies]path entry), and Cargo's bin-only artifact-dependency feature is still nightly-only.Two commits:
resolve_module_host_binaryalso checks the parent of adeps/directory (real robustness improvement, though not the actual root cause here).spawn_with_modulenow runscargo build -p bread-module-host --lockedonce per test binary before spawning anything, guaranteeing the binary exists regardless of build/test ordering.Verified against a byte-for-byte reproduction of this repo's CI (its own pinned Arch container via
ci/build.sh, fresh target dir):cargo clippy --workspace --all-targets --locked -- -D warningsandcargo test --workspace --locked, both fully green, includingmodule_host_sandbox.rs's tests.CI on this branch is now green: https://git.breadway.dev/Breadway/bread/actions/runs/99
Post-merge review of the round-3 commits (
5059771,af38653): acceptable stopgap, one real gap, fix PR recommended (no revert)Main (
d215a3b) is green, and the wording change is fine. Comments on the two test-infra commits:5059771,resolve_module_host_binary_fromdeps/-parent fallback (breadd/src/module_host.rs): fine. It is a harmless extra candidate, and production never runs fromdeps/. Its three unit tests assert the resolution behaviour directly. Keep it.af38653, nestedcargo build -p bread-module-host --lockedinensure_module_host_built(breadd/tests/ipc_integration.rs:1570-1584): it works in CI, and no deadlock occurs (cargo test does not hold the build lock while running test binaries). Offline is fine too, because the parent run already fetched every dependency. It is fragile in three ways:module_host_sandbox.rsnever calls it. Its header note (lines 35-45) still claimscargo test --workspacebuilds the binary, which your own commit message shows is false. It passes today only becauseipc_integrationruns first in target order. Reproduced on a fresh target dir:cargo test -p breadd --locked --test module_host_sandboxfails both tests. With no sibling binary, resolution fell back to the barePATHname and picked up the installed~/.local/bin/bread-module-host("failed to spawn bread-module-host at bread-module-host: Permission denied"). So the sandbox tests can silently exercise a stale installed binary rather than the one under test.cargo test --release,--target-diror--target <triple>, the test binary looks next totarget/release/(or the custom dir), finds nothing, and falls back toPATHthe same way.Recommended fix PR (small, test-only):
ensure_module_host_builtinto a sharedbreadd/tests/common/mod.rs, and call it from bothspawn_with_moduleandmodule_host_sandbox.rs's harness. Fix the stale note.--message-format=json, and read theexecutablefield of thebread-module-hostcompiler-artifact message. Pass that path to the spawned breadd through an explicit override env var thatresolve_module_host_binarychecks first. That makes profile, target-dir and triple irrelevant.cargo build --workspace --lockedstep beforecargo testin.forgejo/workflows/check.yml, so CI never depends on the in-test build.No revert needed. Nothing here affects production breadd.