Make pnpm dev work in a standalone checkout and behind a localhost tunnel - #64
Merged
Merged
Conversation
* feat: show CLI version and update status * feat: add shift to terminal keyboard toolbar & update terminal input handling * feat: add Reach Out page and integrate with About and More tabs * feat: enhance in-app browser's new tab page Kevin (a user) said that he didn't "feel" that he opened a browser when he went to our in-app browser. * feat: enhance EmptyState with description across multiple tabs * feat: simplify bookmarked sessions state management * feat: add isSettledSessionStatus function & FIX permission handling in ChatConversationPage * chore: v0.0.29
v0.0.33: dev to main
v0.0.34: Ajit/login (shellular-org#13)
v0.0.35: fix build
v0.0.36[to main]: multi-region
v0.0.38: Merge pull request shellular-org#47 from shellular-org/biraj/session-msgs-reverse-…
fix(v0.0.39): create chat sessions lazily on first message (shellular-org#50)
* Biraj/fixes (shellular-org#52) * fix(chat): preserve draft config picks and pass them at session create A draft chat has no ACP session, so mode/model picks made before the first send were kept in local state and replayed afterwards. Two gaps made them get lost or apply late: - The draft effect reset configOptions from the host-cached agent config on every run, clobbering picks the user had already made. Skip the reset while pending changes exist. - Agent metadata is only loaded on connection, so a draft opened after another chat populated the CLI's config cache rendered a stale toolbar. Refresh agents once per draft. Also send configOptions with AI_SESSION_CREATE so the first turn starts with the chosen config instead of the agent default, and bump @shellular/protocol to 0.0.31 for the field. * fix: re-use ticket on re-connects for speed * fix: new chat prompt should not get cleared on reconnect * fix(chat): stop selection jumping and copy burying the answer Two issues reported on Android with a long OpenCode response: Selecting text and dragging down jumped the selection to the top of the conversation. A selection drag is auto-scrolled by the WebView, which fires `scroll` but not `wheel`/`touchmove` — the events wired to scroll-intent — so the top sentinel came into view, prepended ~30 older messages, and corrected scrollTop out from under the drag. Suppress load-more, auto-scroll, and stick-to-bottom while a selection is active in the transcript. Copying a response also copied the reasoning and every tool call with its full JSON input/output, burying the actual answer. The message copy button now emits only the answer; each folded section (reasoning, tool call, tool-call group, command) carries its own copy button, so nothing became unreachable. * feat: Add git tree view for changes (shellular-org#46) * feat: git tree view for changes * chore: update diffs & increment version --------- Co-authored-by: Biraj <biraj.pub@gmail.com> --------- Co-authored-by: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com>
v0.0.41: prompt queue & check git changes from chat page
biraj21
reviewed
Aug 20, 2026
biraj21
approved these changes
Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A plain clone cannot run
pnpm devat all right now, and a dev server that only ever binds the LAN IP cannot be reached when the editor sits on another machine. This fixes both, in three files and without changing a single default, so the phone-on-the-same-Wi-Fi flow stays exactly as it is. Closes #63.existsSyncon../packages/protocol/dist/index.jsdecides whether to alias at all; present and it behaves exactly as before, absent and webpack resolves@shellular/protocolfromnode_modulesthe way the production build already does.dev/start.jstakes--host,--port,--httpand--headless, withSHELLULAR_DEV_HOSTandSHELLULAR_DEV_PORTas environment equivalents. Unset,getIp()andgetPort()decide as before.httpsbecomes a webpack env flag. It used to be derived fromplatform === "browser"in three separate places, the dev-serverserveroption, the HMRwebSocketURLprotocol and theORIGINthatboot.tsredirects to, which is why turning TLS off needed one flag rather than three.dev/browser/start.jsprints the URL and honoursopen: false, so a headless box tells you where the server is instead of failing to launch a browser.Testing
pnpm dev browserunchanged: LAN IP, port 7977, https, browser opens.pnpm dev androidunchanged.binds loopback, serves plain HTTP, prints the URL, HMR connects over
ws, and the app boots through a VS Code Remote forwarded port withwindow.isSecureContexttrue, so OPFS and WebCrypto work.Before you merge
If anything here should be different, tell me and I will take care of it. Part of this touches your own daily workflow, so I would rather change it than have it sit.