`useUser` has a differently typed user object than `currentUser` and `clerkClient.users.getUser`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- nextjs, react, typescript
- Ambito
- authentication, backend
Direzione di ricerca
Inizia confrontando i tipi usati in packages/react/src/hooks/useUser.ts e packages/nextjs/src/app-router/server/currentUser.ts, come indicato nel report. Il lavoro è completato quando useUser().user e currentUser() espongono lo stesso tipo User, incluse proprietà come primaryEmailAddress e fullName, in modo coerente con la documentazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Preliminary Checks
-
I have reviewed the documentation: https://clerk.com/docs
-
I have searched for existing issues: https://github.com/clerk/javascript/issues
-
I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
-
This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.
Reproduction / Replay Link
Publishable key
pk_test_1234567890
Description
When developing with Clerk the user objects returned from useUser() and currentUser() are different. Notably primaryEmailAddress and fullName exists in useUser().user, but doesn't exist in currentUser(). This inconsistency makes it more difficult to create shared utils and generally share things across different parts of our application.
The docs claim that these are the same User object, but that is not accurate.
The currentUser helper returns the User object of the currently active user. This is the same User object that is returned by the useUser hook.
The deviation occurs because useUser from clerk-react users clerk-types/UserResource: https://github.com/clerk/javascript/blob/main/packages/react/src/hooks/useUser.ts#L1
And currentUser uses clerk-backend/User: https://github.com/clerk/javascript/blob/main/packages/nextjs/src/app-router/server/currentUser.ts#L1
Expected behavior:
useUser().user and currentUser() should be the same type
Actual behavior:
They are not the same type
Environment
Not relevant and hard to get correct packages from a mono repo, but here it is for the root:
System:
OS: macOS 14.1
CPU: (12) arm64 Apple M2 Max
Memory: 53.19 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.3.1 - ~/.nvm/versions/node/v20.3.1/bin/node
npm: 9.6.7 - ~/.nvm/versions/node/v20.3.1/bin/npm
pnpm: 8.10.0 - ~/.nvm/versions/node/v20.3.1/bin/pnpm
Browsers:
Chrome: 119.0.6045.159
Safari: 17.1
npmPackages:
@babel/preset-typescript: ^7.22.15 => 7.22.15
@commitlint/cli: ^17.6.7 => 17.6.7
@commitlint/config-conventional: ^17.6.7 => 17.6.7
@knnlabs/configs: workspace:* => 0.0.0
@knnlabs/eslint-config-custom: workspace:* => 0.0.0
@trivago/prettier-plugin-sort-imports: ^4.2.0 => 4.2.0
@turbo/gen: ^1.10.12 => 1.10.12
@types/jest: ^29.5.4 => 29.5.4
bun: ^1.0.3 => 1.0.3
eslint: ^8.46.0 => 8.50.0
husky: ^8.0.3 => 8.0.3
jest: ^29.6.4 => 29.6.4
lint-staged: ^13.2.3 => 13.2.3
prettier: ^3.0.0 => 3.0.0
prettier-plugin-prisma: ^5.0.0 => 5.0.0
turbo: ^1.10.16 => 1.10.16
- Lingua principale
- TypeScript
- Stelle
- 1.8k
- Fork
- 472
- Merge medio
- 2g 8h
- PR unite (30g)
- 184
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di clerk/javascript
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
clerk/javascript#9611 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
clerk/javascript#9573 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 64/100
clerk/javascript#9775 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
clerk/javascript#9770 · 3 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
clerk/javascript#9667 · 1 commento ·
Tutte le issue di clerk/javascript
Issue simili
-
Type/Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OpenNSW/nsw-srilanka#497 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
0xMiden/bridge-portal#132 ·
-
react-doctor severity:warning tech-debt
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
digidem/comapeo-cloud-app#403 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100