This repository was archived by the owner on Jun 23, 2026. It is now read-only.
merge main to dev - #67
Merged
Merged
Conversation
- 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
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
No description provided.