Stabilize git workspace and terminal tests - #2540

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests
May 6, 2026
Merged

Stabilize git workspace and terminal tests#2540
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Added a helper to model visible remote URLs with local rewrites so git workspace tests can represent realistic GitHub remotes while still using local bare repos.
  • Updated multiple git manager scenarios to use the helper and align remote URL formats with the code paths under test.
  • Shortened the pre-commit hook sleep to reduce test runtime and flakiness.
  • Defaulted terminal test processKillGraceMs to 1 so teardown behavior is deterministic when tests do not override it.

Testing

  • Not run locally.
  • Intended checks: bun fmt
  • Intended checks: bun lint
  • Intended checks: bun typecheck

Note

Low Risk
Low risk: changes are confined to tests and test helpers, aiming to reduce flakiness and improve determinism without modifying production logic.

Overview
Improves git-related tests by introducing configureVisibleRemoteUrlWithLocalRewrite, allowing scenarios to use realistic GitHub-style remote URLs while rewriting them to local bare repos via url.<path>.insteadOf.

Updates multiple GitManager.test.ts cases to use this helper (and align SSH URL formats) and reduces the commit-hook sleep time to speed up and de-flake ordering assertions.

Makes terminal manager tests deterministic by defaulting processKillGraceMs to 1 in the createManager fixture when callers don’t specify a value.

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

Note

Stabilize git and terminal tests with URL rewrites and faster timeouts

  • Adds a configureVisibleRemoteUrlWithLocalRewrite helper in GitManager.test.ts that sets a remote's visible URL and adds a url.<localPath>.insteadOf Git config mapping, so operations targeting GitHub-style URLs are transparently redirected to local bare remotes during tests.
  • Updates all test setups for origin, my-org/upstream, and fork-seed remotes to use this helper; the upstream remote's visible URL now uses the ssh:// scheme instead of the previous format.
  • Reduces the pre-commit hook sleep duration in the 'emits ordered progress events for commit hooks' test from 1 second to a short delay.
  • Sets processKillGraceMs to 1 by default in the createManager fixture in Manager.test.ts, instead of leaving it unset when not explicitly provided.

Macroscope summarized 8ee3622.

- Add a helper for visible remote URLs with local path rewrites
- Speed up the pre-commit hook in the git manager tests
- Default terminal kill grace to 1ms in the test harness
@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d78dadc6-2633-4ace-b32a-e54a74affc53

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/stabilize-git-workspace-tests

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

@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels May 6, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Test-only changes that refactor test setup helpers, reduce test sleep durations, and simplify test configuration. No production code is modified.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge merged commit 25c9d26 into mainMay 6, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/stabilize-git-workspace-tests branch May 6, 2026 03:31
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).
Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
terminalFontFamily alongside upstream's
dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
diffFontFamily and terminalFontFamily so the merged ClientSettings
shape typechecks against the strict desktop bridge contract.
Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
Electron's Session.setPermissionRequestHandler permission union (the
Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
Virtualizer instead of passing undefined, satisfying
exactOptionalPropertyTypes.
ronak-guliani pushed a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
ronak-guliani added a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

Stabilize git workspace and terminal tests - #2540

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests
May 6, 2026
Merged

Stabilize git workspace and terminal tests#2540
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Added a helper to model visible remote URLs with local rewrites so git workspace tests can represent realistic GitHub remotes while still using local bare repos.
  • Updated multiple git manager scenarios to use the helper and align remote URL formats with the code paths under test.
  • Shortened the pre-commit hook sleep to reduce test runtime and flakiness.
  • Defaulted terminal test processKillGraceMs to 1 so teardown behavior is deterministic when tests do not override it.

Testing

  • Not run locally.
  • Intended checks: bun fmt
  • Intended checks: bun lint
  • Intended checks: bun typecheck

Note

Low Risk
Low risk: changes are confined to tests and test helpers, aiming to reduce flakiness and improve determinism without modifying production logic.

Overview
Improves git-related tests by introducing configureVisibleRemoteUrlWithLocalRewrite, allowing scenarios to use realistic GitHub-style remote URLs while rewriting them to local bare repos via url.<path>.insteadOf.

Updates multiple GitManager.test.ts cases to use this helper (and align SSH URL formats) and reduces the commit-hook sleep time to speed up and de-flake ordering assertions.

