Add additional Sentry error capture and refine profile data update logic

This commit is contained in:
MartinBraquet
2026-03-30 23:14:24 +02:00
parent cfaac3e3fa
commit bded8cc1fe
3 changed files with 6 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@compass/api",
"version": "1.30.0",
"version": "1.30.1",
"private": true,
"description": "Backend API endpoints",
"main": "src/serve.ts",

View File

@@ -134,6 +134,10 @@ export const validate = <T extends z.ZodTypeAny>(schema: T, val: unknown) => {
if (issues.length > 0) {
log.error(issues.map((i) => `${i.field}: ${i.context}`).join('\n'))
}
console.error('Validation failed', {issues, schema, val})
Sentry.captureException(APIErrors.validationFailed(issues), {
extra: {issues, schema, val},
})
throw APIErrors.validationFailed(issues)
} else {
return result.data as z.infer<T>

View File

@@ -79,7 +79,7 @@ function ProfilePageInner(props: {user: User; profile: Profile}) {
debug('parsedProfile', parsedProfile)
const promises: Promise<any>[] = filterDefined([
updateProfile(parsedProfile),
baseUser && updateUser(baseUser),
baseUser && updateUser({name: baseUser.name, username: baseUser.username}),
interests && api('update-options', {table: 'interests', values: interests}),
causes && api('update-options', {table: 'causes', values: causes}),
work && api('update-options', {table: 'work', values: work}),