Skip to content

Release Zebra Day 9.0.0 to main#77

Merged
iamh2o merged 33 commits into
mainfrom
jem-dev
Jul 2, 2026
Merged

Release Zebra Day 9.0.0 to main#77
iamh2o merged 33 commits into
mainfrom
jem-dev

Conversation

@iamh2o

@iamh2o iamh2o commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Release Zebra Day 9.0.0 to main for the Dayhoff service train.
  • Fixes the CodeQL DOM text reinterpreted as HTML alert by building toast DOM nodes with textContent.
  • Applies repo gate cleanup for Ruff/import formatting, type-safe response casts, external_broker server typing, and the current semantic TapDB template category contract.

Validation

  • ruff check zebra_day tests -> passed
  • ruff format --check zebra_day tests -> passed
  • uv run mypy zebra_day --ignore-missing-imports -> passed
  • XDG_CONFIG_HOME=/tmp/zebra-day-release-xdg ZEBRA_DAY_DEPLOYMENT_CODE=codex-release uv run pytest tests/ -q --tb=short -> 172 passed, 11 skipped
  • node --check zebra_day/static/js/zebra_modern.js -> passed
  • git diff --check -> passed
  • uv build -> passed

Release

  • Commit: 8e5f6e2
  • Annotated tag: 9.0.0

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

Copy link
Copy Markdown

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: c74e06fc3b

ℹ️ 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".

Comment thread zebra_day/client.py
Comment on lines +449 to +451
self._generic_instance.category == category,
self._generic_instance.type == type_name,
self._generic_instance.subtype == "generic",

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 Keep existing TapDB rows visible during the template cutover

When this release is pointed at an existing Zebra Day TapDB namespace, rows created before this commit still use the old shape (category="ZGX" with subtypes like printer/template). Filtering only for the new category/type plus subtype == "generic" makes existing labs, printers, templates, profiles, and jobs disappear from list/get paths, and later upserts create duplicate records instead of updating the deployed fleet. Add an explicit migration/backfill for existing generic instances before switching these filters.

Useful? React with 👍 / 👎.

Comment thread zebra_day/paths.py
Comment on lines +29 to +31
conda_env = os.environ.get("CONDA_DEFAULT_ENV", "").strip()
if conda_env.startswith("ZEBRA_DAY-"):
return sanitize_deployment_code(conda_env.removeprefix("ZEBRA_DAY-"))

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 Preserve explicit deployment environment precedence

When a deployed process has DEPLOYMENT_CODE or LSMC_DEPLOYMENT_CODE set but is launched from a stale ZEBRA_DAY-* conda environment, this new branch returns the conda suffix before checking those explicit service deployment env vars. That makes ZebraDaySettings load the wrong deployment-scoped config and TapDB namespace, risking reads/writes against local or another environment. Either remove this inference or make it a last-resort after explicit deployment envs.

Useful? React with 👍 / 👎.

Comment on lines +73 to 76
if status >= 500:
return None
verified = "zebra" in haystack or "zpl" in haystack
return {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Reject unverified HTTP scan hits before saving printers

When scan_http_port is supplied on a mixed subnet, any HTTP service returning a status below 500 now produces a discovery payload because the Zebra/ZPL body check only sets http_verified. The caller writes every returned payload into TapDB as a draft Zebra printer, so ordinary routers, apps, or auth pages can pollute fleet state during a scan. Keep unverified probes out of discovery results or require explicit operator confirmation before saving them.

Useful? React with 👍 / 👎.

@iamh2o iamh2o changed the title [jemdev5] Merge Zebra Day jem-dev to main for Dayhoff 7.1.44 review train Release Zebra Day 9.0.0 to main Jul 2, 2026
@iamh2o iamh2o merged commit d46df53 into main Jul 2, 2026
3 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.

1 participant