Makes terminal manager tests deterministic by defaulting processKillGraceMs to 1 in the createManager fixture when callers don’t specify a value.

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

Note

Stabilize git and terminal tests with URL rewrites and faster timeouts

  • Adds a configureVisibleRemoteUrlWithLocalRewrite helper in GitManager.test.ts that sets a remote's visible URL and adds a url.<localPath>.insteadOf Git config mapping, so operations targeting GitHub-style URLs are transparently redirected to local bare remotes during tests.
  • Updates all test setups for origin, my-org/upstream, and fork-seed remotes to use this helper; the upstream remote's visible URL now uses the ssh:// scheme instead of the previous format.
  • Reduces the pre-commit hook sleep duration in the 'emits ordered progress events for commit hooks' test from 1 second to a short delay.
  • Sets processKillGraceMs to 1 by default in the createManager fixture in Manager.test.ts, instead of leaving it unset when not explicitly provided.

Macroscope summarized 8ee3622.

- Add a helper for visible remote URLs with local path rewrites
- Speed up the pre-commit hook in the git manager tests
- Default terminal kill grace to 1ms in the test harness
@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d78dadc6-2633-4ace-b32a-e54a74affc53

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/stabilize-git-workspace-tests

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

@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels May 6, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Test-only changes that refactor test setup helpers, reduce test sleep durations, and simplify test configuration. No production code is modified.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge merged commit 25c9d26 into mainMay 6, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/stabilize-git-workspace-tests branch May 6, 2026 03:31
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).
Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
terminalFontFamily alongside upstream's
dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
diffFontFamily and terminalFontFamily so the merged ClientSettings
shape typechecks against the strict desktop bridge contract.
Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
Electron's Session.setPermissionRequestHandler permission union (the
Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
Virtualizer instead of passing undefined, satisfying
exactOptionalPropertyTypes.
ronak-guliani pushed a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
ronak-guliani added a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

Stabilize git workspace and terminal tests - #2540

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests
May 6, 2026
Merged

Stabilize git workspace and terminal tests#2540
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Added a helper to model visible remote URLs with local rewrites so git workspace tests can represent realistic GitHub remotes while still using local bare repos.
  • Updated multiple git manager scenarios to use the helper and align remote URL formats with the code paths under test.
  • Shortened the pre-commit hook sleep to reduce test runtime and flakiness.
  • Defaulted terminal test processKillGraceMs to 1 so teardown behavior is deterministic when tests do not override it.

Testing

  • Not run locally.
  • Intended checks: bun fmt
  • Intended checks: bun lint
  • Intended checks: bun typecheck

Note

Low Risk
Low risk: changes are confined to tests and test helpers, aiming to reduce flakiness and improve determinism without modifying production logic.

Overview
Improves git-related tests by introducing configureVisibleRemoteUrlWithLocalRewrite, allowing scenarios to use realistic GitHub-style remote URLs while rewriting them to local bare repos via url.<path>.insteadOf.

Updates multiple GitManager.test.ts cases to use this helper (and align SSH URL formats) and reduces the commit-hook sleep time to speed up and de-flake ordering assertions.

Makes terminal manager tests deterministic by defaulting processKillGraceMs to 1 in the createManager fixture when callers don’t specify a value.

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

Note

Stabilize git and terminal tests with URL rewrites and faster timeouts

  • Adds a configureVisibleRemoteUrlWithLocalRewrite helper in GitManager.test.ts that sets a remote's visible URL and adds a url.<localPath>.insteadOf Git config mapping, so operations targeting GitHub-style URLs are transparently redirected to local bare remotes during tests.
  • Updates all test setups for origin, my-org/upstream, and fork-seed remotes to use this helper; the upstream remote's visible URL now uses the ssh:// scheme instead of the previous format.
  • Reduces the pre-commit hook sleep duration in the 'emits ordered progress events for commit hooks' test from 1 second to a short delay.
  • Sets processKillGraceMs to 1 by default in the createManager fixture in Manager.test.ts, instead of leaving it unset when not explicitly provided.

Macroscope summarized 8ee3622.

