diff --git a/apps/backend/src/__tests__/users.test.ts b/apps/backend/src/__tests__/users.test.ts index b550f58..6348ea1 100644 --- a/apps/backend/src/__tests__/users.test.ts +++ b/apps/backend/src/__tests__/users.test.ts @@ -226,7 +226,9 @@ describe('GET /users/search', () => { { id: 'u1', username: 'nowallet', avatarUrl: null, wallets: [] }, ] as any); // eslint-disable-line - const res = await request(app).get('/users/search?q=no').set('Authorization', AUTH_HEADER); + const res = await request(app) + .get('/users/search?q=nowallet') + .set('Authorization', AUTH_HEADER); expect(res.status).toBe(200); expect(res.body[0].primaryWalletAddress).toBeNull(); diff --git a/apps/backend/src/db/schema.ts b/apps/backend/src/db/schema.ts index 9263924..e3b73fb 100644 --- a/apps/backend/src/db/schema.ts +++ b/apps/backend/src/db/schema.ts @@ -142,7 +142,7 @@ export const messageEnvelopes = pgTable( ], ); -// ─── Devices & prekeys (issues #158, #159, #162, #305, #302) ───────────────── +// ─── Devices & prekeys (issues #158, #159, #162) ───────────────────────────── // // Each user may register multiple devices. Each device has an Ed25519 identity // key pair; the public key is stored here for fingerprint derivation and prekey diff --git a/apps/backend/src/lib/messages.ts b/apps/backend/src/lib/messages.ts index 37601c2..58b9392 100644 --- a/apps/backend/src/lib/messages.ts +++ b/apps/backend/src/lib/messages.ts @@ -1,4 +1,4 @@ -type MessageLike = { +export type MessageLike = { id: string; senderId: string; senderDeviceId?: string | null; @@ -11,7 +11,7 @@ type MessageLike = { [key: string]: any; }; -export function serializeMessage( +export function serializeMessage( message: T, ): Omit & { ciphertext: string | null; diff --git a/apps/backend/src/routes/conversations.ts b/apps/backend/src/routes/conversations.ts index 673385b..19c83f4 100644 --- a/apps/backend/src/routes/conversations.ts +++ b/apps/backend/src/routes/conversations.ts @@ -247,7 +247,9 @@ conversationsRouter.get('/:id/members', async (req: AuthRequest, res) => { with: { user: { columns: { id: true, username: true, avatarUrl: true }, - with: { wallets: { columns: { address: true, isPrimary: true } } }, + with: { + wallets: { columns: { address: true, isPrimary: true } }, + }, }, }, })) as ConversationMemberPayload[]; diff --git a/apps/backend/src/socket/messaging.ts b/apps/backend/src/socket/messaging.ts index 9f90bfe..e5378a9 100644 --- a/apps/backend/src/socket/messaging.ts +++ b/apps/backend/src/socket/messaging.ts @@ -488,7 +488,11 @@ export function registerMessagingHandlers(io: Server, socket: AuthSocket): void : eq(messages.conversationId, conversationId), orderBy: desc(messages.createdAt), limit: PAGE_SIZE, - with: { sender: { columns: { id: true, username: true, avatarUrl: true } } }, + with: { + envelopes: true, + senderDevice: true, + sender: { columns: { id: true, username: true, avatarUrl: true } }, + }, }); socket.emit('message_history', {