From 4531cfe47cd39872509e0be4912c8d1f5681f1a4 Mon Sep 17 00:00:00 2001 From: Linus Rath Date: Sun, 12 Apr 2026 01:14:25 +0200 Subject: [PATCH] fix: resolve TS errors from missing createAddressBook in demo client and client ref in thread view --- components/email/thread-conversation-view.tsx | 1 + lib/demo/demo-client.ts | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/components/email/thread-conversation-view.tsx b/components/email/thread-conversation-view.tsx index 27908391..86fa0ce2 100644 --- a/components/email/thread-conversation-view.tsx +++ b/components/email/thread-conversation-view.tsx @@ -88,6 +88,7 @@ export function ThreadConversationView({ const trustedSendersAddressBook = useSettingsStore((state) => state.trustedSendersAddressBook); const isTrustedAddressBookSender = useContactStore((state) => state.isTrustedAddressBookSender); const addToTrustedSendersBook = useContactStore((state) => state.addToTrustedSendersBook); + const { client } = useAuthStore(); // Track which emails are expanded (most recent by default) const [expandedIds, setExpandedIds] = useState>(new Set()); diff --git a/lib/demo/demo-client.ts b/lib/demo/demo-client.ts index ef3e28c5..2870a074 100644 --- a/lib/demo/demo-client.ts +++ b/lib/demo/demo-client.ts @@ -481,6 +481,12 @@ export class DemoJMAPClient implements IJMAPClient { async getAddressBooks(): Promise { return [...this.data.addressBooks]; } async getAllAddressBooks(): Promise { return [...this.data.addressBooks]; } + async createAddressBook(name: string): Promise { + const book: AddressBook = { id: `demo-book-${Date.now()}`, name }; + this.data.addressBooks.push(book); + return book; + } + async updateAddressBook(addressBookId: string, updates: Partial): Promise { const book = this.data.addressBooks.find(b => b.id === addressBookId); if (book) Object.assign(book, updates);