Skip to content
This repository was archived by the owner on Oct 10, 2025. It is now read-only.
This repository was archived by the owner on Oct 10, 2025. It is now read-only.

Session not saved after updateUser() #709

@imageck

Description

@imageck

Bug report

  • I confirm this is a bug with Supabase, not with my own application.
  • I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug

Local session is not updated after calling updateUser(). The session data remains the same.

To Reproduce

Steps to reproduce the behavior, please provide code snippets or a repository:

  1. Have some metadata to update, e.g. posts.
  2. updateUser({ data: { posts: count + 1 } }) after user successfully creates a new post.
  3. Read the user metadata with useUser or reload the page.
  4. The count is not increased.

Expected behavior

Client-side session data and token should be updated to reflect the changes.

System information

  • Version of supabase-js: 2.25.0
  • Version of Node.js: 18.16.1

Additional context

After a PUT request to update the user, the retrieved session data is supposed to be saved locally with _saveSession(). That, in turn, hands it down to _persistSession(). During a debugger session, first two arguments to setItemAsync(this.storage, this.storageKey, currentSession) appear to be undefined. This could be the reason why the JWT remains outdated client-side.

It appears that the new session data is lost in stringifySupabaseSession(). As you can see, it only returns a select number of items, the rest is extracted from the current token. So when it's time to modify the session cookie, the new session data is mixed with the old one. As a result, most of the data modified in updateUser() is not recorded in the cookie. https://github.com/supabase/auth-helpers/blob/6e5b5b37dacd07ca74f7486419dda6b10bf14730/packages/shared/src/utils/cookies.ts#L69

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions