`useUser` has a differently typed user object than `currentUser` and `clerkClient.users.getUser`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- nextjs, react, typescript
- Área
- authentication, backend
Línea de trabajo
Empieza comparando los tipos usados en packages/react/src/hooks/useUser.ts y packages/nextjs/src/app-router/server/currentUser.ts, tal como se indica en el informe. Se considera completado cuando useUser().user y currentUser() exponen el mismo tipo User, incluidas propiedades como primaryEmailAddress y fullName, de forma coherente con la documentación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.8k
- Forks
- 472
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 222
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de clerk/javascript
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
clerk/javascript#9611 · 1 comentario ·
-
clerk/javascript#9891 · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 64/100
clerk/javascript#9775 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
clerk/javascript#9770 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
clerk/javascript#9667 · 1 comentario ·
Todos los issues de clerk/javascript
Issues similares
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Crush Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/cln-application#167 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100