- Add a helper for visible remote URLs with local path rewrites
- Speed up the pre-commit hook in the git manager tests
- Default terminal kill grace to 1ms in the test harness
@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d78dadc6-2633-4ace-b32a-e54a74affc53

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/stabilize-git-workspace-tests

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

@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels May 6, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Test-only changes that refactor test setup helpers, reduce test sleep durations, and simplify test configuration. No production code is modified.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge merged commit 25c9d26 into mainMay 6, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/stabilize-git-workspace-tests branch May 6, 2026 03:31
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).
Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
terminalFontFamily alongside upstream's
dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
diffFontFamily and terminalFontFamily so the merged ClientSettings
shape typechecks against the strict desktop bridge contract.
Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
Electron's Session.setPermissionRequestHandler permission union (the
Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
Virtualizer instead of passing undefined, satisfying
exactOptionalPropertyTypes.
ronak-guliani pushed a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
ronak-guliani added a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

Stabilize git workspace and terminal tests - #2540

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests
May 6, 2026
Merged

Stabilize git workspace and terminal tests#2540
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Added a helper to model visible remote URLs with local rewrites so git workspace tests can represent realistic GitHub remotes while still using local bare repos.
  • Updated multiple git manager scenarios to use the helper and align remote URL formats with the code paths under test.
  • Shortened the pre-commit hook sleep to reduce test runtime and flakiness.
  • Defaulted terminal test processKillGraceMs to 1 so teardown behavior is deterministic when tests do not override it.

Testing

  • Not run locally.
  • Intended checks: bun fmt
  • Intended checks: bun lint
  • Intended checks: bun typecheck

Note

Low Risk
Low risk: changes are confined to tests and test helpers, aiming to reduce flakiness and improve determinism without modifying production logic.

Overview
Improves git-related tests by introducing configureVisibleRemoteUrlWithLocalRewrite, allowing scenarios to use realistic GitHub-style remote URLs while rewriting them to local bare repos via url.<path>.insteadOf.

Updates multiple GitManager.test.ts cases to use this helper (and align SSH URL formats) and reduces the commit-hook sleep time to speed up and de-flake ordering assertions.

Makes terminal manager tests deterministic by defaulting processKillGraceMs to 1 in the createManager fixture when callers don’t specify a value.

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

Note

Stabilize git and terminal tests with URL rewrites and faster timeouts

  • Adds a configureVisibleRemoteUrlWithLocalRewrite helper in GitManager.test.ts that sets a remote's visible URL and adds a url.<localPath>.insteadOf Git config mapping, so operations targeting GitHub-style URLs are transparently redirected to local bare remotes during tests.
  • Updates all test setups for origin, my-org/upstream, and fork-seed remotes to use this helper; the upstream remote's visible URL now uses the ssh:// scheme instead of the previous format.
  • Reduces the pre-commit hook sleep duration in the 'emits ordered progress events for commit hooks' test from 1 second to a short delay.
  • Sets processKillGraceMs to 1 by default in the createManager fixture in Manager.test.ts, instead of leaving it unset when not explicitly provided.

Macroscope summarized 8ee3622.

- Add a helper for visible remote URLs with local path rewrites
- Speed up the pre-commit hook in the git manager tests
- Default terminal kill grace to 1ms in the test harness
@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d78dadc6-2633-4ace-b32a-e54a74affc53

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/stabilize-git-workspace-tests

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

@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels May 6, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Test-only changes that refactor test setup helpers, reduce test sleep durations, and simplify test configuration. No production code is modified.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge merged commit 25c9d26 into mainMay 6, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/stabilize-git-workspace-tests branch May 6, 2026 03:31
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).
Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
terminalFontFamily alongside upstream's
dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
diffFontFamily and terminalFontFamily so the merged ClientSettings
shape typechecks against the strict desktop bridge contract.
Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
Electron's Session.setPermissionRequestHandler permission union (the
Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
Virtualizer instead of passing undefined, satisfying
exactOptionalPropertyTypes.
ronak-guliani pushed a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
ronak-guliani added a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

Stabilize git workspace and terminal tests - #2540

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests
May 6, 2026
Merged

