Commit Graph

10 Commits

Author SHA1 Message Date
Comfy Org PR Bot
657eadbe7e [backport rh-test] load template workflow via URL query param (#6553)
Backport of #6546 to `rh-test`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6553-backport-rh-test-load-template-workflow-via-URL-query-param-2a06d73d36508134b560dadeb00a4510)
by [Unito](https://www.unito.io)

Co-authored-by: Christian Byrne <cbyrne@comfy.org>
Co-authored-by: Christian Byrne <c.byrne@comfy.org>
2025-11-02 21:29:24 -08:00
Benjamin Lu
48173615aa feat(telemetry): track API credit top-up success via audit events (#6500) (#6520)
Manual backport of
https://github.com/Comfy-Org/ComfyUI_frontend/pull/6500, nothing changed
other than imports and some types

---

Summary
- Add TelemetryEvents.API_CREDIT_TOPUP_SUCCEEDED and provider method
trackApiCreditTopupSucceeded
- Introduce topupTrackerStore to persist pending top-ups per user
(localStorage) and reconcile against recent audit logs
- Hook purchase flow to start tracking before opening Stripe checkout
- Reconcile after fetching audit events (UsageLogsTable) and after
fetchBalance, then emit telemetry, refresh balance, and clear pending
- Minor refactor in customerEventsService to return awaited result

Implementation details
- Matching strategy:
  - Event type: credit_added
  - Time window: createdAt between top-up start time and +24h
  - Amount: if known, e.params.amount must equal expected cents
- Cross-tab/user changes: synchronize via storage event and userId
watcher

Limitations / Follow-up
- Reconciliation fetches only page 1 (limit 10) of events; in
high-volume cases, a recent credit_added could fall outside the first
page
- The window and pagination issue will be "resolved by a followup PR to
core and cloud"

Files touched
- src/stores/topupTrackerStore.ts (new)
- src/components/dialog/content/setting/UsageLogsTable.vue
- src/composables/auth/useFirebaseAuthActions.ts
- src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts
- src/platform/telemetry/types.ts
- src/services/customerEventsService.ts



page](https://www.notion.so/PR-6500-feat-telemetry-track-API-credit-top-up-success-via-audit-events-29e6d73d365081169941efae70cf71fe)
by [Unito](https://www.unito.io)

---------

Co-authored-by: Christian Byrne <chrbyrne96@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6520-feat-telemetry-track-API-credit-top-up-success-via-audit-events-6500-29e6d73d365081a18717ca29546ea050)
by [Unito](https://www.unito.io)

---------

Co-authored-by: Christian Byrne <chrbyrne96@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-01 23:10:18 -07:00
Arjan Singh
9182b1a85a [rh-test] Telemetry Backports (#6522)
## Summary

Resolves issues with #6503

## Changes

- Backport #6400
- Fix circular dependency issue
- Backport #6505

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6522-rh-test-Telemetry-Backports-29e6d73d365081258d10c08299bde69b)
by [Unito](https://www.unito.io)

---------

Co-authored-by: Christian Byrne <cbyrne@comfy.org>
Co-authored-by: Christian Byrne <chrbyrne96@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-01 16:18:48 -07:00
Christian Byrne
dcda95d0ef fix: correct subscription credits test values and improve test stability (#6519)
## Summary
- Fix `useSubscriptionCredits` test to use cents (500) instead of
incorrect micros (5000000)
- Despite API field names containing `micros`, the server actually
returns cents (1/100)
- Add clarifying comment to `usdToMicros()` about the cents vs micros
confusion
- Increase performance test threshold from 10ms to 50ms to reduce
flakiness

## Context
The API response fields are named `amount_micros`,
`cloud_credit_balance_micros`, etc., but the server actually sends
**cents** (1/100 of a dollar), not true micros (1/1,000,000).

Verified with real API response:
```json
{
  "amount_micros": 2725.927956,  // = $27.26 when divided by 100
  "currency": "usd"
}
```

## Changes
-
`tests-ui/tests/platform/cloud/subscription/composables/useSubscriptionCredits.test.ts`:
Update test values from micros to cents
- `packages/shared-frontend-utils/src/formatUtil.ts`: Add clarifying
documentation
- `tests-ui/tests/store/modelToNodeStore.test.ts`: Increase performance
test threshold to reduce flakiness

## Test Plan
-  All unit tests pass (3202 passed, 206 skipped)
-  Linting passes
-  Formatting passes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-01 12:45:29 -07:00
Johnpaul Chiwetelu
556132d3ff Fix unit tests in rh test (#6479)
This pull request makes a minor adjustment to the test setup for
`useSubscriptionCredits`. The change ensures that the actual Pinia store
implementation is used for `firebaseAuthStore` rather than a mocked
version, which can help improve the reliability and accuracy of the
tests.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6479-Fix-unit-tests-in-rh-test-29d6d73d365081be8a54c260b2ce10fe)
by [Unito](https://www.unito.io)
2025-11-01 00:43:15 -07:00
Christian Byrne
daa9aff1f3 [Backport] update subscription panel for new designs (#6397)
## Summary
Backport of PR #6378 to `rh-test` branch.

## Changes
- Extract credit calculations into useSubscriptionCredits composable
- Extract action handlers into useSubscriptionActions composable
- Add comprehensive component and unit tests
- Update subscription panel layout to match Figma design exactly
- Add proper design tokens for modal card surfaces
- Update terminology from "API Nodes" to "Partner Nodes"
- Make credit breakdown dynamic with real API data
- Add proper loading states and error handling
- Remove unused tailwindcss eslint dependencies

## Conflicts Resolved
- Resolved merge conflicts in `packages/design-system/src/css/style.css`
related to button surface CSS variables

## Test plan
- Existing tests pass
- New tests for subscription composables and components

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6397-Backport-update-subscription-panel-for-new-designs-29c6d73d3650812aaa12ff242fd5e078)
by [Unito](https://www.unito.io)

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Johnpaul Chiwetelu <49923152+Myestery@users.noreply.github.com>
2025-10-30 22:11:13 -07:00
Christian Byrne
ecc809c5c0 [backport rh-test] change cloud feature flags to be loaded dynamically at runtime rather than set in build (#6257)
## Summary

Backport of #6246 to `rh-test` branch.

This PR cherry-picks commit d7a58a7a9b to
the `rh-test` branch with merge conflicts resolved.

### Conflicts Resolved

**GraphCanvas.vue:**
- Accepted incoming template structure changes (removed betaMenuEnabled
check, added workflow tabs)
- Added missing imports: TopbarBadges, WorkflowTabs, isNativeWindow
- Added showUI computed property

**cloudBadge.ts:**
- Deleted file (replaced by cloudBadges.ts plural)

**telemetry/types.ts:**
- Merged interface methods from both branches
- Accepted incoming event constant changes (app: prefix)

Original PR: #6246

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6257-backport-rh-test-change-cloud-feature-flags-to-be-loaded-dynamically-at-runtime-rather--2966d73d365081a59daeeb6dfbbf2af5)
by [Unito](https://www.unito.io)
2025-10-24 12:28:56 -07:00
Christian Byrne
b708ebf540 [backport rh-test] add telemetry provider for cloud distribution (#6155)
## Summary
This PR manually backports the telemetry provider implementation to the
rh-test branch after the automated backport failed due to merge
conflicts.


┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6155-Manual-backport-add-telemetry-provider-for-cloud-distribution-2926d73d3650812e94e2fe0bd5e9bc59)
by [Unito](https://www.unito.io)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-19 20:04:57 -07:00
Christian Byrne
a9db25ecc3 [backport rh-test] subscription panel (#6140)
## Summary

Backport of #6064 (subscription page) to the `rh-test` branch.

This PR manually cherry-picks commit
7e1e8e3b65 to the rh-test branch and
resolves merge conflicts that prevented automatic backporting.

## Conflicts Resolved

### 1. `src/components/actionbar/ComfyActionbar.vue`
- **Conflict**: HEAD (rh-test) used `<ComfyQueueButton />` while the
subscription PR introduced `<ComfyRunButton />`
- **Resolution**: Updated to use `<ComfyRunButton />` to include the
subscription functionality wrapper while maintaining the existing
rh-test template structure

### 2. `src/composables/auth/useFirebaseAuthActions.ts`
- **Conflict**: Simple ordering difference in the return statement
- **Resolution**: Used the subscription PR's ordering: `deleteAccount,
accessError, reportError`

## Testing

The cherry-pick completed successfully and passed all pre-commit hooks:
-  ESLint
-  Prettier formatting
- ⚠️ Note: 2 unused i18n keys detected (informational only, same as
original PR)

## Related

- Original PR: #6064
- Cherry-picked commit: 7e1e8e3b65

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6140-backport-subscription-page-to-rh-test-2916d73d365081f38f00df422004f61a)
by [Unito](https://www.unito.io)

Co-authored-by: Terry Jia <terryjia88@gmail.com>
Co-authored-by: GitHub Action <action@github.com>
2025-10-19 00:14:03 -07:00
bymyself
ff0c15b119 merge main into rh-test 2025-09-28 15:33:29 -07:00