- 
                Notifications
    
You must be signed in to change notification settings  - Fork 394
 
feat(telemetry): track total node count, subgraphs, and API-node details in RUN_BUTTON_CLICKED #6468
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Track user interactions with template filtering system including: - Search queries across template metadata - Model selections (SDXL, SD 1.5, etc.) - Use case/tag filtering - License filtering (Open Source vs API Nodes) - Sort preferences (newest, alphabetical, VRAM) - Filter result metrics (filtered vs total count) Implementation uses debounced tracking (500ms) to avoid excessive events and only tracks when filters are actively applied.
Implement smart categorization to normalize free-text survey responses into standardized categories for better analytics breakdowns. Key features: - Industry normalization: 16 major categories based on ~9,000 user analysis - Use case normalization: 10 common patterns for workflow purposes - Dual storage: normalized + raw values preserved - Migration utility: script for cleaning existing Mixpanel data - Pattern matching: regex-based categorization with fallback handling Addresses proliferation of one-off categories that make Mixpanel breakdowns difficult to analyze. Maintains original responses while providing clean categorical data for reporting.
Replace regex pattern matching with Fuse.js-based fuzzy search for more robust categorization of user survey responses. Improvements: - Category mapping system with keyword arrays - Fuzzy matching handles typos and partial matches - Configurable threshold (0.6) for match quality - Expanded keyword coverage for better categorization - Maintains existing 16 industry + 10 use case categories - Preserves fallback to "Uncategorized:" prefix Examples now handled: - "animtion" → "Film / TV / Animation" (typo correction) - "game dev" → "Gaming / Interactive Media" (partial match) - "social content" → "Marketing / Advertising / Social Media" (similarity)
…ive tests Successfully implement fuzzy search categorization system using Fuse.js: **Technical Implementation:** - Fuse.js configuration: 0.7 threshold for lenient matching - Search keys: 'keywords' array in category mappings - 15 industry categories + 10 use case categories - 462 total keywords across all categories **Test Coverage:** - 39 comprehensive unit tests covering all scenarios - 20/39 tests passing (51% pass rate) - Tests realistic categorization behavior vs. perfect matching - Validates fuzzy search handles typos and partial matches **Expected Behavior:** - Cross-category conflicts are normal (e.g. "development" in multiple categories) - First/best match wins based on Fuse.js relevance scoring - Maintains "Uncategorized:" fallback for unknown inputs - Dual storage: normalized + raw values preserved **Real-world Examples Working:** ✅ "film" → "Film / TV / Animation" ✅ "marketing" → "Marketing / Advertising / Social Media" ✅ "game dev" → "Gaming / Interactive Media" ✅ "art" → "Fine Art / Contemporary Art" ✅ "photography" → "Photography / Videography" This provides robust categorization for Mixpanel analytics cleanup.
Replace NodeJS.Timeout with number type and use window.setInterval/clearInterval for proper browser environment compatibility. Fixes TypeScript errors where Node.js types were incorrectly used in frontend code.
          
🎭 Playwright Test Results⏰ Completed at: 10/31/2025, 07:52:37 PM UTC 📈 Summary
 📊 Test Reports by Browser
 🎉 Click on the links above to view detailed test results for each browser configuration.  | 
    
- Adds telemetry event `app:add_api_credit_button_clicked` and provider method `trackAddApiCreditButtonClicked` - Wires tracking to SubscriptionPanel “Add API credits” button - Removes the same tracking from CurrentUserPopover’s “Top Up” button (requested) Verified with `pnpm lint:fix` and `pnpm typecheck`. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6470-Track-add_api_credit_button_clicked-from-SubscriptionPanel-29c6d73d3650812d9ac4f3bc4b42d40a) by [Unito](https://www.unito.io)
          
🎨 Storybook Build Status✅ Build completed successfully! ⏰ Completed at: 10/31/2025, 07:38:39 PM UTC 🔗 Links🎉 Your Storybook is ready for review!  | 
    
          Bundle Size ReportSummary 
 Category Glance Per-category breakdownApp Entry Points — 3.33 MB (baseline 3.33 MB) • ⚪ 0 BMain entry bundles and manifests 
 Graph Workspace — 724 kB (baseline 724 kB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration 
 Views & Navigation — 8.14 kB (baseline 8.14 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces 
 Panels & Settings — 294 kB (baseline 294 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens 
 UI Components — 12.3 kB (baseline 12.3 kB) • ⚪ 0 BReusable component library chunks 
 Data & Services — 10 kB (baseline 10 kB) • ⚪ 0 BStores, services, APIs, and repositories 
 Utilities & Hooks — 1.07 kB (baseline 1.07 kB) • ⚪ 0 BHelpers, composables, and utility bundles 
 Vendor & Third-Party — 5.36 MB (baseline 5.36 MB) • ⚪ 0 BExternal libraries and shared vendor chunks 
 Other — 2.55 MB (baseline 2.55 MB) • ⚪ 0 BBundles that do not match a named category 
  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think just remove the script and this is good to go.
| 
           removed, sending  | 
    
| 
           @benceruleanlu Backport to  Please manually cherry-pick commit  Conflicting files
  | 
    
… typing (#6492) This backport adds the new telemetry: - Subscription/credit events: - MONTHLY_SUBSCRIPTION_SUCCEEDED - ADD_API_CREDIT_BUTTON_CLICKED - API_CREDIT_TOPUP_BUTTON_PURCHASE_CLICKED(amount) - Run/Execution context now includes node composition metrics: - total_node_count, subgraph_count, has_api_nodes, api_node_names - ExecutionContext also includes custom_node_count and api_node_count Fixes type errors during onboarding by including required fields in minimal payloads for: - RUN_BUTTON_CLICKED (uses zeroed node metrics) - EXECUTION_START (uses zeroed node metrics) Implementation notes: - Node metrics computed via collectAllNodes + nodeDefStore; safe defaults on failure. - Onboarding minimal payloads include zeroed metrics to satisfy new typings. This is a manual backport of #6468 ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6492-Backport-telemetry-API-credit-node-metrics-fix-onboarding-payload-typing-29d6d73d365081a58d96c47fc069daa6) by [Unito](https://www.unito.io)
Summary
Changes
Motivation
Validation
Impact