File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 12261226 showControls .set (true );
12271227 }
12281228
1229- // Consume one-shot desktop event (e.g. Spotlight query + attachments )
1229+ // Consume one-shot desktop event (e.g. Spotlight query, call shortcut )
12301230 if ($desktopEvent ) {
1231- const { query, files : eventFiles } = $desktopEvent ;
1231+ const event = $desktopEvent ;
12321232 desktopEvent .set (null );
12331233
1234- // Attach screenshot images from desktop (e.g. Spotlight region capture)
1235- if (eventFiles ?.length ) {
1236- for (const ef of eventFiles ) {
1237- files = [
1238- ... files ,
1239- {
1240- type: ' image' ,
1241- url: ef .dataUrl ,
1242- name: ef .name
1243- }
1244- ];
1234+ if (event .type === ' call' ) {
1235+ showCallOverlay .set (true );
1236+ showControls .set (true );
1237+ } else if (event .type === ' query' ) {
1238+ const query = event .data ?.query ;
1239+ const eventFiles = event .data ?.files ;
1240+
1241+ // Attach screenshot images from desktop (e.g. Spotlight region capture)
1242+ if (eventFiles ?.length ) {
1243+ for (const ef of eventFiles ) {
1244+ files = [
1245+ ... files ,
1246+ {
1247+ type: ' image' ,
1248+ url: ef .dataUrl ,
1249+ name: ef .name
1250+ }
1251+ ];
1252+ }
12451253 }
1246- }
12471254
1248- if (query || eventFiles ?.length ) {
1249- if (query ) {
1250- messageInput ?.setText (query );
1255+ if (query || eventFiles ?.length ) {
1256+ if (query ) {
1257+ messageInput ?.setText (query );
1258+ }
1259+ await tick ();
1260+ submitHandler (query || ' ' );
12511261 }
1252- await tick ();
1253- submitHandler (query || ' ' );
12541262 }
12551263 } else if ($page .url .searchParams .get (' q' )) {
12561264 const q = $page .url .searchParams .get (' q' ) ?? ' ' ;
Original file line number Diff line number Diff line change @@ -116,8 +116,8 @@ export const temporaryChatEnabled = writable(false);
116116// Set by +layout.svelte, consumed and cleared by Chat.svelte.
117117export type DesktopEventFile = { name : string ; mimeType : string ; dataUrl : string } ;
118118export type DesktopEvent = {
119- query ? : string ;
120- files ?: DesktopEventFile [ ] ;
119+ type : string ;
120+ data ?: any ;
121121} ;
122122export const desktopEvent : Writable < DesktopEvent | null > = writable ( null ) ;
123123export const scrollPaginationEnabled = writable ( false ) ;
Original file line number Diff line number Diff line change 712712 return;
713713 }
714714 if (event.type === 'query' && (event.data?.query || event.data?.files?.length)) {
715- desktopEvent.set({ query: event.data.query, files: event.data.files });
715+ desktopEvent.set(event);
716+ await goto('/');
717+ return;
718+ }
719+ if (event.type === 'call') {
720+ desktopEvent.set(event);
716721 await goto('/');
717722 return;
718723 }
You can’t perform that action at this time.
0 commit comments