Stabilize git workspace and terminal tests#2540
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Added a helper to model visible remote URLs with local rewrites so git workspace tests can represent realistic GitHub remotes while still using local bare repos.
  • Updated multiple git manager scenarios to use the helper and align remote URL formats with the code paths under test.
  • Shortened the pre-commit hook sleep to reduce test runtime and flakiness.
  • Defaulted terminal test processKillGraceMs to 1 so teardown behavior is deterministic when tests do not override it.

Testing

  • Not run locally.
  • Intended checks: bun fmt
  • Intended checks: bun lint
  • Intended checks: bun typecheck

Note

Low Risk
Low risk: changes are confined to tests and test helpers, aiming to reduce flakiness and improve determinism without modifying production logic.

Overview
Improves git-related tests by introducing configureVisibleRemoteUrlWithLocalRewrite, allowing scenarios to use realistic GitHub-style remote URLs while rewriting them to local bare repos via url.<path>.insteadOf.

Updates multiple GitManager.test.ts cases to use this helper (and align SSH URL formats) and reduces the commit-hook sleep time to speed up and de-flake ordering assertions.

Makes terminal manager tests deterministic by defaulting processKillGraceMs to 1 in the createManager fixture when callers don’t specify a value.

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

Note

Stabilize git and terminal tests with URL rewrites and faster timeouts

  • Adds a configureVisibleRemoteUrlWithLocalRewrite helper in GitManager.test.ts that sets a remote's visible URL and adds a url.<localPath>.insteadOf Git config mapping, so operations targeting GitHub-style URLs are transparently redirected to local bare remotes during tests.
  • Updates all test setups for origin, my-org/upstream, and fork-seed remotes to use this helper; the upstream remote's visible URL now uses the ssh:// scheme instead of the previous format.
  • Reduces the pre-commit hook sleep duration in the 'emits ordered progress events for commit hooks' test from 1 second to a short delay.
  • Sets processKillGraceMs to 1 by default in the createManager fixture in Manager.test.ts, instead of leaving it unset when not explicitly provided.

Macroscope summarized 8ee3622.

- Add a helper for visible remote URLs with local path rewrites
- Speed up the pre-commit hook in the git manager tests
- Default terminal kill grace to 1ms in the test harness
@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d78dadc6-2633-4ace-b32a-e54a74affc53

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/stabilize-git-workspace-tests

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

@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels May 6, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Test-only changes that refactor test setup helpers, reduce test sleep durations, and simplify test configuration. No production code is modified.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge merged commit 25c9d26 into mainMay 6, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/stabilize-git-workspace-tests branch May 6, 2026 03:31
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).
Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
terminalFontFamily alongside upstream's
dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
diffFontFamily and terminalFontFamily so the merged ClientSettings
shape typechecks against the strict desktop bridge contract.
Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
Electron's Session.setPermissionRequestHandler permission union (the
Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
Virtualizer instead of passing undefined, satisfying
exactOptionalPropertyTypes.
ronak-guliani pushed a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
ronak-guliani added a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

Stabilize git workspace and terminal tests - #2540

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests
May 6, 2026
Merged

Stabilize git workspace and terminal tests#2540
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Added a helper to model visible remote URLs with local rewrites so git workspace tests can represent realistic GitHub remotes while still using local bare repos.
  • Updated multiple git manager scenarios to use the helper and align remote URL formats with the code paths under test.
  • Shortened the pre-commit hook sleep to reduce test runtime and flakiness.
  • Defaulted terminal test processKillGraceMs to 1 so teardown behavior is deterministic when tests do not override it.

Testing

  • Not run locally.
  • Intended checks: bun fmt
  • Intended checks: bun lint
  • Intended checks: bun typecheck

Note

Low Risk
Low risk: changes are confined to tests and test helpers, aiming to reduce flakiness and improve determinism without modifying production logic.

Overview
Improves git-related tests by introducing configureVisibleRemoteUrlWithLocalRewrite, allowing scenarios to use realistic GitHub-style remote URLs while rewriting them to local bare repos via url.<path>.insteadOf.

Updates multiple GitManager.test.ts cases to use this helper (and align SSH URL formats) and reduces the commit-hook sleep time to speed up and de-flake ordering assertions.

Makes terminal manager tests deterministic by defaulting processKillGraceMs to 1 in the createManager fixture when callers don’t specify a value.

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

Note

