Skip to content

Support WSL UNC terminal cwd on Windows#264

Open
Chris79OG wants to merge 47 commits into
IgorWarzocha:devfrom
Chris79OG:luminaflow/howcode-wsl-terminal-cwd
Open

Support WSL UNC terminal cwd on Windows#264
Chris79OG wants to merge 47 commits into
IgorWarzocha:devfrom
Chris79OG:luminaflow/howcode-wsl-terminal-cwd

Conversation

@Chris79OG
Copy link
Copy Markdown

Summary

  • Detects Windows WSL UNC project paths such as \wsl$\Ubuntu\home\me\repo and \wsl.localhost\Ubuntu-24.04\home\me\repo.
  • Starts the embedded terminal through wsl.exe -d --cd for those projects instead of launching the normal Windows shell against the UNC cwd.
  • Keeps native Windows project terminal behavior unchanged and adds focused regression coverage.

Verification

  • �un vitest run desktop/terminal/terminal-command.helpers.test.ts
  • �un x biome check desktop/terminal/terminal-command.helpers.ts desktop/terminal/terminal-process.ts desktop/terminal/terminal-command.helpers.test.ts
  • �un run typecheck:desktop
  • git diff --check

Note: I also tried �un run ai:check, but the fresh Windows clone currently fails at repo-wide Biome format checks because many untouched files are checked out with CRLF line endings. The touched files pass Biome after formatting.

* chore: add project cleanup config

* Fix compact diff baseline icon

* Add chat message copy controls

* Fix chat markdown wrapping

* Fix macOS window chrome and quit path

* Add sidebar project folder browser

* Refine project folder browser controls

* Fix composer textarea alignment jump

* Align composer textarea scrollbar

* Measure composer textarea before paint

* Stop composer text resize from rerendering timeline

* Anchor thread composer to bottom while typing

* Stabilize composer dictation adornment layout

* Revert "Stabilize composer dictation adornment layout"

This reverts commit 00c4586.

* Reserve composer dictation adornment space

* Pad composer text around dictation adornment

* Hide composer adornment at tiny widths

* Keep composer text wrapping vertically

* Avoid reserving dictation space on multiline composer

* Keep dictation adornment and refresh composer resize state

* Preserve session composer model choices

* Polish compact composer controls

* Close terminal drawer when entering compact mode

* Align takeover sidebar toggle

* Fix dictation setup prompt routing

* Fix project folder browser edge cases

* Update changelog for 0.1.64

* Address PR review edge cases
* Improve Pi message status details

* Address Pi status review edge cases
* Support dashboard terminal and sidebar toggle

* Polish project dashboard narrow layout

* Refine composer and dashboard narrow chrome

* Add about link to landing page

* Add beta update branch setting

* Fix beta updater channel edge cases

* Fix release notes and landing settings state
* Fix launcher download timeout

* Bump launcher package version
* Add React Doctor and tidy low-risk issues

* Continue React Doctor cleanup

* Polish diff baseline popover

* Align GitOps composer sizing

* Expose GitOps origin settings

* Restore accessible composer placeholder
* Polish sidebar and artifact interactions

* Add stacked PR workflow guidance

* Address artifact and diff review findings
* Fix Codex review follow-ups

* Ignore semantic grep cache files

* Restore dev workflow validation triggers

* Document workflow release conventions

* Clarify docs-only validation guidance

* Address updater and inbox review feedback

* Clarify validation command guidance
* Fix composer controls and project terminals

* Polish sidebar favorite indicators

* Close status model picker on selection

* Refine composer mic and sidebar icon alignment

* Restore project favorite icon alignment

* Limit left mic placement to empty composer

* Align empty composer mic with placeholder

* Nudge empty composer mic left

* Move empty composer mic farther left

* Set empty composer mic midpoint offset

* Tighten empty composer mic spacing

* Move updater channels to prefixed release tags

* Bump npm launcher version

* Stop release artifact builds on PRs

* Address updater and terminal review findings

