4 | The login attempt was unsuccessful. Please verify your email, or try 5 | signing in with Google. 6 |
7 | Go back to login page 8 |15 | {board.name} Syncing... 16 |
17 |
19 | Synchronizing your data with this device
20 |
20 | Oops! Page Not Found 21 |
22 |23 | The page you're looking for doesn't seem to exist. It might have 24 | been moved, deleted, or maybe you just mistyped the URL. 25 |
26 |
16 | Hi there!
17 |
18 | We noticed a request to sign into your Syncwave account.
19 | If this wasn't you, no worries—just ignore this email.
20 |
21 | Your one-time code is (expires in 10 minutes): ${params.code}
22 |
23 | Have a great day!
24 | The Syncwave Team
25 |
You have been invited to join the board ${params.boardName} in Syncwave. Click on the link to accept the invitation: ${boardUrl}
`, 55 | }); 56 | }); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /packages/lib/src/data/repos/user-repo.ts: -------------------------------------------------------------------------------- 1 | import {type Static, Type} from '@sinclair/typebox'; 2 | import {type CrdtDiff} from '../../crdt/crdt.js'; 3 | import {type AppTransaction, isolate} from '../../kv/kv-store.js'; 4 | import {type Brand} from '../../utils.js'; 5 | import {createUuid, Uuid} from '../../uuid.js'; 6 | import type {DataTriggerScheduler} from '../data-layer.js'; 7 | import {ObjectKey} from '../infrastructure.js'; 8 | import type {TransitionChecker} from '../transition-checker.js'; 9 | import { 10 | CrdtRepo, 11 | type OnCrdtChange, 12 | type QueryOptions, 13 | type Recipe, 14 | } from './base/crdt-repo.js'; 15 | import {Doc} from './base/doc.js'; 16 | 17 | export function UserId() { 18 | return UuidManage columns
49 |50 | Add, edit, or reorder columns to organize your board layout 51 |
52 |