Skip to content

chore(desktop): prepare 0.3.1 release - #190

Merged
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1
Aug 25, 2026
Merged

chore(desktop): prepare 0.3.1 release#190
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1

Conversation

@elkaix

@elkaixelkaix commented Aug 25, 2026

Copy link
Copy Markdown
Member

Related Issue

No tracking issue — this is maintainer-side recovery for the unpublished desktop v0.3.0 draft.

Problem

The immutable desktop-v0.3.0 tag points to the release commit whose Windows build failed. The corrected workflow is now on main, but the desktop version remains 0.3.0, so release automation cannot cut a new tag.

What changed

  • Add a confirmed patch changeset for @pymodel/pythinker-desktop.
  • Schedule desktop 0.3.1 so the Changesets version PR can create a new immutable release boundary.

This PR does not change application code, move the failed tag, or publish a release. Merging the generated version PR remains a separate, explicit publication decision.

Verification

  • changeset status — only @pymodel/pythinker-desktop receives a patch bump.
  • Major changeset policy self-test — 19 cases passed.
  • Major changeset policy against origin/main — no new major changeset.
  • Pre-push-equivalent gates — Sherif, lint with 0 errors, web assets, Nix hash, no affected typecheck packages, and no affected tests.
  • Internal-identifier audit — no findings.

Checklist

  • I have read the CONTRIBUTING document.
  • No related issue is required for this maintainer-directed release recovery.
  • Tests are not required for changeset-only release metadata; the affected-test gate found no tests.
  • Ran gen-changesets; this PR contains the confirmed desktop patch changeset.
  • Ran gen-docs; no documentation update is required.

Summary by CodeRabbit

  • New Features
    • Restored downloadable desktop releases for macOS and Windows.
    • Included a patch release for the desktop application.

Schedule a patch version so the recovered desktop workflow can cut a new immutable tag instead of reusing the failed v0.3.0 release.
@elkaix
elkaix enabled auto-merge (squash) August 25, 2026 17:46
@coderabbitai

coderabbitaiBot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e1aaa23b-78d0-41b7-b843-12654beb65c7

📥 Commits

Reviewing files that changed from the base of the PR and between e58e68d and 97698e0.

📒 Files selected for processing (1)
  • .changeset/restore-desktop-downloads.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds a patch changeset for @pymodel/pythinker-desktop. It records restored downloadable macOS and Windows releases.

Changes

Desktop release restoration

Layer / File(s)Summary
Desktop release patch declaration
.changeset/restore-desktop-downloads.md
Adds a patch changeset for @pymodel/pythinker-desktop that describes restored downloadable macOS and Windows releases.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to 97698

This PR only schedules a patch version for the desktop package and does not change application behavior or publish a release; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title uses the required conventional-commit prefix, stays within 72 characters, uses imperative wording, and accurately describes the release preparation change.
Description check✅ PassedThe description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changes…
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changeset generation.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)


Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@97698e0
npx https://pkg.pr.new/@pymodel/pythinker-code@97698e0

commit: 97698e0