* Fix gitops terminal restore and archive cleanup
IgorWarzocha and others added 17 commits May 15, 2026 12:11
* Add keybindings implementation notes

* Implement configurable keybindings

* Fix keybinding review issues

* Tighten keybinding shortcut handling

* Make settings shortcut toggle settings view

* Make settings shortcut return to previous view

* Enable dictation shortcut in GitOps

* Enable dictation shortcut in inbox

* Update agent hardening skill guidance

* Fix terminal shortcut behavior

* Fix terminal keybinding edge cases

* Scope GitOps shortcut to code threads

* Improve thread cycling shortcuts

* Disable thread cycling on landing page

* Polish keybinding settings UI

* Fix composer send mode shortcuts

* Allow app shortcuts from composer focus

* Block new thread shortcut on landing

* Keep landing projectless for shortcuts

* Address keybinding review follow-ups

* Separate landing shortcuts from cwd context

* Defer thread loads during shortcut cycling

* Implement thread and sidebar find shortcuts

* Address keybinding review feedback

* Highlight thread find matches in markdown

* Release sidebar search focus on dismiss

* Revert "Release sidebar search focus on dismiss"

This reverts commit eeec3be.

* Stop sidebar find redispatch loop

* Defer project sidebar search filtering
* Harden agent boundaries and contract tests

* Extract new thread post effects

* Extract thread lifecycle post effects

* Extract runtime session and skill helpers

* Extract composer runtime helpers

* Extract composer prompt flow

* Extract runtime host request mapping

* Extract runtime host bridge routing

* Share runtime settings cwd normalization

* Extract remaining runtime host hotspots

* Split remaining godfunction hotspots

* Split TSX layout hotspots

* Fix TSX layout smoke regressions

* Revert "Fix TSX layout smoke regressions"

This reverts commit 0ddc1b4.

* Revert "Split TSX layout hotspots"

This reverts commit 76737ac.

* Split TSX layout hotspots

* Fix TSX layout smoke regressions

* Keep GitOps controls responsive during diff load

* Keep workspace controls above diff loading overlay

* Revert "Keep workspace controls above diff loading overlay"

This reverts commit 6b68574.

* Revert "Keep GitOps controls responsive during diff load"

This reverts commit af2818f.

* Parse GitOps diffs off main thread

* Improve GitOps diff responsiveness

* Extract terminal and diff panel view logic

* Refactor composer and chat TSX hotspots

* Extract composer text field measurement hooks

* Extract composer prompt input handlers

* Extract composer prompt surface effects

* Split composer slash command helpers

* Extract composer model popover parts

* Extract diff baseline selector helpers

* Harden app shell state and desktop access lanes

* Harden desktop bridge and layout diff state

* Extract inbox and terminal viewport hooks

* Extract sidebar project and workspace terminal state

* Extract settings and landing view parts

* Extract inbox composer interaction hooks

* Extract chat workspace composer

* Extract artifact panel body

* Extract composer submission runner

* Split desktop query boundaries

* Extract terminal output behavior

* Extract composer prompt surface helpers

* Extract thread message utilities

* Fix desktop capability checks

* Fix runtime host and diff fallback races

* Address final review hardening fixes
* Fix release updater and packaged terminal helper

* Address updater packaging and thread review fixes

* Fix stale updater restart and draft scope cache

* Update dependencies

* Update website channels and PR changelog flow

* Improve focus shortcuts and debug access

* Fix review findings for packaging scripts
* Fix code dashboard session behavior

* Fix landing and project dashboard state
* Fix new thread dashboard session handling

* Fix dashboard thread follow-up routing

* Preserve explicit action targets

* Fix Pi TUI new thread reconciliation

* Harden Pi TUI thread handoff

* Scope takeover key handoff

* Require explicit external draft replacements

* Narrow polled draft replacement

* Require cwd for TUI session matching

* Retry TUI detection read failures

* Keep send host aliases through response races

* Start TUI detection window on prompt submit

* Keep active takeover drafts on thread switch

* Revert "Require cwd for TUI session matching"

