-
Notifications
You must be signed in to change notification settings - Fork 2k
Venice Web source always reports "session cookie not found" — venice.ai sign-in now uses Clerk #3940
Copy link
Copy link
Closed
Labels
P0Emergency: data loss, security bypass, crash loop, or unusable core runtime.Emergency: data loss, security bypass, crash loop, or unusable core runtime.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerThis issue is about auth, provider routing, model choice, or SecretRef resolution.This issue is about auth, provider routing, model choice, or SecretRef resolution.impact:ux-release-blockerA non-technical user is blocked without terminal, logs, config, or support.A non-technical user is blocked without terminal, logs, config, or support.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Activity
Metadata
Metadata
Assignees
Labels
P0Emergency: data loss, security bypass, crash loop, or unusable core runtime.Emergency: data loss, security bypass, crash loop, or unusable core runtime.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerThis issue is about auth, provider routing, model choice, or SecretRef resolution.This issue is about auth, provider routing, model choice, or SecretRef resolution.impact:ux-release-blockerA non-technical user is blocked without terminal, logs, config, or support.A non-technical user is blocked without terminal, logs, config, or support.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Summary
With Source: Web, the Venice provider reports
Venice browser session cookie not found. Sign in to venice.ai in your browser.even while signed in to venice.ai in Chrome.The Web path only recognises the
__venice-auth.session-tokencookie family (VeniceCookieHeader.isSessionCookieName). A fresh venice.ai sign-in no longer sets that cookie. It sets Clerk cookies instead. BecauseVeniceWebUsageFetcher.requireSessionCookieHeaderapplies the same filter, Manual cookie mode is affected too.Environment
mainat5f70bfcSteps to reproduce
codexbar usage --provider venice --source web --format json.Expected: subscription-credit details, as added in #3474.
Actual:
missingCredentials→ "Venice browser session cookie not found."Evidence
Cookie names only for
venice.aiafter sign-in (no cookie values were read or decrypted):venice.ai__session,__session_<suffix>,clerk_active_<suffix>.venice.ai__client_uat,__client_uat_<suffix>.clerk.venice.ai__client(HttpOnly)venice.ai(leftover)__Host-authjs.csrf-token,__Secure-authjs.callback-urlThere are no
__venice-auth.session-tokenor__venice-auth.session-token.Ncookies. The leftover Auth.js cookies suggest venice.ai moved from Auth.js to Clerk.The current venice.ai web client (public JS bundle) still calls
https://outerface.venice.ai/api/user/sessionand still validates the response as{ token: string }. It now authenticates that call withAuthorization: Bearer <Clerk session token>fromClerk.session.getToken(), alongsidecredentials: "include". An unauthenticatedGETreturns401with a JSON{ "error": ... }body.Not verified
/api/user/sessionaccepts the Clerk token from a non-browser client, either as a Bearer header or as a__sessioncookie.tokenstill carries thebundledCreditsUsageclaims the parser expects.I didn't send a real session to confirm either point. I'm happy to run a probe build if that helps.
Possible directions (your call)
__sessionas a Bearer token. Accept__sessionand__session_<suffix>, then send the value asAuthorization: Bearerto/api/user/session. Clerk session tokens expire after 60 seconds, and the browser only refreshes the cookie while a venice.ai tab is active. Most background refreshes would probably hit the existingexpiredSessionpath.__clientcookie, which is HttpOnly and set on the Clerk frontend-API host. This is durable, but it reads a more privileged credential than the Web source reads today. That trade-off seems like a maintainer decision.A synthetic parser test for directions 1 and 2 might look like this (fake values):
Related: #3474 (Web credits), #3804 (shared browser cookie import).