Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghdsdivyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes#558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

Reviewed by Cursor Bugbot for commit 2dd9e6c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit de1634c. Configure here.

Comment threadscripts/install-k8s.ps1
divyasinghdsand others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.
For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)
scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.
Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghdsforce-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6cCompareAugust 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
ContributorAuthor

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419--always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into developAug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
Sign up for freeto 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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants

@divyasinghds@saadqbal@LukasWodka
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
fix(#558): write Docker Desktop autostart for a provisioned daily user by divyasinghds · Pull Request #623 · tracebloc/client · GitHub
Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghdsdivyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes#558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

Reviewed by Cursor Bugbot for commit 2dd9e6c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit de1634c. Configure here.

Comment threadscripts/install-k8s.ps1
divyasinghdsand others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.
For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)
scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.
Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghdsforce-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6cCompareAugust 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
ContributorAuthor

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419--always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into developAug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
Sign up for freeto 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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants

@divyasinghds@saadqbal@LukasWodka
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(#558): write Docker Desktop autostart for a provisioned daily user by divyasinghds · Pull Request #623 · tracebloc/client · GitHub
Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghdsdivyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes#558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

Reviewed by Cursor Bugbot for commit 2dd9e6c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit de1634c. Configure here.

Comment threadscripts/install-k8s.ps1
divyasinghdsand others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.
For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)
scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.
Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghdsforce-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6cCompareAugust 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
ContributorAuthor

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419--always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into developAug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
Sign up for freeto 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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants

@divyasinghds@saadqbal@LukasWodka
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(#558): write Docker Desktop autostart for a provisioned daily user by divyasinghds · Pull Request #623 · tracebloc/client · GitHub
Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghdsdivyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes#558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

Reviewed by Cursor Bugbot for commit 2dd9e6c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit de1634c. Configure here.

Comment threadscripts/install-k8s.ps1
divyasinghdsand others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.
For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)
scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.
Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghdsforce-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6cCompareAugust 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
ContributorAuthor

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419--always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into developAug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
Sign up for freeto 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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants

@divyasinghds@saadqbal@LukasWodka
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' fix(#558): write Docker Desktop autostart for a provisioned daily user by divyasinghds · Pull Request #623 · tracebloc/client · GitHub
Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghdsdivyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes#558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

Reviewed by Cursor Bugbot for commit 2dd9e6c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit de1634c. Configure here.

Comment threadscripts/install-k8s.ps1
divyasinghdsand others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.
For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)
scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.
Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghdsforce-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6cCompareAugust 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
ContributorAuthor

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419--always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into developAug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
Sign up for freeto 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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants

@divyasinghds@saadqbal@LukasWodka
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(#558): write Docker Desktop autostart for a provisioned daily user by divyasinghds · Pull Request #623 · tracebloc/client · GitHub
Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghdsdivyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes#558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

Reviewed by Cursor Bugbot for commit 2dd9e6c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit de1634c. Configure here.

Comment threadscripts/install-k8s.ps1
divyasinghdsand others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.
For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)
scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.
Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghdsforce-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6cCompareAugust 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
ContributorAuthor

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419--always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into developAug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
Sign up for freeto 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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants

@divyasinghds@saadqbal@LukasWodka
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(#558): write Docker Desktop autostart for a provisioned daily user by divyasinghds · Pull Request #623 · tracebloc/client · GitHub
Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghdsdivyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes#558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

Reviewed by Cursor Bugbot for commit 2dd9e6c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit de1634c. Configure here.

Comment threadscripts/install-k8s.ps1
divyasinghdsand others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.
For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)
scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.
Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghdsforce-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6cCompareAugust 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
ContributorAuthor

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419--always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into developAug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
Sign up for freeto 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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants

@divyasinghds@saadqbal@LukasWodka
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); fix(#558): write Docker Desktop autostart for a provisioned daily user by divyasinghds · Pull Request #623 · tracebloc/client · GitHub
Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghdsdivyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes#558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

Reviewed by Cursor Bugbot for commit 2dd9e6c. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursorcursorBot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit de1634c. Configure here.

Comment threadscripts/install-k8s.ps1
divyasinghdsand others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.
For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)
scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.
Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghdsforce-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6cCompareAugust 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
ContributorAuthor

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419--always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into developAug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
Sign up for freeto 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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants

@divyasinghds@saadqbal@LukasWodka