fix(ci): publish SDK packages with shell pnpm - #106

Merged
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon

Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'import yamlfrom pathlib import Pathwith Path('.github/workflows/release-typescript-sdk.yml').open() as f: yaml.safe_load(f)print('yaml-ok')PY
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon
Lythaeon merged commit 3a5e917 into mainApr 12, 2026
1 of 3 checks passed
@Lythaeon
Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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.

1 participant

@Lythaeon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(ci): publish SDK packages with shell pnpm - #106

Merged
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon

Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'import yamlfrom pathlib import Pathwith Path('.github/workflows/release-typescript-sdk.yml').open() as f: yaml.safe_load(f)print('yaml-ok')PY
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon
Lythaeon merged commit 3a5e917 into mainApr 12, 2026
1 of 3 checks passed
@Lythaeon
Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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.

1 participant

@Lythaeon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(ci): publish SDK packages with shell pnpm - #106

Merged
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon

Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'import yamlfrom pathlib import Pathwith Path('.github/workflows/release-typescript-sdk.yml').open() as f: yaml.safe_load(f)print('yaml-ok')PY
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon
Lythaeon merged commit 3a5e917 into mainApr 12, 2026
1 of 3 checks passed
@Lythaeon
Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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.

1 participant

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

fix(ci): publish SDK packages with shell pnpm - #106

Merged
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon

Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'import yamlfrom pathlib import Pathwith Path('.github/workflows/release-typescript-sdk.yml').open() as f: yaml.safe_load(f)print('yaml-ok')PY
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon
Lythaeon merged commit 3a5e917 into mainApr 12, 2026
1 of 3 checks passed
@Lythaeon
Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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.

1 participant

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

fix(ci): publish SDK packages with shell pnpm - #106

Merged
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon

Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'import yamlfrom pathlib import Pathwith Path('.github/workflows/release-typescript-sdk.yml').open() as f: yaml.safe_load(f)print('yaml-ok')PY
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon
Lythaeon merged commit 3a5e917 into mainApr 12, 2026
1 of 3 checks passed
@Lythaeon
Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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.

1 participant

@Lythaeon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(ci): publish SDK packages with shell pnpm - #106

Merged
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon

Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'import yamlfrom pathlib import Pathwith Path('.github/workflows/release-typescript-sdk.yml').open() as f: yaml.safe_load(f)print('yaml-ok')PY
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon
Lythaeon merged commit 3a5e917 into mainApr 12, 2026
1 of 3 checks passed
@Lythaeon
Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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.

1 participant

@Lythaeon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(ci): publish SDK packages with shell pnpm - #106

Merged
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon

Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'import yamlfrom pathlib import Pathwith Path('.github/workflows/release-typescript-sdk.yml').open() as f: yaml.safe_load(f)print('yaml-ok')PY
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon
Lythaeon merged commit 3a5e917 into mainApr 12, 2026
1 of 3 checks passed
@Lythaeon
Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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.

1 participant

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

fix(ci): publish SDK packages with shell pnpm - #106

Merged
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit into
mainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon

Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'import yamlfrom pathlib import Pathwith Path('.github/workflows/release-typescript-sdk.yml').open() as f: yaml.safe_load(f)print('yaml-ok')PY
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon
Lythaeon merged commit 3a5e917 into mainApr 12, 2026
1 of 3 checks passed
@Lythaeon
Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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.

1 participant

@Lythaeon