Skip to content
This repository was archived by the owner on Jun 23, 2026. It is now read-only.

merge main to dev - #67

Merged
BarneyChambers merged 6 commits into
devfrom
main
Jun 16, 2026
Merged

merge main to dev#67
BarneyChambers merged 6 commits into
devfrom
main

Conversation

@BarneyChambers

Copy link
Copy Markdown
Collaborator

No description provided.

CastilloLuis and others added 6 commits June 15, 2026 18:09
- Introduced Mixpanel for analytics tracking, including a custom "Page Viewed" event to unify reporting across the app and marketing site.
- Implemented first-touch attribution logic to capture and store marketing context (UTM parameters, referrer) in localStorage.
- Updated environment configuration to derive Mixpanel project tokens based on the deployment environment.
- Added a new `PageViewTracker` component to handle page view events on route changes.
- Updated `.env.example` to include analytics configuration options.
- Added necessary dependencies for Mixpanel and related utilities in `package.json` and `package-lock.json`.
- Created new files for analytics logic and attribution handling in the core analytics directory.
Add Mixpanel analytics integration and first-touch attribution
The shared ui.ts prompt() (Clack p.text) and confirm() (Clack p.confirm) read
process.stdin, which can't receive input in curl|bash / remote contexts on
macOS/Bun — so DO readiness prompts like "Press Enter after … to re-check"
(and Ctrl-C) did nothing. Same root cause as the key-paste/openclaw hangs.

- prompt() now reads a visible line from /dev/tty (readLineFromTTY), falling
  back to the Clack/process.stdin reader only when /dev/tty is unavailable.
- confirm() now reads Yes/No from /dev/tty via pickToTTY.
- Generalize the proven /dev/tty reader into readLineViaTTY({echo}) shared by
  the hidden (API key) and visible (prompt) variants; Ctrl-C/Esc cancel.
Route shared prompt() and confirm() through /dev/tty (fix input hang in DO/remote prompts)
selectFromList (used by all cloud providers for region/size selection) and the
DigitalOcean "switch account?" confirm used Clack's process.stdin reader, which
can't receive input in curl|bash / remote contexts (the input-hang bug). Route
them through pickToTTY.

Add a non-interactive guard to pickToTTY: when AGENTSEA_NON_INTERACTIVE=1 it
returns the default instead of blocking on a /dev/tty read — so headless/CI runs
(and tests) never hang on a picker.
Route cloud region/size pickers + DO account confirm through /dev/tty
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
grid-spawn-ui Ready Ready Preview Jun 16, 2026 10:44am

Request Review

@BarneyChambers
BarneyChambers merged commit 845c25b into dev Jun 16, 2026
4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants