Skip to content

docs: canonize service names and add compatibility matrix#56

Merged
aSbiEL0 merged 2 commits intomainfrom
codex/audit-readme-and-service-files
Mar 8, 2026
Merged

docs: canonize service names and add compatibility matrix#56
aSbiEL0 merged 2 commits intomainfrom
codex/audit-readme-and-service-files

Conversation

@aSbiEL0
Copy link
Copy Markdown
Owner

@aSbiEL0 aSbiEL0 commented Mar 8, 2026

Motivation

  • Provide a single source of truth for runtime/service names so deployments and timers consistently target the intended scripts.
  • Remove or mark stale/ambiguous references that could confuse operators about which units and scripts are canonical.
  • Make it easier to reason about day vs night modes by documenting canonical targets and legacy aliases.

Description

  • Reworked README.md to define canonical service names and script targets, added a compatibility table mapping service → script → mode, and removed stale references from the deployment docs.
  • Updated systemd/day.timer and systemd/night.timer to target the canonical units display.service and pihole-display-dark.service respectively.
  • Marked scripts/piholestats_v1.1.py as LEGACY in-file to indicate it is kept only for compatibility/manual use while piholestats_v1.2.py is the canonical night-mode target.

Testing

  • Compiled the legacy script with python3 -m py_compile scripts/piholestats_v1.1.py and it succeeded with no syntax errors.
  • Searched for stale references with rg -n 'piholestats_v1.0|test.py|day-mode.service|dark-mode.service' README.md systemd/day.timer systemd/night.timer to verify legacy names were removed from the canonical timer files and the check passed.
  • Inspected updated timers with cat systemd/day.timer and cat systemd/night.timer to confirm they now reference display.service and pihole-display-dark.service respectively.

Codex Task

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e0f00341d1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

OnCalendar=*-*-* 22:00:00
Persistent=true
AccuracySec=1min
Unit=pihole-display-dark.service
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Stop day service when scheduling night mode

Pointing the timer directly at pihole-display-dark.service starts the dark dashboard at 22:00 but never stops display.service, which is enabled to run continuously in the README workflow. Because both services are long-running (Restart=always) framebuffer writers, they can run concurrently and contend for /dev/fb1, so day/night switching does not actually produce a single active mode. This commit introduced that overlap by replacing legacy wrapper units with direct service starts without adding a stop/conflict mechanism.

Useful? React with 👍 / 👎.

@aSbiEL0
Copy link
Copy Markdown
Owner Author

aSbiEL0 commented Mar 8, 2026

@codex[agent] a new file and directory was added to the repo, update any affected code in this branch

@Codex
Copy link
Copy Markdown
Contributor

Codex AI commented Mar 8, 2026

@aSbiEL0 I've opened a new pull request, #57, to work on those changes. Once the pull request is ready, I'll request review from you.

Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>
@aSbiEL0 aSbiEL0 merged commit 63cbacd into main Mar 8, 2026
@chatgpt-codex-connector
Copy link
Copy Markdown

Summary

  • Added mutual-exclusion between the two long-running framebuffer services so starting one mode stops the other automatically: display.service now conflicts with pihole-display-dark.service, and vice versa via Conflicts= in both unit files. systemd/display.serviceL1-L7 systemd/pihole-display-dark.serviceL1-L7
  • Updated the compatibility documentation to explicitly note the day/night conflict behavior so operators understand that only one framebuffer writer should be active at a time. README.mdL20-L25 README.mdL120-L123
  • Committed the follow-up fix on this branch (bbf9dba) and created a new PR via make_pr summarizing these changes on top of the original PR.

Testing

  • ⚠️ curl -L --max-time 15 'https://duckduckgo.com/html/?q=systemd+Conflicts+stop+active+service+when+starting+another+service' | head -n 20 (network/proxy returned 403, so web lookup could not complete in this environment).
  • ⚠️ systemd-analyze verify systemd/display.service systemd/pihole-display-dark.service systemd/day.timer systemd/night.timer (reported missing /opt/zero2dash/scripts/pihole-display-pre.sh path in container context; this is an environment path limitation, not a unit syntax regression).

View task →

@aSbiEL0 aSbiEL0 deleted the codex/audit-readme-and-service-files branch March 8, 2026 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants