Skip to content

fix: resolve Debian regression findings - #3087

Merged
whyour merged 2 commits into
developfrom
fix/debian-regression
Oct 8, 2026
Merged

whyour merged 2 commits into
developfrom
fix/debian-regression

Conversation

@whyour

@whyour whyour commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Default-root Debian containers set HOME=/home/qinglong, while OpenSSH reads /root/.ssh/config. Private SSH subscriptions now resolve the user’s home through a getter and create .ssh before writing their Include configuration. Custom UIDs without a passwd entry retain the HOME fallback.

Linux mirror configuration is saved after a successful process exit, allowing ordinary sudo/apt warnings on stderr. Nonzero exits, signals, and spawn failures do not persist the requested value. Debian and Ubuntu index refreshes use apt-get update --error-on=any, because the default command can return zero after download failures. Startup recovery records an end time for interrupted task instances while preserving unknown exit codes and completed history.

Mirror verification tests give ref-content queries enough time and check retry counts separately from deadline failure. Production polling deadlines are unchanged.

Validation:

  • Backend TypeScript check/build and CLI build passed.
  • Latest full backend/frontend GitHub CI suite (Node 20): 504 tests passed, with zero skips; all four APT download-failure cases executed. Backend build, execution benchmark, CodeQL, and preview checks passed. The earlier full Debian run passed 500 tests.
  • Latest focused Debian run: 28 tests passed, including actual APT failures for Debian/Ubuntu with existing or empty source definitions, SSH home/permissions/rename, missing passwd entries, process outcomes, restart recovery, and subscription regressions.
  • CLI: 296 passed as root, plus the permission case passed as UID 5432 (297 effective passes).
  • Mirror notification tests passed 10 consecutive runs.
  • Live Debian root SSH pull/rename and a pull after restart passed; forced restart finalized the interrupted instance. Mirror persistence passed with actual sudo stderr and an empty local apt-source fixture.

Live validation loaded three rebuilt backend modules into debian-dev digest sha256:e6e283114afecb3dd1157e21dc8a83eed79b93494955cdfa83b50082595031a8; the APT cases execute the generated updater from current source in a separate container. These are focused post-fix checks following the earlier two-hour regression, rather than another two-hour soak or a newly published image.

@vercel

vercel Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
qinglong Ready Ready Preview Oct 8, 2026 5:07pm UTC
qinglong-back Ready Ready Preview Oct 8, 2026 5:07pm UTC

@whyour
whyour marked this pull request as ready for review October 8, 2026 17:41
@whyour
whyour merged commit 68ffa10 into develop Oct 8, 2026
8 checks passed
@whyour
whyour deleted the fix/debian-regression branch October 8, 2026 17:41

This branch was successfully deployed

2 active deployments
Preview – qinglong — 23ae5f77 Deployed Oct 8, 2026 by vercel[bot]
Preview – qinglong-back — 23ae5f77 Deployed Oct 8, 2026 by vercel[bot]
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