8000 feat(desktop): Lens.app for macOS, a menu-bar app that carries microsandbox by adeelahmad · Pull Request #280 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(desktop): Lens.app for macOS, a menu-bar app that carries microsandbox - #280

Merged
adeelahmad merged 6 commits into
mainfrom
claude/project-thread-7f9uep
Oct 11, 2026
Merged

adeelahmad merged 6 commits into
mainfrom
claude/project-thread-7f9uep

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Before: on a Mac, Lens is installed from a terminal line or the "Install Lens.app" launcher, which only opens the web installer in the browser; nothing stays around to start, stop or update Lens, and microsandbox is downloaded during install.

After: each release carries Lens-macOS-arm64.dmg. Lens.app (Tauri) carries microsandbox; the first launch shows the web installer inside the app's window with microsandbox chosen, then opens Lens in the browser. It stays in the menu bar with Open, Start, Stop, Update, Show Window, Show Logs and Quit.

Lens opens in the browser rather than the app's web view because passkeys don't work in an embedded WKWebView for localhost.

How: desktop/src-tauri is a thin Rust shell (window, tray, navigation guard); desktop/resources/lens-app.sh does the work (install msb from the bundle into ~/.microsandbox, run install.sh with LENS_WIZARD=1, start via .lens-sandbox or Compose, update by rerunning install.sh) and talks to the app with @status/@show/@open/@error lines. The web installer gains LENS_BACKEND_DEFAULT (preselects microsandbox where it runs) and honours LENS_NO_OPEN. New Desktop workflow: helper checks on Ubuntu; on macos-latest it downloads the latest microsandbox darwin-aarch64 release, verifies checksums, lints (fmt, clippy -D warnings), builds .app + .dmg, uploads the artifact and attaches it to releases (Release workflow dispatches it). Signing/notarizing kicks in only if APPLE_* secrets exist.

🤖 Generated with Claude Code

https://claude.ai/code/session_014VrJQhkYVDyhgVQcok4neG


Generated by Claude Code

…andbox

A Tauri app (desktop/) built as a .dmg on a Mac runner and attached to each release. The first launch puts the bundled
microsandbox in ~/.microsandbox and shows the web installer in the app's window with microsandbox chosen; later
launches start Lens and open it in the browser (passkeys need one). The menu-bar item opens, starts, stops and updates
Lens. The web installer takes LENS_BACKEND_DEFAULT and honours LENS_NO_OPEN.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014VrJQhkYVDyhgVQcok4neG
@adeelahmad adeelahmad self-assigned this Oct 10, 2026
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014VrJQhkYVDyhgVQcok4neG
The v0.7.0 release bumped the backend version without regenerating nextjs-frontend/openapi.json, so pre-commit's
generate-openapi-schema hook failed on every PR. Regenerated with commands.generate_openapi_schema.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014VrJQhkYVDyhgVQcok4neG
desktop/project.json gives Nx lint (sh -n, shellcheck) and test (resources/check-lens-app.sh, the helper checks the
Desktop workflow ran inline), so CI's Other projects job checks the app whenever desktop/ changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014VrJQhkYVDyhgVQcok4neG
@adeelahmad
adeelahmad merged commit fbb2f60 into main Oct 11, 2026
20 checks passed
@adeelahmad
adeelahmad deleted the claude/project-thread-7f9uep branch October 11, 2026 03:58
adeelahmad added a commit that referenced this pull request Oct 11, 2026
The README's Install section points Mac users with Apple silicon to Lens.app (#280, #352), labelled early since it
isn't signed yet, and "In progress" drops it.


Claude-Session: https://claude.ai/code/session_01HDx7PPUauyjMn1LZs8JAsS

Co-authored-by: Adeel Ahmad <noreply@anthropic.com>
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

0