Repository navigation
Track OpenDots browser setup and Intelligence signup usage - #97
Merged
Merged
Conversation
jerelvelarde
marked this pull request as ready for review
October 5, 2026 22:37
jerelvelarde
added a commit
that referenced
this pull request
Oct 6, 2026
* feat(pages): add page deletion with safe subpage reparenting * fix(pages): keep review receipts on delete, drop unused delete tool, cover cleanup in tests * fix(pages): handle deleted reviewed pages, avoid stale draft prompt, document deletion * fix(pages): drop deleted pages from the library and resync reparented children * fix(pages): ignore stale deletion after leaving the page and clear saved receipt on deletion * Track OpenDots browser setup and Intelligence signup usage (#97) * Track OpenDots runtime usage for Intelligence signup reporting * Track browser setup and verify OpenDots reporting in PostHog * fix: distinguish scheduled turns and neutralize task activity logs (#105) * fix: distinguish scheduled turns and neutralize task activity logs * fix: keep scheduled prompt label readable --------- Co-authored-by: Jerel John Velarde <jerel@copilotkit.ai> * fix(research): keep balanced brackets in URLs from the research prompt (#99) * fix(research): keep balanced brackets in URLs from the research prompt Signed-off-by: Charan Rathore <180254320+charan-rathore@users.noreply.github.com> * fix(research): parse Markdown link boundaries when the label is a URL A link like [https://example.com](https://example.com) let the label swallow the destination, so both research adapters received a malformed URL. Split the ]( boundary before matching so the two occurrences are read separately, keeping the balanced-delimiter trimming. Adds the regression test from review. Signed-off-by: Charan Rathore <180254320+charan-rathore@users.noreply.github.com> --------- Signed-off-by: Charan Rathore <180254320+charan-rathore@users.noreply.github.com> * fix: answer 404 for a conversation, call or Dot that does not exist (#98) Signed-off-by: Charan Rathore <180254320+charan-rathore@users.noreply.github.com> * fix: submit the home composer on Enter (#95) Signed-off-by: Charan Rathore <180254320+charan-rathore@users.noreply.github.com> * fix: return 400 instead of 503 for malformed JSON and invalid Space access (#11) * fix: return 400 for malformed JSON and invalid Space access on workspace routes Malformed request bodies on /api/spaces, /api/dots, /api/conversations and /api/voice/calls, and Dot create/update with an unknown Space, fell through to the generic 503 handler, which tells the caller to check server configuration. Return 400 with a specific message instead, matching the page routes. Signed-off-by: asemabdallah <asasem547@gmail.com> * fix: handle malformed request JSON at the body-parsing boundary Catch JSON parse failures where each workspace route reads its request body instead of mapping every SyntaxError to 400 in the global handler. Malformed caller JSON still gets a 400 from the route's schema check, while a SyntaxError raised by an upstream service call stays a 503. Add a regression test for the upstream case. Signed-off-by: asemabdallah <asasem547@gmail.com> --------- Signed-off-by: asemabdallah <asasem547@gmail.com> * style: unify the ink accent, fix text contrast, and clarify disabled states (#82) * style: unify the ink accent, fix contrast, and clarify disabled states The compact-chrome layer moved the app to an ink palette, but primary buttons, focus rings, checkboxes, and setup notes kept the original lavender, so Settings and Contacts looked like a different app. - Primary buttons, focus rings, and checkboxes use one ink accent. - Disabled primary/send/connect buttons look disabled (the send button was near-black at 90% opacity before setup). - Secondary text in setup cards, config notes, and permission rows meets WCAG AA (was ~2.4-2.7:1, now 5.3:1). - Settings shows missing environment variables as code. - Sidebar: Spaces gets the same spacing as Dots, labels stay on one line, and zero-count badges are hidden. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: keep the call view's pale focus ring on its dark surface Review fix: the ink focus outline now excludes controls inside .call-view, so they keep the base #b8c4fa 3px ring instead of a #242424 ring with ~1.3-1.8:1 contrast on the dark call background. Verified in Chromium with keyboard focus: call control #b8c4fa 3px; other controls #242424 2px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> --------- Signed-off-by: Charan Rathore <180254320+charan-rathore@users.noreply.github.com> Signed-off-by: asemabdallah <asasem547@gmail.com> Co-authored-by: Jerel Velarde <85066839+jerelvelarde@users.noreply.github.com> Co-authored-by: Twil3akine <156310846+Twil3akine@users.noreply.github.com> Co-authored-by: Jerel John Velarde <jerel@copilotkit.ai> Co-authored-by: Charan Rathore <180254320+charan-rathore@users.noreply.github.com> Co-authored-by: Asem ahmed <94972604+asasemahmed@users.noreply.github.com> Co-authored-by: Jibran Tahir <107482667+jibraaan@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
OpenDots runtime events lack an application tag, Docker drops the CLI telemetry identity, and the browser setup flow has no installation funnel. This change tags existing SDK events, forwards identity and opt-outs through Compose, and adds browser setup tracking using the existing CopilotKit ingest contract.
Setup views, bounded failure categories, abandonment, and first successful assistant answer are tracked with a persistent installation UUID. The CLI account identity remains authoritative for transport and runtime events. A SQLite queue holds up to 256 events with stable IDs/timestamps, retries offline delivery, bounds shutdown flushing, and clears tracking state on opt-out. The authenticated browser endpoint accepts a closed schema; activation is generated by successful server-side assistant streams and excludes errors, aborts, and timeouts. Setup/settings disclose collection and link to opt-out details.
Four saved HogQL queries cover signup accounts with usage, daily usage, setup events, and installation conversion. Account lookup uses resolved startup/runtime events with the same telemetry ID if a request lacks Clerk enrichment. Queries exclude marked validation probes. Setup and runtime share an installation UUID for the setup-to-account bridge.
Validation:
The PostHog key has query permission, but retries of dashboard and insight access return 403 for missing
dashboard:readandinsight:read. Reporting SQL is prepared and verified but has not been saved to dashboard 664553. Saving charts needs dashboard/insight read-write scopes or the reporting owner.Browser abandonment is best effort before server receipt; accepted events persist and can replay. OpenDots has no native installer or engine/model/harness chooser, so those OpenBot desktop events are not emitted. This associates signup accounts with template usage; it does not prove acquisition source. The shared telemetry event-map catalogue should record the new browser setup events under the existing
oss.runtime.*namespace; no ingest gate change is needed.