bread-theme: remove ~/.cache/wal fallback after one release cycle #35

Open
opened 2026-09-26 12:29:47 +08:00 by Breadway · 4 comments
Owner

After breadpaper and BOS have shipped the new cache path for at least one release cycle:

  • Remove the ~/.cache/wal/colors.json fallback from load_palette().
  • Remove wal_cache_path / write_wal_cache / wal_cache_json if nothing uses them (keep only if deliberately supporting third-party pywal templates).
  • Keep palette_from_json's acceptance of wal-shaped JSON for --from-json if still useful; otherwise simplify.

Part of epic PYWAL.

After breadpaper and BOS have shipped the new cache path for at least one release cycle: - Remove the `~/.cache/wal/colors.json` fallback from `load_palette()`. - Remove `wal_cache_path` / `write_wal_cache` / `wal_cache_json` if nothing uses them (keep only if deliberately supporting third-party pywal templates). - Keep `palette_from_json`'s acceptance of wal-shaped JSON for `--from-json` if still useful; otherwise simplify. Part of epic PYWAL.
Author
Owner

Rechecked both blockers: PAPER-5 (id 333) and BOS-50 (id 336) are marked done. However, the bread-ecosystem v0.8.0 tag containing the new cache path was created on 2026-09-29 12:58 +0800, only about 12 hours ago at this check. The issue explicitly requires the consumers to ship the new path for at least one release cycle, so that soak period has not elapsed yet. Leaving ECO-35 in backlog until the updated breadpaper and BOS builds have had a full release cycle on v0.8.0.

Rechecked both blockers: PAPER-5 (id 333) and BOS-50 (id 336) are marked done. However, the bread-ecosystem v0.8.0 tag containing the new cache path was created on 2026-09-29 12:58 +0800, only about 12 hours ago at this check. The issue explicitly requires the consumers to ship the new path for at least one release cycle, so that soak period has not elapsed yet. Leaving ECO-35 in backlog until the updated breadpaper and BOS builds have had a full release cycle on v0.8.0.
Author
Owner

Prepared and pushed #51 (2852941060). This is a gated preparation PR: do not merge or release until breadpaper and BOS have shipped the new cache path for at least one full release cycle, with actual consumer release evidence recorded. Existing done blockers and the v0.8.0 ecosystem tag alone do not satisfy that requirement.

The change removes implicit wal cache reads and unused path/write APIs, while preserving wal-shaped JSON import and the actively used serializer for third-party templates. All exact local CI checks passed, including default/gtk/extract combinations. Isolated cache regression tests cover legacy-only, valid new-cache, and invalid new-cache scenarios. Moving to REVIEW for code review with the merge gate intact. No actual configs/caches, installed binaries, desktop sessions, release tags, or deployments were changed.

Prepared and pushed https://git.breadway.dev/Breadway/bread-ecosystem/pulls/51 (28529410601f42177bab12a1876b6b7a19e6463d). This is a gated preparation PR: do not merge or release until breadpaper and BOS have shipped the new cache path for at least one full release cycle, with actual consumer release evidence recorded. Existing done blockers and the v0.8.0 ecosystem tag alone do not satisfy that requirement. The change removes implicit wal cache reads and unused path/write APIs, while preserving wal-shaped JSON import and the actively used serializer for third-party templates. All exact local CI checks passed, including default/gtk/extract combinations. Isolated cache regression tests cover legacy-only, valid new-cache, and invalid new-cache scenarios. Moving to REVIEW for code review with the merge gate intact. No actual configs/caches, installed binaries, desktop sessions, release tags, or deployments were changed.
Author
Owner

Gate check for this card, recorded on ECO-51 where the code review lives: not satisfied, so PR #51 stays draft.

  • Code is clean. On head 2852941: cargo fmt --check, cargo clippy --all-targets --locked -- -D warnings and cargo test --locked (122 passed, plus --features extract) all pass. Removing wal_cache_path and write_wal_cache breaks no consumer in any workspace repo.
  • BOS has never shipped the bread-owned cache path. Every BOS tag through v0.6.2 still carries iso/airootfs/etc/skel/.cache/wal/colors.json; iso/airootfs/etc/skel/.cache/bread/palette.json arrived on main in 3f37255, which is in no tag.
  • breadpaper has shipped it: v0.2.0 / v0.2.0-rc.1 (2026-09-29) contain 04cf194, which writes through bread-theme v0.8.0's write_global_palette into $XDG_CACHE_HOME/bread/palette.json. But that is the only such release and no later cycle has run.

Clears when a BOS tag contains 3f37255 and a breadpaper release newer than v0.2.0 exists.

Gate check for this card, recorded on ECO-51 where the code review lives: **not satisfied, so PR #51 stays draft.** - Code is clean. On head `2852941`: `cargo fmt --check`, `cargo clippy --all-targets --locked -- -D warnings` and `cargo test --locked` (122 passed, plus `--features extract`) all pass. Removing `wal_cache_path` and `write_wal_cache` breaks no consumer in any workspace repo. - BOS has never shipped the bread-owned cache path. Every BOS tag through `v0.6.2` still carries `iso/airootfs/etc/skel/.cache/wal/colors.json`; `iso/airootfs/etc/skel/.cache/bread/palette.json` arrived on main in `3f37255`, which is in no tag. - breadpaper has shipped it: `v0.2.0` / `v0.2.0-rc.1` (2026-09-29) contain `04cf194`, which writes through bread-theme `v0.8.0`'s `write_global_palette` into `$XDG_CACHE_HOME/bread/palette.json`. But that is the only such release and no later cycle has run. Clears when a BOS tag contains `3f37255` and a breadpaper release newer than `v0.2.0` exists.
Author
Owner

Board cleanup 2026-10-08: moving back to backlog. The code in PR #51 is reviewed and clean, but the merge gate is still unmet: no BOS tag contains 3f37255 yet, and no breadpaper release newer than v0.2.0 exists. Nothing is actionable in REVIEW until then. PR #51 stays open (it now has conflicts with main and will need a rebase when the gate clears).

Board cleanup 2026-10-08: moving back to backlog. The code in PR #51 is reviewed and clean, but the merge gate is still unmet: no BOS tag contains 3f37255 yet, and no breadpaper release newer than v0.2.0 exists. Nothing is actionable in REVIEW until then. PR #51 stays open (it now has conflicts with main and will need a rebase when the gate clears).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/bread-ecosystem#35
No description provided.