Stabilize git and terminal tests with URL rewrites and faster timeouts

  • Adds a configureVisibleRemoteUrlWithLocalRewrite helper in GitManager.test.ts that sets a remote's visible URL and adds a url.<localPath>.insteadOf Git config mapping, so operations targeting GitHub-style URLs are transparently redirected to local bare remotes during tests.
  • Updates all test setups for origin, my-org/upstream, and fork-seed remotes to use this helper; the upstream remote's visible URL now uses the ssh:// scheme instead of the previous format.
  • Reduces the pre-commit hook sleep duration in the 'emits ordered progress events for commit hooks' test from 1 second to a short delay.
  • Sets processKillGraceMs to 1 by default in the createManager fixture in Manager.test.ts, instead of leaving it unset when not explicitly provided.

Macroscope summarized 8ee3622.

- Add a helper for visible remote URLs with local path rewrites
- Speed up the pre-commit hook in the git manager tests
- Default terminal kill grace to 1ms in the test harness
@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d78dadc6-2633-4ace-b32a-e54a74affc53

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/stabilize-git-workspace-tests

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

@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels May 6, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Test-only changes that refactor test setup helpers, reduce test sleep durations, and simplify test configuration. No production code is modified.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge merged commit 25c9d26 into mainMay 6, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/stabilize-git-workspace-tests branch May 6, 2026 03:31
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).
Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
terminalFontFamily alongside upstream's
dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
diffFontFamily and terminalFontFamily so the merged ClientSettings
shape typechecks against the strict desktop bridge contract.
Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
Electron's Session.setPermissionRequestHandler permission union (the
Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
Virtualizer instead of passing undefined, satisfying
exactOptionalPropertyTypes.
ronak-guliani pushed a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
ronak-guliani added a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

Stabilize git workspace and terminal tests - #2540

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests
May 6, 2026
Merged

Stabilize git workspace and terminal tests#2540
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Added a helper to model visible remote URLs with local rewrites so git workspace tests can represent realistic GitHub remotes while still using local bare repos.
  • Updated multiple git manager scenarios to use the helper and align remote URL formats with the code paths under test.
  • Shortened the pre-commit hook sleep to reduce test runtime and flakiness.
  • Defaulted terminal test processKillGraceMs to 1 so teardown behavior is deterministic when tests do not override it.

Testing

  • Not run locally.
  • Intended checks: bun fmt
  • Intended checks: bun lint
  • Intended checks: bun typecheck

Note

Low Risk
Low risk: changes are confined to tests and test helpers, aiming to reduce flakiness and improve determinism without modifying production logic.

Overview
Improves git-related tests by introducing configureVisibleRemoteUrlWithLocalRewrite, allowing scenarios to use realistic GitHub-style remote URLs while rewriting them to local bare repos via url.<path>.insteadOf.

Updates multiple GitManager.test.ts cases to use this helper (and align SSH URL formats) and reduces the commit-hook sleep time to speed up and de-flake ordering assertions.

Makes terminal manager tests deterministic by defaulting processKillGraceMs to 1 in the createManager fixture when callers don’t specify a value.

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

Note

Stabilize git and terminal tests with URL rewrites and faster timeouts

  • Adds a configureVisibleRemoteUrlWithLocalRewrite helper in GitManager.test.ts that sets a remote's visible URL and adds a url.<localPath>.insteadOf Git config mapping, so operations targeting GitHub-style URLs are transparently redirected to local bare remotes during tests.
  • Updates all test setups for origin, my-org/upstream, and fork-seed remotes to use this helper; the upstream remote's visible URL now uses the ssh:// scheme instead of the previous format.
  • Reduces the pre-commit hook sleep duration in the 'emits ordered progress events for commit hooks' test from 1 second to a short delay.
  • Sets processKillGraceMs to 1 by default in the createManager fixture in Manager.test.ts, instead of leaving it unset when not explicitly provided.

Macroscope summarized 8ee3622.

- Add a helper for visible remote URLs with local path rewrites
- Speed up the pre-commit hook in the git manager tests
- Default terminal kill grace to 1ms in the test harness
@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d78dadc6-2633-4ace-b32a-e54a74affc53

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/stabilize-git-workspace-tests

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

