Skip to content

feat(profile): signup profile fields via @profullstack/profile - #12

Merged
ralyodio merged 1 commit into
mainfrom
feat/profile-fields
Oct 26, 2026
Merged

ralyodio merged 1 commit into
mainfrom
feat/profile-fields

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Adopts @profullstack/profile 0.1.3 (libSQL/SQLite; migrations run on boot).

  • /signup renders renderProfileFields() (no email; the form has its own). /login does not. The optional "Your name" box is replaced by first/last name; users.name is filled from them.
  • POST /api/auth/signup validates with validateProfile before sending the link; the validated profile rides on email_tokens.data_json and consumeEmailToken saves it with saveSignupProfile when the account is created (a failed save never blocks sign-up). Magic sign-in, password login and passkeys unchanged.
  • Migration 3: user_profiles (package schema, sqlite, text key) + idempotent backfill of email and users.name split on the first space.
  • GET/PUT/PATCH /api/v1/me/profile on the authenticated API (same CSRF/origin rules); Profile section on Settings.
  • PROFILE_ENHANCE_SCRIPT served as /assets/profile-enhance.js (PAGE_CSP forbids inline scripts).
  • Tests: new web test for the fields, 400 without a name, storage on confirm, PATCH and CSRF; existing signup tests now send names. 74/74 pass, typecheck clean.

🤖 Generated with Claude Code

/signup asks for first and last name (required) plus company domain, job
title and LinkedIn (optional). The signup handler validates them before the
link is sent; the validated profile rides on the email token and is saved to
user_profiles (migration 3, backfilled from users.name) when the account is
created. GET/PUT/PATCH /api/v1/me/profile, and a Profile section in Settings.
The company-domain helper is served as /assets/profile-enhance.js for the CSP.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​profullstack/​profile@​0.1.37610010091100

View full report

@ralyodio
ralyodio merged commit e3eb694 into main Oct 26, 2026
3 checks passed
@ralyodio
ralyodio deleted the feat/profile-fields branch October 26, 2026 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant