🪻 distributed transcription service thistle.dunkirk.sh
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: deterministic avatar string

+12 -2
+12 -2
src/lib/auth.ts
··· 74 74 password: string, 75 75 name?: string, 76 76 ): Promise<User> { 77 + // Generate deterministic avatar from email 78 + const encoder = new TextEncoder(); 79 + const data = encoder.encode(email.toLowerCase()); 80 + const hashBuffer = await crypto.subtle.digest("SHA-256", data); 81 + const hashArray = Array.from(new Uint8Array(hashBuffer)); 82 + const avatar = hashArray 83 + .map((b) => b.toString(16).padStart(2, "0")) 84 + .join("") 85 + .substring(0, 16); 86 + 77 87 const result = db.run( 78 - "INSERT INTO users (email, password_hash, name) VALUES (?, ?, ?)", 79 - [email, password, name ?? null], 88 + "INSERT INTO users (email, password_hash, name, avatar) VALUES (?, ?, ?, ?)", 89 + [email, password, name ?? null, avatar], 80 90 ); 81 91 82 92 const user = db