This reverts commit fb94d72.

* Keep loaded sidebar threads during shell refresh

* Restore working Pi TUI handoff

* Retry TUI detection read failures

* Keep send host aliases through response races

* Scope takeover key handoff

* Keep active takeover drafts on thread switch

* Require explicit external draft replacements

* Narrow polled draft replacement

* Revert "Narrow polled draft replacement"

This reverts commit b530462.

* Narrow polled draft replacement

* Create draft before opening TUI takeover

* Preserve terminal drawer on project thread handoff

* Trim changelog bullets
* Add Pi directory setting and branch switching

* Load dev settings in web bridge

* Use dev user data path for settings

* Run dev runtime host with Electron ABI

* Use system Node for dev runtime host

* Isolate desktop runtime in service process

* Restore service-backed updater and menu settings

* Add service diagnostics and boundary guard

* Share service client with dev web bridge

* Share typed desktop service client

* Rename runtime host local service flag

* Rename desktop runtime contracts to service

* Discover user Node for desktop service

* Move desktop service contracts to shared

* Surface service crashes and validate packaged runtime

* Address desktop service review findings

* Harden desktop service startup and branch controls

* Make displayed branch chips switch branches

* Use inline branch switch popovers

* Make branch chips handle pointer activation

* Let footer chrome pass through inactive clicks

* Revert "Let footer chrome pass through inactive clicks"

This reverts commit 3bd7d8b.

* Show branch switch popovers when opened

* Add branch selector popovers

* Fix composer textarea update loop

* Open branch selector with empty search

* Polish branch selector popovers

* Make branch selectors opaque

* Guard composer textarea expansion updates

* Render branch selectors outside translucent parents

* Switch composer popovers on hover

* Polish composer branch selector

* Align composer selector popovers

* Revert "Align composer selector popovers"

This reverts commit a8a1c8b.

* Polish branch switcher only

* Match branch selector layout

* Polish dashboard branch selector

* Constrain dashboard branch popover

* Avoid clipping dashboard branch popover

* Fix dashboard branch popover sizing

* Document temp Howcode build workflow

* Update changelog for runtime split

* Address PR review edge cases

* Address service lifecycle review findings

* Fix runtime startup review edge cases

* Modularize branch selector surfaces
* Rebuild packaged service native deps for Node

* Bundle service native deps by Node ABI

* Harden service native ABI packaging

* Build universal direct release artifacts

* Fix native ABI packaging edge cases

* Harden universal release native validation

* Make packaged builds universal by default

* Document universal artifact packaging

* Fix release Node path capture

* Fix preview artifact names and Windows native install

* Use node-pty prebuilds for service ABI bundles

* Allow launcher archives to use node-pty prebuilds

* Use npm cmd for Windows service native install

* Split service native packaging by platform

* Document modular-first code guidance

* Move native packaging guidance to scripts

* Update changelog for universal native bundles

* Relax service native validation in dev
Why:
- Native Windows terminal launch currently treats WSL UNC project paths as host Windows paths.
- Opening a WSL project through \\wsl$ or \\wsl.localhost should start the embedded shell inside that distro and Linux cwd.

Verified:
- bun vitest run desktop/terminal/terminal-command.helpers.test.ts
- bun x biome check desktop/terminal/terminal-command.helpers.ts desktop/terminal/terminal-process.ts desktop/terminal/terminal-command.helpers.test.ts
- bun run typecheck:desktop
- git diff --check
@github-actions github-actions Bot closed this May 23, 2026
@IgorWarzocha IgorWarzocha reopened this May 23, 2026
@github-actions github-actions Bot closed this May 23, 2026
@IgorWarzocha IgorWarzocha reopened this May 24, 2026
Repository owner deleted a comment from github-actions Bot May 24, 2026
Repository owner deleted a comment from github-actions Bot May 24, 2026
@IgorWarzocha IgorWarzocha force-pushed the dev branch 2 times, most recently from 53bf44b to 5b210da Compare May 27, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants