Skip to content

feat(ezwallpaper): add guarded local rotation B - #95

Merged
pkking merged 1 commit into
masterfrom
task/ezwallpaper-rotation-b-pr
Nov 1, 2026
Merged

pkking merged 1 commit into
masterfrom
task/ezwallpaper-rotation-b-pr

Conversation

@pkking

@pkking pkking commented Nov 1, 2026

Copy link
Copy Markdown
Owner

PR 草稿(未创建)

标题

feat(ezwallpaper): add guarded local rotation B

正文

Summary

  • Add a source-only hourly local rotation profile, service, timer, and fail-closed preflight for Noctalia.
  • Check existing wallpaper/scene units and the separately staged ezwallpaper-rotation integration to prevent competing rotation sources.
  • Add offline mock tests and document prerequisites, migration gates, deployment observations, limitations, and scoped rollback.

Scope and deployment notes

This PR does not fetch or install images, enable a timer, run chezmoi apply, or claim display validation. The ezwallpaper-mocha landscape/portrait pools are local runtime assets and are not included; prepare and validate both pools separately. The checked-in Noctalia desktop template still enables built-in wallpaper automation, so the separately approved migration must disable it and handle any GUI override before enabling B. Current deployment observations are described in the docs, but do not imply that this PR was applied or that another installation is already migrated. Do not enable B alongside the existing ezwallpaper-rotation pair.

Rotation is local-only: no download, budget admission, retention, garbage collection, or deletion. See docs/ezwallpaper-rotation-b.md for prerequisites, fail-closed boundaries, verification limits, and rollback.

Validation

  • PYTHONDONTWRITEBYTECODE=1 timeout 240s python3 -m unittest -v tests/test_ezwallpaper_rotation.py — 8 tests passed.
  • Rendered the profile template with chezmoi.
  • systemd-analyze verify passed using staged units and executable placeholders in an isolated root.
  • Scoped chezmoi diff inspected only B's profile/service/timer/preflight targets; no apply.
  • Pinned binary rotate next --help and rotate next --profile <rendered-profile> --state <temporary-state> --dry-run completed. No setters, service operations, or production changes.
  • git diff --check origin/master...HEAD passed.

Related to #84; this does not complete its acquisition, asset provisioning, full migration, or display-acceptance criteria. Does not close #84.

@pkking
pkking merged commit 5851cb0 into master Nov 1, 2026
4 checks passed
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.

桌面壁纸:分阶段接入 ezwallpaper,实现每日获取与 Noctalia 横竖双屏轮换

1 participant