@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels May 6, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Test-only changes that refactor test setup helpers, reduce test sleep durations, and simplify test configuration. No production code is modified.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge merged commit 25c9d26 into mainMay 6, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/stabilize-git-workspace-tests branch May 6, 2026 03:31
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).
Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
terminalFontFamily alongside upstream's
dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
diffFontFamily and terminalFontFamily so the merged ClientSettings
shape typechecks against the strict desktop bridge contract.
Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
Electron's Session.setPermissionRequestHandler permission union (the
Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
Virtualizer instead of passing undefined, satisfying
exactOptionalPropertyTypes.
ronak-guliani pushed a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
ronak-guliani added a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

Stabilize git workspace and terminal tests - #2540

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests
May 6, 2026
Merged

Stabilize git workspace and terminal tests#2540
juliusmarminge merged 1 commit into
mainfrom
t3code/stabilize-git-workspace-tests

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented May 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Added a helper to model visible remote URLs with local rewrites so git workspace tests can represent realistic GitHub remotes while still using local bare repos.
  • Updated multiple git manager scenarios to use the helper and align remote URL formats with the code paths under test.
  • Shortened the pre-commit hook sleep to reduce test runtime and flakiness.
  • Defaulted terminal test processKillGraceMs to 1 so teardown behavior is deterministic when tests do not override it.

Testing

  • Not run locally.
  • Intended checks: bun fmt
  • Intended checks: bun lint
  • Intended checks: bun typecheck

Note

Low Risk
Low risk: changes are confined to tests and test helpers, aiming to reduce flakiness and improve determinism without modifying production logic.

Overview
Improves git-related tests by introducing configureVisibleRemoteUrlWithLocalRewrite, allowing scenarios to use realistic GitHub-style remote URLs while rewriting them to local bare repos via url.<path>.insteadOf.

Updates multiple GitManager.test.ts cases to use this helper (and align SSH URL formats) and reduces the commit-hook sleep time to speed up and de-flake ordering assertions.

Makes terminal manager tests deterministic by defaulting processKillGraceMs to 1 in the createManager fixture when callers don’t specify a value.

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

Note

Stabilize git and terminal tests with URL rewrites and faster timeouts

  • Adds a configureVisibleRemoteUrlWithLocalRewrite helper in GitManager.test.ts that sets a remote's visible URL and adds a url.<localPath>.insteadOf Git config mapping, so operations targeting GitHub-style URLs are transparently redirected to local bare remotes during tests.
  • Updates all test setups for origin, my-org/upstream, and fork-seed remotes to use this helper; the upstream remote's visible URL now uses the ssh:// scheme instead of the previous format.
  • Reduces the pre-commit hook sleep duration in the 'emits ordered progress events for commit hooks' test from 1 second to a short delay.
  • Sets processKillGraceMs to 1 by default in the createManager fixture in Manager.test.ts, instead of leaving it unset when not explicitly provided.

Macroscope summarized 8ee3622.

- Add a helper for visible remote URLs with local path rewrites
- Speed up the pre-commit hook in the git manager tests
- Default terminal kill grace to 1ms in the test harness
@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d78dadc6-2633-4ace-b32a-e54a74affc53

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/stabilize-git-workspace-tests

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

@github-actionsgithub-actionsBot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels May 6, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

Test-only changes that refactor test setup helpers, reduce test sleep durations, and simplify test configuration. No production code is modified.

You can customize Macroscope's approvability policy. Learn more.

@juliusmarminge
juliusmarminge merged commit 25c9d26 into mainMay 6, 2026
12 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/stabilize-git-workspace-tests branch May 6, 2026 03:31
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).
Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
terminalFontFamily alongside upstream's
dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
diffFontFamily and terminalFontFamily so the merged ClientSettings
shape typechecks against the strict desktop bridge contract.
Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
Electron's Session.setPermissionRequestHandler permission union (the
Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
Virtualizer instead of passing undefined, satisfying
exactOptionalPropertyTypes.
ronak-guliani pushed a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
ronak-guliani added a commit to ronak-guliani/t3code that referenced this pull request May 20, 2026
NeilTheFisher pushed a commit to NeilTheFisher/t3code that referenced this pull request Aug 18, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
darjss pushed a commit to darjss/t3code that referenced this pull request Aug 26, 2026
Co-authored-by: Julius Marminge <julius@macmini.local>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L100-499 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge