diff --git a/apps/desktop/src/components/right-panel/components/chat/chat-input.tsx b/apps/desktop/src/components/right-panel/components/chat/chat-input.tsx index 0f15a02210..cc6e1b1370 100644 --- a/apps/desktop/src/components/right-panel/components/chat/chat-input.tsx +++ b/apps/desktop/src/components/right-panel/components/chat/chat-input.tsx @@ -264,8 +264,7 @@ export function ChatInput( .chat-editor .tiptap-normal { padding: 12px 40px 12px 12px !important; min-height: 50px !important; - max-height: 50px !important; - overflow-y: auto !important; + max-height: 80px!important; font-size: 14px !important; line-height: 1.5 !important; } @@ -283,7 +282,7 @@ export function ChatInput( } .chat-editor .tiptap-normal p { margin: 0 !important; - display: inline !important; + display: block !important; } .chat-editor .mention { color: #3b82f6 !important; @@ -323,7 +322,8 @@ export function ChatInput( `} -
+ {/* Make the editor area flex-grow and scrollable */} +
-
+ {/* Bottom area stays fixed */} +
{entityId ? ( {(currentView === "transcript") ? : } diff --git a/apps/desktop/src/components/settings/views/integrations.tsx b/apps/desktop/src/components/settings/views/integrations.tsx index b3e1a80213..e79ade97a1 100644 --- a/apps/desktop/src/components/settings/views/integrations.tsx +++ b/apps/desktop/src/components/settings/views/integrations.tsx @@ -108,8 +108,14 @@ export default function IntegrationsComponent() { } }); + // store initial base url even if it's not by the user + const currentValues = form.getValues(); + if (getBaseUrl.isSuccess && !getBaseUrl.data && currentValues.baseUrl) { + obsidianCommands.setBaseUrl(currentValues.baseUrl); + } + return () => subscription.unsubscribe(); - }, [form]); + }, [form, getBaseUrl.isSuccess, getBaseUrl.data]); return (
diff --git a/apps/desktop/src/components/toolbar/buttons/share-button.tsx b/apps/desktop/src/components/toolbar/buttons/share-button.tsx index 7392924b23..2d4be60077 100644 --- a/apps/desktop/src/components/toolbar/buttons/share-button.tsx +++ b/apps/desktop/src/components/toolbar/buttons/share-button.tsx @@ -163,7 +163,14 @@ function ShareButtonInNote() { } else if (optionId === "pdf") { result = await exportHandlers.pdf(session); } else if (optionId === "email") { - result = await exportHandlers.email(session); + try { + // fetch participants directly, bypassing cache + const freshParticipants = await dbCommands.sessionListParticipants(param.id); + result = await exportHandlers.email(session, freshParticipants); + } catch (participantError) { + console.warn("Failed to fetch participants, sending email without them:", participantError); + result = await exportHandlers.email(session, undefined); + } } else if (optionId === "obsidian") { sessionTags.refetch(); sessionParticipants.refetch(); @@ -438,7 +445,10 @@ const exportHandlers = { return { type: "pdf", path }; }, - email: async (session: Session): Promise => { + email: async ( + session: Session, + sessionParticipants?: Array<{ full_name: string | null; email: string | null }>, + ): Promise => { let bodyContent = "Here is the meeting summary: \n\n"; if (session.enhanced_memo_html) { @@ -449,9 +459,30 @@ const exportHandlers = { bodyContent += "No content available"; } + if (sessionParticipants && sessionParticipants.length > 0) { + const participantNames = sessionParticipants + .filter(p => p.full_name) + .map(p => p.full_name) + .join(", "); + + if (participantNames) { + bodyContent += `\n\nMeeting Participants: ${participantNames}`; + } + } + bodyContent += "\n\nSent with Hyprnote (www.hyprnote.com)\n\n"; - const url = `mailto:?subject=${encodeURIComponent(session.title)}&body=${encodeURIComponent(bodyContent)}`; + const participantEmails = sessionParticipants + ?.filter(participant => participant.email && participant.email.trim()) + ?.map(participant => participant.email!) + ?.join(",") || ""; + + const subject = encodeURIComponent(session.title); + const body = encodeURIComponent(bodyContent); + + const to = participantEmails ? `&to=${encodeURIComponent(participantEmails)}` : ""; + + const url = `mailto:?subject=${subject}&body=${body}${to}`; return { type: "email", url }; }, diff --git a/apps/desktop/src/locales/en/messages.po b/apps/desktop/src/locales/en/messages.po index 4cce9aad90..ea1a455a8c 100644 --- a/apps/desktop/src/locales/en/messages.po +++ b/apps/desktop/src/locales/en/messages.po @@ -407,7 +407,7 @@ msgstr "API Base URL" #: src/components/welcome-modal/custom-endpoint-view.tsx:361 #: src/components/welcome-modal/custom-endpoint-view.tsx:438 #: src/components/welcome-modal/custom-endpoint-view.tsx:518 -#: src/components/settings/views/integrations.tsx:197 +#: src/components/settings/views/integrations.tsx:203 #: src/components/settings/components/ai/llm-custom-view.tsx:277 #: src/components/settings/components/ai/llm-custom-view.tsx:373 #: src/components/settings/components/ai/llm-custom-view.tsx:479 @@ -448,11 +448,11 @@ msgstr "Autonomy Selector" msgid "Back" msgstr "Back" -#: src/components/settings/views/integrations.tsx:246 +#: src/components/settings/views/integrations.tsx:252 msgid "Base Folder" msgstr "Base Folder" -#: src/components/settings/views/integrations.tsx:173 +#: src/components/settings/views/integrations.tsx:179 msgid "Base URL" msgstr "Base URL" @@ -573,7 +573,7 @@ msgstr "Connect to a self-hosted or third-party LLM endpoint (OpenAI API compati #~ msgid "Connect to a self-hosted or third-party LLM endpoint (OpenAI API compatible)." #~ msgstr "Connect to a self-hosted or third-party LLM endpoint (OpenAI API compatible)." -#: src/components/settings/views/integrations.tsx:121 +#: src/components/settings/views/integrations.tsx:127 msgid "Connect with external tools and services to enhance your workflow" msgstr "Connect with external tools and services to enhance your workflow" @@ -589,7 +589,7 @@ msgstr "Connect your calendar and contacts for a better experience" msgid "Connect your calendar and track events" msgstr "Connect your calendar and track events" -#: src/components/settings/views/integrations.tsx:133 +#: src/components/settings/views/integrations.tsx:139 msgid "Connect your Obsidian vault to export notes" msgstr "Connect your Obsidian vault to export notes" @@ -742,7 +742,7 @@ msgstr "Emoji" msgid "Enable" msgstr "Enable" -#: src/components/settings/views/integrations.tsx:147 +#: src/components/settings/views/integrations.tsx:153 msgid "Enable Integration" msgstr "Enable Integration" @@ -896,7 +896,7 @@ msgstr "Important Q&As" #~ msgstr "Integration with other apps like Notion and Google Calendar" #: src/routes/app.settings.tsx:66 -#: src/components/settings/views/integrations.tsx:118 +#: src/components/settings/views/integrations.tsx:124 msgid "Integrations" msgstr "Integrations" @@ -1053,7 +1053,7 @@ msgstr "Model Name" #~ msgid "Monthly" #~ msgstr "Monthly" -#: src/components/settings/views/integrations.tsx:272 +#: src/components/settings/views/integrations.tsx:278 msgid "More integrations coming soon..." msgstr "More integrations coming soon..." @@ -1142,7 +1142,7 @@ msgstr "No upcoming events with this contact" msgid "Notifications" msgstr "Notifications" -#: src/components/settings/views/integrations.tsx:130 +#: src/components/settings/views/integrations.tsx:136 msgid "Obsidian" msgstr "Obsidian" @@ -1181,7 +1181,7 @@ msgstr "OpenAI" msgid "OpenRouter" msgstr "OpenRouter" -#: src/components/settings/views/integrations.tsx:255 +#: src/components/settings/views/integrations.tsx:261 msgid "Optional base folder path within your Obsidian vault." msgstr "Optional base folder path within your Obsidian vault." @@ -1496,11 +1496,11 @@ msgstr "Templates" #~ msgid "The AI Meeting Notepad" #~ msgstr "The AI Meeting Notepad" -#: src/components/settings/views/integrations.tsx:182 +#: src/components/settings/views/integrations.tsx:188 msgid "The base URL of your Obsidian server. This is typically http://127.0.0.1:27123." msgstr "The base URL of your Obsidian server. This is typically http://127.0.0.1:27123." -#: src/components/settings/views/integrations.tsx:231 +#: src/components/settings/views/integrations.tsx:237 msgid "The name of your Obsidian vault." msgstr "The name of your Obsidian vault." @@ -1552,7 +1552,7 @@ msgstr "Toggle transcriptpanel" msgid "Transcription" msgstr "Transcription" -#: src/components/settings/views/integrations.tsx:150 +#: src/components/settings/views/integrations.tsx:156 msgid "Turn on Obsidian integration to export notes to Obsidian vault." msgstr "Turn on Obsidian integration to export notes to Obsidian vault." @@ -1612,7 +1612,7 @@ msgstr "User" msgid "username" msgstr "username" -#: src/components/settings/views/integrations.tsx:222 +#: src/components/settings/views/integrations.tsx:228 msgid "Vault Name" msgstr "Vault Name" @@ -1637,7 +1637,7 @@ msgstr "We think different." #~ msgid "We'll only use this to follow up if needed." #~ msgstr "We'll only use this to follow up if needed." -#: src/components/settings/views/integrations.tsx:275 +#: src/components/settings/views/integrations.tsx:281 msgid "We're working on adding more tools and services to connect with your workflow" msgstr "We're working on adding more tools and services to connect with your workflow" @@ -1681,7 +1681,7 @@ msgstr "Where Conversations Stay Yours" #~ msgid "You can make Hyprnote takes these words into account when transcribing" #~ msgstr "You can make Hyprnote takes these words into account when transcribing" -#: src/components/settings/views/integrations.tsx:207 +#: src/components/settings/views/integrations.tsx:213 msgid "Your API key for Obsidian local-rest-api plugin." msgstr "Your API key for Obsidian local-rest-api plugin." diff --git a/apps/desktop/src/locales/ko/messages.po b/apps/desktop/src/locales/ko/messages.po index a3af2cf3b6..b936dc74f8 100644 --- a/apps/desktop/src/locales/ko/messages.po +++ b/apps/desktop/src/locales/ko/messages.po @@ -407,7 +407,7 @@ msgstr "" #: src/components/welcome-modal/custom-endpoint-view.tsx:361 #: src/components/welcome-modal/custom-endpoint-view.tsx:438 #: src/components/welcome-modal/custom-endpoint-view.tsx:518 -#: src/components/settings/views/integrations.tsx:197 +#: src/components/settings/views/integrations.tsx:203 #: src/components/settings/components/ai/llm-custom-view.tsx:277 #: src/components/settings/components/ai/llm-custom-view.tsx:373 #: src/components/settings/components/ai/llm-custom-view.tsx:479 @@ -448,11 +448,11 @@ msgstr "" msgid "Back" msgstr "" -#: src/components/settings/views/integrations.tsx:246 +#: src/components/settings/views/integrations.tsx:252 msgid "Base Folder" msgstr "" -#: src/components/settings/views/integrations.tsx:173 +#: src/components/settings/views/integrations.tsx:179 msgid "Base URL" msgstr "" @@ -573,7 +573,7 @@ msgstr "" #~ msgid "Connect to a self-hosted or third-party LLM endpoint (OpenAI API compatible)." #~ msgstr "" -#: src/components/settings/views/integrations.tsx:121 +#: src/components/settings/views/integrations.tsx:127 msgid "Connect with external tools and services to enhance your workflow" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "Connect your calendar and track events" msgstr "" -#: src/components/settings/views/integrations.tsx:133 +#: src/components/settings/views/integrations.tsx:139 msgid "Connect your Obsidian vault to export notes" msgstr "" @@ -742,7 +742,7 @@ msgstr "" msgid "Enable" msgstr "" -#: src/components/settings/views/integrations.tsx:147 +#: src/components/settings/views/integrations.tsx:153 msgid "Enable Integration" msgstr "Enable Integration" @@ -896,7 +896,7 @@ msgstr "" #~ msgstr "" #: src/routes/app.settings.tsx:66 -#: src/components/settings/views/integrations.tsx:118 +#: src/components/settings/views/integrations.tsx:124 msgid "Integrations" msgstr "" @@ -1053,7 +1053,7 @@ msgstr "" #~ msgid "Monthly" #~ msgstr "" -#: src/components/settings/views/integrations.tsx:272 +#: src/components/settings/views/integrations.tsx:278 msgid "More integrations coming soon..." msgstr "" @@ -1142,7 +1142,7 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/settings/views/integrations.tsx:130 +#: src/components/settings/views/integrations.tsx:136 msgid "Obsidian" msgstr "" @@ -1181,7 +1181,7 @@ msgstr "" msgid "OpenRouter" msgstr "" -#: src/components/settings/views/integrations.tsx:255 +#: src/components/settings/views/integrations.tsx:261 msgid "Optional base folder path within your Obsidian vault." msgstr "" @@ -1496,11 +1496,11 @@ msgstr "" #~ msgid "The AI Meeting Notepad" #~ msgstr "" -#: src/components/settings/views/integrations.tsx:182 +#: src/components/settings/views/integrations.tsx:188 msgid "The base URL of your Obsidian server. This is typically http://127.0.0.1:27123." msgstr "" -#: src/components/settings/views/integrations.tsx:231 +#: src/components/settings/views/integrations.tsx:237 msgid "The name of your Obsidian vault." msgstr "" @@ -1552,7 +1552,7 @@ msgstr "" msgid "Transcription" msgstr "" -#: src/components/settings/views/integrations.tsx:150 +#: src/components/settings/views/integrations.tsx:156 msgid "Turn on Obsidian integration to export notes to Obsidian vault." msgstr "" @@ -1612,7 +1612,7 @@ msgstr "" msgid "username" msgstr "" -#: src/components/settings/views/integrations.tsx:222 +#: src/components/settings/views/integrations.tsx:228 msgid "Vault Name" msgstr "" @@ -1637,7 +1637,7 @@ msgstr "" #~ msgid "We'll only use this to follow up if needed." #~ msgstr "" -#: src/components/settings/views/integrations.tsx:275 +#: src/components/settings/views/integrations.tsx:281 msgid "We're working on adding more tools and services to connect with your workflow" msgstr "" @@ -1681,7 +1681,7 @@ msgstr "" #~ msgid "You can make Hyprnote takes these words into account when transcribing" #~ msgstr "" -#: src/components/settings/views/integrations.tsx:207 +#: src/components/settings/views/integrations.tsx:213 msgid "Your API key for Obsidian local-rest-api plugin." msgstr "" diff --git a/plugins/webhook/openapi.json b/plugins/webhook/openapi.json index 074d454e0e..bc33a26426 100644 --- a/plugins/webhook/openapi.json +++ b/plugins/webhook/openapi.json @@ -404,4 +404,4 @@ "description": "Event types and payloads" } ] -} \ No newline at end of file +}