@elkaix
elkaix merged commit ddf4b88 into mainAug 25, 2026
28 of 29 checks passed
@elkaix
elkaix deleted the release/desktop-0.3.1 branch August 25, 2026 18:15
@pythinker-release-botpythinker-release-botBot mentioned this pull request Aug 25, 2026
elkaix pushed a commit that referenced this pull request Aug 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @pymodel/pythinker-desktop@0.3.1
### Patch Changes
- [#190](#190)
[`ddf4b88`](ddf4b88)
Thanks [@elkaix](https://github.com/elkaix)! - Restore downloadable
desktop releases for macOS and Windows.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

@elkaix
, '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" + '
chore(desktop): prepare 0.3.1 release by elkaix · Pull Request #190 · PyModel/pythinker-code · GitHub
Skip to content

chore(desktop): prepare 0.3.1 release - #190

Merged
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1
Aug 25, 2026
Merged

chore(desktop): prepare 0.3.1 release#190
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1

Conversation

@elkaix

@elkaixelkaix commented Aug 25, 2026

Copy link
Copy Markdown
Member

Related Issue

No tracking issue — this is maintainer-side recovery for the unpublished desktop v0.3.0 draft.

Problem

The immutable desktop-v0.3.0 tag points to the release commit whose Windows build failed. The corrected workflow is now on main, but the desktop version remains 0.3.0, so release automation cannot cut a new tag.

What changed

  • Add a confirmed patch changeset for @pymodel/pythinker-desktop.
  • Schedule desktop 0.3.1 so the Changesets version PR can create a new immutable release boundary.

This PR does not change application code, move the failed tag, or publish a release. Merging the generated version PR remains a separate, explicit publication decision.

Verification

  • changeset status — only @pymodel/pythinker-desktop receives a patch bump.
  • Major changeset policy self-test — 19 cases passed.
  • Major changeset policy against origin/main — no new major changeset.
  • Pre-push-equivalent gates — Sherif, lint with 0 errors, web assets, Nix hash, no affected typecheck packages, and no affected tests.
  • Internal-identifier audit — no findings.

Checklist

  • I have read the CONTRIBUTING document.
  • No related issue is required for this maintainer-directed release recovery.
  • Tests are not required for changeset-only release metadata; the affected-test gate found no tests.
  • Ran gen-changesets; this PR contains the confirmed desktop patch changeset.
  • Ran gen-docs; no documentation update is required.

Summary by CodeRabbit

  • New Features
    • Restored downloadable desktop releases for macOS and Windows.
    • Included a patch release for the desktop application.

Schedule a patch version so the recovered desktop workflow can cut a new immutable tag instead of reusing the failed v0.3.0 release.
@elkaix
elkaix enabled auto-merge (squash) August 25, 2026 17:46
@coderabbitai

coderabbitaiBot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e1aaa23b-78d0-41b7-b843-12654beb65c7

📥 Commits

Reviewing files that changed from the base of the PR and between e58e68d and 97698e0.

📒 Files selected for processing (1)
  • .changeset/restore-desktop-downloads.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds a patch changeset for @pymodel/pythinker-desktop. It records restored downloadable macOS and Windows releases.

Changes

Desktop release restoration

Layer / File(s)Summary
Desktop release patch declaration
.changeset/restore-desktop-downloads.md
Adds a patch changeset for @pymodel/pythinker-desktop that describes restored downloadable macOS and Windows releases.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to 97698

This PR only schedules a patch version for the desktop package and does not change application behavior or publish a release; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title uses the required conventional-commit prefix, stays within 72 characters, uses imperative wording, and accurately describes the release preparation change.
Description check✅ PassedThe description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changes…
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changeset generation.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)


Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@97698e0
npx https://pkg.pr.new/@pymodel/pythinker-code@97698e0

commit: 97698e0

@elkaix
elkaix merged commit ddf4b88 into mainAug 25, 2026
28 of 29 checks passed
@elkaix
elkaix deleted the release/desktop-0.3.1 branch August 25, 2026 18:15
@pythinker-release-botpythinker-release-botBot mentioned this pull request Aug 25, 2026
elkaix pushed a commit that referenced this pull request Aug 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @pymodel/pythinker-desktop@0.3.1
### Patch Changes
- [#190](#190)
[`ddf4b88`](ddf4b88)
Thanks [@elkaix](https://github.com/elkaix)! - Restore downloadable
desktop releases for macOS and Windows.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

@elkaix
, '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('^' + ".*" + ' chore(desktop): prepare 0.3.1 release by elkaix · Pull Request #190 · PyModel/pythinker-code · GitHub
Skip to content

chore(desktop): prepare 0.3.1 release - #190

Merged
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1
Aug 25, 2026
Merged

chore(desktop): prepare 0.3.1 release#190
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1

Conversation

@elkaix

@elkaixelkaix commented Aug 25, 2026

Copy link
Copy Markdown
Member

Related Issue

No tracking issue — this is maintainer-side recovery for the unpublished desktop v0.3.0 draft.

Problem

The immutable desktop-v0.3.0 tag points to the release commit whose Windows build failed. The corrected workflow is now on main, but the desktop version remains 0.3.0, so release automation cannot cut a new tag.

What changed

  • Add a confirmed patch changeset for @pymodel/pythinker-desktop.
  • Schedule desktop 0.3.1 so the Changesets version PR can create a new immutable release boundary.

This PR does not change application code, move the failed tag, or publish a release. Merging the generated version PR remains a separate, explicit publication decision.

Verification

  • changeset status — only @pymodel/pythinker-desktop receives a patch bump.
  • Major changeset policy self-test — 19 cases passed.
  • Major changeset policy against origin/main — no new major changeset.
  • Pre-push-equivalent gates — Sherif, lint with 0 errors, web assets, Nix hash, no affected typecheck packages, and no affected tests.
  • Internal-identifier audit — no findings.

Checklist

  • I have read the CONTRIBUTING document.
  • No related issue is required for this maintainer-directed release recovery.
  • Tests are not required for changeset-only release metadata; the affected-test gate found no tests.
  • Ran gen-changesets; this PR contains the confirmed desktop patch changeset.
  • Ran gen-docs; no documentation update is required.

Summary by CodeRabbit

  • New Features
    • Restored downloadable desktop releases for macOS and Windows.
    • Included a patch release for the desktop application.

Schedule a patch version so the recovered desktop workflow can cut a new immutable tag instead of reusing the failed v0.3.0 release.
@elkaix
elkaix enabled auto-merge (squash) August 25, 2026 17:46
@coderabbitai

coderabbitaiBot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e1aaa23b-78d0-41b7-b843-12654beb65c7

📥 Commits

Reviewing files that changed from the base of the PR and between e58e68d and 97698e0.

📒 Files selected for processing (1)
  • .changeset/restore-desktop-downloads.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds a patch changeset for @pymodel/pythinker-desktop. It records restored downloadable macOS and Windows releases.

Changes

Desktop release restoration

Layer / File(s)Summary
Desktop release patch declaration
.changeset/restore-desktop-downloads.md
Adds a patch changeset for @pymodel/pythinker-desktop that describes restored downloadable macOS and Windows releases.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to 97698

This PR only schedules a patch version for the desktop package and does not change application behavior or publish a release; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title uses the required conventional-commit prefix, stays within 72 characters, uses imperative wording, and accurately describes the release preparation change.
Description check✅ PassedThe description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changes…
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changeset generation.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)


Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@97698e0
npx https://pkg.pr.new/@pymodel/pythinker-code@97698e0

commit: 97698e0

@elkaix
elkaix merged commit ddf4b88 into mainAug 25, 2026
28 of 29 checks passed
@elkaix
elkaix deleted the release/desktop-0.3.1 branch August 25, 2026 18:15
@pythinker-release-botpythinker-release-botBot mentioned this pull request Aug 25, 2026
elkaix pushed a commit that referenced this pull request Aug 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @pymodel/pythinker-desktop@0.3.1
### Patch Changes
- [#190](#190)
[`ddf4b88`](ddf4b88)
Thanks [@elkaix](https://github.com/elkaix)! - Restore downloadable
desktop releases for macOS and Windows.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

@elkaix
, '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('^' + ".*" + ' chore(desktop): prepare 0.3.1 release by elkaix · Pull Request #190 · PyModel/pythinker-code · GitHub
Skip to content

chore(desktop): prepare 0.3.1 release - #190

Merged
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1
Aug 25, 2026
Merged

chore(desktop): prepare 0.3.1 release#190
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1

Conversation

@elkaix

@elkaixelkaix commented Aug 25, 2026

Copy link
Copy Markdown
Member

Related Issue

No tracking issue — this is maintainer-side recovery for the unpublished desktop v0.3.0 draft.

Problem

The immutable desktop-v0.3.0 tag points to the release commit whose Windows build failed. The corrected workflow is now on main, but the desktop version remains 0.3.0, so release automation cannot cut a new tag.

What changed

  • Add a confirmed patch changeset for @pymodel/pythinker-desktop.
  • Schedule desktop 0.3.1 so the Changesets version PR can create a new immutable release boundary.

This PR does not change application code, move the failed tag, or publish a release. Merging the generated version PR remains a separate, explicit publication decision.

Verification

  • changeset status — only @pymodel/pythinker-desktop receives a patch bump.
  • Major changeset policy self-test — 19 cases passed.
  • Major changeset policy against origin/main — no new major changeset.
  • Pre-push-equivalent gates — Sherif, lint with 0 errors, web assets, Nix hash, no affected typecheck packages, and no affected tests.
  • Internal-identifier audit — no findings.

Checklist

  • I have read the CONTRIBUTING document.
  • No related issue is required for this maintainer-directed release recovery.
  • Tests are not required for changeset-only release metadata; the affected-test gate found no tests.
  • Ran gen-changesets; this PR contains the confirmed desktop patch changeset.
  • Ran gen-docs; no documentation update is required.

Summary by CodeRabbit

  • New Features
    • Restored downloadable desktop releases for macOS and Windows.
    • Included a patch release for the desktop application.

Schedule a patch version so the recovered desktop workflow can cut a new immutable tag instead of reusing the failed v0.3.0 release.
@elkaix
elkaix enabled auto-merge (squash) August 25, 2026 17:46
@coderabbitai

coderabbitaiBot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e1aaa23b-78d0-41b7-b843-12654beb65c7

📥 Commits

Reviewing files that changed from the base of the PR and between e58e68d and 97698e0.

📒 Files selected for processing (1)
  • .changeset/restore-desktop-downloads.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds a patch changeset for @pymodel/pythinker-desktop. It records restored downloadable macOS and Windows releases.

Changes

Desktop release restoration

Layer / File(s)Summary
Desktop release patch declaration
.changeset/restore-desktop-downloads.md
Adds a patch changeset for @pymodel/pythinker-desktop that describes restored downloadable macOS and Windows releases.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to 97698

This PR only schedules a patch version for the desktop package and does not change application behavior or publish a release; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title uses the required conventional-commit prefix, stays within 72 characters, uses imperative wording, and accurately describes the release preparation change.
Description check✅ PassedThe description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changes…
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changeset generation.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)


Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@97698e0
npx https://pkg.pr.new/@pymodel/pythinker-code@97698e0

commit: 97698e0

@elkaix
elkaix merged commit ddf4b88 into mainAug 25, 2026
28 of 29 checks passed
@elkaix
elkaix deleted the release/desktop-0.3.1 branch August 25, 2026 18:15
@pythinker-release-botpythinker-release-botBot mentioned this pull request Aug 25, 2026
elkaix pushed a commit that referenced this pull request Aug 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @pymodel/pythinker-desktop@0.3.1
### Patch Changes
- [#190](#190)
[`ddf4b88`](ddf4b88)
Thanks [@elkaix](https://github.com/elkaix)! - Restore downloadable
desktop releases for macOS and Windows.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

@elkaix
, '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" + ' chore(desktop): prepare 0.3.1 release by elkaix · Pull Request #190 · PyModel/pythinker-code · GitHub
Skip to content

chore(desktop): prepare 0.3.1 release - #190

Merged
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1
Aug 25, 2026
Merged

chore(desktop): prepare 0.3.1 release#190
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1

Conversation

@elkaix

@elkaixelkaix commented Aug 25, 2026

Copy link
Copy Markdown
Member

Related Issue

No tracking issue — this is maintainer-side recovery for the unpublished desktop v0.3.0 draft.

Problem

The immutable desktop-v0.3.0 tag points to the release commit whose Windows build failed. The corrected workflow is now on main, but the desktop version remains 0.3.0, so release automation cannot cut a new tag.

What changed

  • Add a confirmed patch changeset for @pymodel/pythinker-desktop.
  • Schedule desktop 0.3.1 so the Changesets version PR can create a new immutable release boundary.

This PR does not change application code, move the failed tag, or publish a release. Merging the generated version PR remains a separate, explicit publication decision.

Verification

  • changeset status — only @pymodel/pythinker-desktop receives a patch bump.
  • Major changeset policy self-test — 19 cases passed.
  • Major changeset policy against origin/main — no new major changeset.
  • Pre-push-equivalent gates — Sherif, lint with 0 errors, web assets, Nix hash, no affected typecheck packages, and no affected tests.
  • Internal-identifier audit — no findings.

Checklist

  • I have read the CONTRIBUTING document.
  • No related issue is required for this maintainer-directed release recovery.
  • Tests are not required for changeset-only release metadata; the affected-test gate found no tests.
  • Ran gen-changesets; this PR contains the confirmed desktop patch changeset.
  • Ran gen-docs; no documentation update is required.

Summary by CodeRabbit

  • New Features
    • Restored downloadable desktop releases for macOS and Windows.
    • Included a patch release for the desktop application.

Schedule a patch version so the recovered desktop workflow can cut a new immutable tag instead of reusing the failed v0.3.0 release.
@elkaix
elkaix enabled auto-merge (squash) August 25, 2026 17:46
@coderabbitai

coderabbitaiBot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e1aaa23b-78d0-41b7-b843-12654beb65c7

📥 Commits

Reviewing files that changed from the base of the PR and between e58e68d and 97698e0.

📒 Files selected for processing (1)
  • .changeset/restore-desktop-downloads.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds a patch changeset for @pymodel/pythinker-desktop. It records restored downloadable macOS and Windows releases.

Changes

Desktop release restoration

Layer / File(s)Summary
Desktop release patch declaration
.changeset/restore-desktop-downloads.md
Adds a patch changeset for @pymodel/pythinker-desktop that describes restored downloadable macOS and Windows releases.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to 97698

This PR only schedules a patch version for the desktop package and does not change application behavior or publish a release; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title uses the required conventional-commit prefix, stays within 72 characters, uses imperative wording, and accurately describes the release preparation change.
Description check✅ PassedThe description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changes…
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changeset generation.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)


Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@97698e0
npx https://pkg.pr.new/@pymodel/pythinker-code@97698e0

commit: 97698e0

@elkaix
elkaix merged commit ddf4b88 into mainAug 25, 2026
28 of 29 checks passed
@elkaix
elkaix deleted the release/desktop-0.3.1 branch August 25, 2026 18:15
@pythinker-release-botpythinker-release-botBot mentioned this pull request Aug 25, 2026
elkaix pushed a commit that referenced this pull request Aug 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @pymodel/pythinker-desktop@0.3.1
### Patch Changes
- [#190](#190)
[`ddf4b88`](ddf4b88)
Thanks [@elkaix](https://github.com/elkaix)! - Restore downloadable
desktop releases for macOS and Windows.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

@elkaix
, '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('^' + ".*" + ' chore(desktop): prepare 0.3.1 release by elkaix · Pull Request #190 · PyModel/pythinker-code · GitHub
Skip to content

chore(desktop): prepare 0.3.1 release - #190

Merged
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1
Aug 25, 2026
Merged

chore(desktop): prepare 0.3.1 release#190
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1

Conversation

@elkaix

@elkaixelkaix commented Aug 25, 2026

Copy link
Copy Markdown
Member

Related Issue

No tracking issue — this is maintainer-side recovery for the unpublished desktop v0.3.0 draft.

Problem

The immutable desktop-v0.3.0 tag points to the release commit whose Windows build failed. The corrected workflow is now on main, but the desktop version remains 0.3.0, so release automation cannot cut a new tag.

What changed

  • Add a confirmed patch changeset for @pymodel/pythinker-desktop.
  • Schedule desktop 0.3.1 so the Changesets version PR can create a new immutable release boundary.

This PR does not change application code, move the failed tag, or publish a release. Merging the generated version PR remains a separate, explicit publication decision.

Verification

  • changeset status — only @pymodel/pythinker-desktop receives a patch bump.
  • Major changeset policy self-test — 19 cases passed.
  • Major changeset policy against origin/main — no new major changeset.
  • Pre-push-equivalent gates — Sherif, lint with 0 errors, web assets, Nix hash, no affected typecheck packages, and no affected tests.
  • Internal-identifier audit — no findings.

Checklist

  • I have read the CONTRIBUTING document.
  • No related issue is required for this maintainer-directed release recovery.
  • Tests are not required for changeset-only release metadata; the affected-test gate found no tests.
  • Ran gen-changesets; this PR contains the confirmed desktop patch changeset.
  • Ran gen-docs; no documentation update is required.

Summary by CodeRabbit

  • New Features
    • Restored downloadable desktop releases for macOS and Windows.
    • Included a patch release for the desktop application.

Schedule a patch version so the recovered desktop workflow can cut a new immutable tag instead of reusing the failed v0.3.0 release.
@elkaix
elkaix enabled auto-merge (squash) August 25, 2026 17:46
@coderabbitai

coderabbitaiBot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e1aaa23b-78d0-41b7-b843-12654beb65c7

📥 Commits

Reviewing files that changed from the base of the PR and between e58e68d and 97698e0.

📒 Files selected for processing (1)
  • .changeset/restore-desktop-downloads.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds a patch changeset for @pymodel/pythinker-desktop. It records restored downloadable macOS and Windows releases.

Changes

Desktop release restoration

Layer / File(s)Summary
Desktop release patch declaration
.changeset/restore-desktop-downloads.md
Adds a patch changeset for @pymodel/pythinker-desktop that describes restored downloadable macOS and Windows releases.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to 97698

This PR only schedules a patch version for the desktop package and does not change application behavior or publish a release; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title uses the required conventional-commit prefix, stays within 72 characters, uses imperative wording, and accurately describes the release preparation change.
Description check✅ PassedThe description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changes…
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changeset generation.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)


Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@97698e0
npx https://pkg.pr.new/@pymodel/pythinker-code@97698e0

commit: 97698e0

@elkaix
elkaix merged commit ddf4b88 into mainAug 25, 2026
28 of 29 checks passed
@elkaix
elkaix deleted the release/desktop-0.3.1 branch August 25, 2026 18:15
@pythinker-release-botpythinker-release-botBot mentioned this pull request Aug 25, 2026
elkaix pushed a commit that referenced this pull request Aug 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @pymodel/pythinker-desktop@0.3.1
### Patch Changes
- [#190](#190)
[`ddf4b88`](ddf4b88)
Thanks [@elkaix](https://github.com/elkaix)! - Restore downloadable
desktop releases for macOS and Windows.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

@elkaix
, '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('^' + ".*" + ' chore(desktop): prepare 0.3.1 release by elkaix · Pull Request #190 · PyModel/pythinker-code · GitHub
Skip to content

chore(desktop): prepare 0.3.1 release - #190

Merged
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1
Aug 25, 2026
Merged

chore(desktop): prepare 0.3.1 release#190
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1

Conversation

@elkaix

@elkaixelkaix commented Aug 25, 2026

Copy link
Copy Markdown
Member

Related Issue

No tracking issue — this is maintainer-side recovery for the unpublished desktop v0.3.0 draft.

Problem

The immutable desktop-v0.3.0 tag points to the release commit whose Windows build failed. The corrected workflow is now on main, but the desktop version remains 0.3.0, so release automation cannot cut a new tag.

What changed

  • Add a confirmed patch changeset for @pymodel/pythinker-desktop.
  • Schedule desktop 0.3.1 so the Changesets version PR can create a new immutable release boundary.

This PR does not change application code, move the failed tag, or publish a release. Merging the generated version PR remains a separate, explicit publication decision.

Verification

  • changeset status — only @pymodel/pythinker-desktop receives a patch bump.
  • Major changeset policy self-test — 19 cases passed.
  • Major changeset policy against origin/main — no new major changeset.
  • Pre-push-equivalent gates — Sherif, lint with 0 errors, web assets, Nix hash, no affected typecheck packages, and no affected tests.
  • Internal-identifier audit — no findings.

Checklist

  • I have read the CONTRIBUTING document.
  • No related issue is required for this maintainer-directed release recovery.
  • Tests are not required for changeset-only release metadata; the affected-test gate found no tests.
  • Ran gen-changesets; this PR contains the confirmed desktop patch changeset.
  • Ran gen-docs; no documentation update is required.

Summary by CodeRabbit

  • New Features
    • Restored downloadable desktop releases for macOS and Windows.
    • Included a patch release for the desktop application.

Schedule a patch version so the recovered desktop workflow can cut a new immutable tag instead of reusing the failed v0.3.0 release.
@elkaix
elkaix enabled auto-merge (squash) August 25, 2026 17:46
@coderabbitai

coderabbitaiBot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e1aaa23b-78d0-41b7-b843-12654beb65c7

📥 Commits

Reviewing files that changed from the base of the PR and between e58e68d and 97698e0.

📒 Files selected for processing (1)
  • .changeset/restore-desktop-downloads.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds a patch changeset for @pymodel/pythinker-desktop. It records restored downloadable macOS and Windows releases.

Changes

Desktop release restoration

Layer / File(s)Summary
Desktop release patch declaration
.changeset/restore-desktop-downloads.md
Adds a patch changeset for @pymodel/pythinker-desktop that describes restored downloadable macOS and Windows releases.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to 97698

This PR only schedules a patch version for the desktop package and does not change application behavior or publish a release; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title uses the required conventional-commit prefix, stays within 72 characters, uses imperative wording, and accurately describes the release preparation change.
Description check✅ PassedThe description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changes…
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changeset generation.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)


Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@97698e0
npx https://pkg.pr.new/@pymodel/pythinker-code@97698e0

commit: 97698e0

@elkaix
elkaix merged commit ddf4b88 into mainAug 25, 2026
28 of 29 checks passed
@elkaix
elkaix deleted the release/desktop-0.3.1 branch August 25, 2026 18:15
@pythinker-release-botpythinker-release-botBot mentioned this pull request Aug 25, 2026
elkaix pushed a commit that referenced this pull request Aug 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @pymodel/pythinker-desktop@0.3.1
### Patch Changes
- [#190](#190)
[`ddf4b88`](ddf4b88)
Thanks [@elkaix](https://github.com/elkaix)! - Restore downloadable
desktop releases for macOS and Windows.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

@elkaix
, '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); } })(); })(); chore(desktop): prepare 0.3.1 release by elkaix · Pull Request #190 · PyModel/pythinker-code · GitHub
Skip to content

chore(desktop): prepare 0.3.1 release - #190

Merged
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1
Aug 25, 2026
Merged

chore(desktop): prepare 0.3.1 release#190
elkaix merged 1 commit into
mainfrom
release/desktop-0.3.1

Conversation

@elkaix

@elkaixelkaix commented Aug 25, 2026

Copy link
Copy Markdown
Member

Related Issue

No tracking issue — this is maintainer-side recovery for the unpublished desktop v0.3.0 draft.

Problem

The immutable desktop-v0.3.0 tag points to the release commit whose Windows build failed. The corrected workflow is now on main, but the desktop version remains 0.3.0, so release automation cannot cut a new tag.

What changed

  • Add a confirmed patch changeset for @pymodel/pythinker-desktop.
  • Schedule desktop 0.3.1 so the Changesets version PR can create a new immutable release boundary.

This PR does not change application code, move the failed tag, or publish a release. Merging the generated version PR remains a separate, explicit publication decision.

Verification

  • changeset status — only @pymodel/pythinker-desktop receives a patch bump.
  • Major changeset policy self-test — 19 cases passed.
  • Major changeset policy against origin/main — no new major changeset.
  • Pre-push-equivalent gates — Sherif, lint with 0 errors, web assets, Nix hash, no affected typecheck packages, and no affected tests.
  • Internal-identifier audit — no findings.

Checklist

  • I have read the CONTRIBUTING document.
  • No related issue is required for this maintainer-directed release recovery.
  • Tests are not required for changeset-only release metadata; the affected-test gate found no tests.
  • Ran gen-changesets; this PR contains the confirmed desktop patch changeset.
  • Ran gen-docs; no documentation update is required.

Summary by CodeRabbit

  • New Features
    • Restored downloadable desktop releases for macOS and Windows.
    • Included a patch release for the desktop application.

Schedule a patch version so the recovered desktop workflow can cut a new immutable tag instead of reusing the failed v0.3.0 release.
@elkaix
elkaix enabled auto-merge (squash) August 25, 2026 17:46
@coderabbitai

coderabbitaiBot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e1aaa23b-78d0-41b7-b843-12654beb65c7

📥 Commits

Reviewing files that changed from the base of the PR and between e58e68d and 97698e0.

📒 Files selected for processing (1)
  • .changeset/restore-desktop-downloads.md

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The pull request adds a patch changeset for @pymodel/pythinker-desktop. It records restored downloadable macOS and Windows releases.

Changes

Desktop release restoration

Layer / File(s)Summary
Desktop release patch declaration
.changeset/restore-desktop-downloads.md
Adds a patch changeset for @pymodel/pythinker-desktop that describes restored downloadable macOS and Windows releases.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk:⚪ Minimal · up to 97698

This PR only schedules a patch version for the desktop package and does not change application behavior or publish a release; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title uses the required conventional-commit prefix, stays within 72 characters, uses imperative wording, and accurately describes the release preparation change.
Description check✅ PassedThe description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changes…
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required issue, problem, change, and checklist sections. It explains the maintainer-directed exception for the missing issue and documents verification results and changeset generation.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)


Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@97698e0
npx https://pkg.pr.new/@pymodel/pythinker-code@97698e0

commit: 97698e0

@elkaix
elkaix merged commit ddf4b88 into mainAug 25, 2026
28 of 29 checks passed
@elkaix
elkaix deleted the release/desktop-0.3.1 branch August 25, 2026 18:15
@pythinker-release-botpythinker-release-botBot mentioned this pull request Aug 25, 2026
elkaix pushed a commit that referenced this pull request Aug 25, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.
# Releases
## @pymodel/pythinker-desktop@0.3.1
### Patch Changes
- [#190](#190)
[`ddf4b88`](ddf4b88)
Thanks [@elkaix](https://github.com/elkaix)! - Restore downloadable
desktop releases for macOS and Windows.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

@elkaix