@flighthq/app 0.3.1-next.975.01aea94 → 0.4.0-edge.1908.751021c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/app.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { App, AppActivationPolicy, AppBackend, AppLoginItem, AppLoginItemLike, AppPathKind, MenuItemTemplate } from '@flighthq/types/contract';
2
+ import type { BackendExplanation } from '@flighthq/types/contract';
2
3
  export declare function addAppRecentDocument(path: string): void;
3
4
  export declare function attachApp(app: App): void;
4
5
  export declare function bounceAppDock(): number;
@@ -7,9 +8,9 @@ export declare function cancelAppDockBounce(id: number): void;
7
8
  export declare function clearAppRecentDocuments(): void;
8
9
  export declare function createApp(): App;
9
10
  export declare function createAppLoginItem(): AppLoginItem;
10
- export declare function createWebAppBackend(): AppBackend;
11
11
  export declare function detachApp(app: App): void;
12
12
  export declare function disposeApp(app: App): void;
13
+ export declare function explainAppBackend(): BackendExplanation;
13
14
  export declare function focusApp(): void;
14
15
  export declare function getAppBackend(): AppBackend;
15
16
  export declare function getAppCommandLine(): readonly string[];
@@ -26,12 +27,15 @@ export declare function getAppVersion(): string;
26
27
  export declare function hasAppCommandLineSwitch(name: string): boolean;
27
28
  export declare function hasAppSingleInstanceLock(): boolean;
28
29
  export declare function hideApp(): boolean;
30
+ export declare function installAppHostBackend(backend: AppBackend): void;
29
31
  export declare function isAppHidden(): boolean;
32
+ export declare function observeAppHostResult(operation: string, succeeded: boolean): void;
30
33
  export declare function quitApp(): void;
31
34
  export declare function relaunchApp(): void;
32
35
  export declare function releaseAppSingleInstanceLock(): void;
33
36
  export declare function requestAppAttention(critical: boolean): number;
34
37
  export declare function requestAppSingleInstanceLock(): boolean;
38
+ export declare function resetAppBackendForTest(): void;
35
39
  export declare function setAppActivationPolicy(policy: AppActivationPolicy): void;
36
40
  export declare function setAppBackend(backend: AppBackend | null): void;
37
41
  export declare function setAppBadgeCount(count: number): boolean;
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,GAAG,EACH,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEvD;AAOD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA0BxC;AAGD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAGD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEnD;AAGD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEpD;AAGD,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAGD,wBAAgB,SAAS,IAAI,GAAG,CAS/B;AAGD,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD;AAID,wBAAgB,mBAAmB,IAAI,UAAU,CA4KhD;AAGD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAMxC;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAEzC;AAGD,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAGD,wBAAgB,aAAa,IAAI,UAAU,CAG1C;AAGD,wBAAgB,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAErD;AAGD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQnE;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAE7D;AAGD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAGD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAGD,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAGD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAGD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAID,wBAAgB,8BAA8B,IAAI,SAAS,MAAM,EAAE,CAElE;AAID,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAGD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAGD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAGD,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAGD,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAGD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAGD,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAE7D;AAID,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAExE;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAE9D;AAID,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAEvE;AAID,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAE7E;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAID,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAGD,wBAAgB,OAAO,IAAI,OAAO,CAEjC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -68,187 +68,6 @@ export function createApp() {
68
68
  export function createAppLoginItem() {
69
69
  return { args: [], openAsHidden: false, openAtLogin: false, path: '' };
70
70
  }
71
- // Builds the default web backend over document/window/navigator. Degrades to empty strings and no-ops
72
- // where the APIs are absent. A web tab is inherently single-instance, so the lock is always held.
73
- export function createWebAppBackend() {
74
- return {
75
- addRecentDocument() {
76
- // No web recent-documents list; no-op.
77
- },
78
- bounceDock() {
79
- return -1;
80
- },
81
- cancelAttention() {
82
- // No web attention API; no-op.
83
- },
84
- cancelDockBounce() {
85
- // No web dock; no-op.
86
- },
87
- clearRecentDocuments() {
88
- // No web recent-documents list; no-op.
89
- },
90
- focus() {
91
- if (typeof window !== 'undefined') {
92
- try {
93
- window.focus();
94
- }
95
- catch {
96
- // Focus may be blocked by the host; ignore.
97
- }
98
- }
99
- },
100
- getAppDirectoryPath() {
101
- // Web sentinel '': a web tab has no app-identity-relative directory. Native: userData/logs/
102
- // crashDumps under the per-app data root.
103
- return '';
104
- },
105
- getAppPath() {
106
- // Web sentinel '': no bundle/exe directory in a tab. Native: the application directory.
107
- return '';
108
- },
109
- getCommandLine() {
110
- // Web sentinel []: a tab has no process argv. Native: this process's command-line arguments.
111
- return [];
112
- },
113
- getExecutablePath() {
114
- // Web sentinel '': no executable in a tab. Native: the running executable's path.
115
- return '';
116
- },
117
- getLocale() {
118
- return typeof navigator !== 'undefined' ? (navigator.language ?? '') : '';
119
- },
120
- getPreferredSystemLanguages() {
121
- if (typeof navigator !== 'undefined' && Array.isArray(navigator.languages)) {
122
- return navigator.languages;
123
- }
124
- return [];
125
- },
126
- getSystemLocale() {
127
- try {
128
- return typeof Intl !== 'undefined' ? new Intl.DateTimeFormat().resolvedOptions().locale : '';
129
- }
130
- catch {
131
- return '';
132
- }
133
- },
134
- getLoginItem() {
135
- // Web sentinel: a default with openAtLogin false — a tab has no launch-at-login concept.
136
- // Native: the OS launch-at-login registration for this app.
137
- return { args: [], openAsHidden: false, openAtLogin: false, path: '' };
138
- },
139
- getName() {
140
- // Web: document.title stands in for the app name ('' when no document). Native: the app's
141
- // display name.
142
- return typeof document !== 'undefined' ? document.title : '';
143
- },
144
- getVersion() {
145
- // Web sentinel '': a tab carries no app version. Native: the packaged app version string.
146
- return '';
147
- },
148
- hasSingleInstanceLock() {
149
- return true;
150
- },
151
- hideApp() {
152
- // No web application-hide; no-op.
153
- return false;
154
- },
155
- isAppHidden() {
156
- return false;
157
- },
158
- quit() {
159
- if (typeof window !== 'undefined') {
160
- try {
161
- window.close();
162
- }
163
- catch {
164
- // window.close() is restricted for non-script-opened tabs; ignore.
165
- }
166
- }
167
- },
168
- relaunch() {
169
- if (typeof location !== 'undefined') {
170
- try {
171
- location.reload();
172
- }
173
- catch {
174
- // Reload may be blocked in some embedding contexts; ignore.
175
- }
176
- }
177
- },
178
- releaseSingleInstanceLock() {
179
- // A web tab cannot relinquish a process-level lock; no-op.
180
- },
181
- requestAttention() {
182
- return -1;
183
- },
184
- requestSingleInstanceLock() {
185
- return true;
186
- },
187
- setActivationPolicy() {
188
- // No macOS activation policy on web; no-op.
189
- },
190
- setBadgeCount(count) {
191
- if (typeof navigator === 'undefined' || !('setAppBadge' in navigator))
192
- return false;
193
- try {
194
- navigator.setAppBadge(count);
195
- return true;
196
- }
197
- catch {
198
- return false;
199
- }
200
- },
201
- setDockBadge() {
202
- // No web dock; no-op.
203
- },
204
- setDockMenu() {
205
- // No web dock menu; a native host (Electron app.dock) is required.
206
- },
207
- setLoginItem() {
208
- // Web tabs have no login-item concept; no-op.
209
- return false;
210
- },
211
- setName() {
212
- // Cannot rename the application from web context; no-op.
213
- return false;
214
- },
215
- setUserModelId() {
216
- // AppUserModelID is Windows-only; no-op on web.
217
- return false;
218
- },
219
- showApp() {
220
- // No web application-show; no-op.
221
- return false;
222
- },
223
- subscribeActivate() {
224
- // No web app-activate event; the listener is never called. Native: dock/taskbar re-activation.
225
- return () => { };
226
- },
227
- subscribeAllWindowsClosed() {
228
- // No web all-windows-closed event; the listener is never called. Native: last window closed.
229
- return () => { };
230
- },
231
- subscribeOpenFile() {
232
- // No web open-file event; the listener is never called. Native: OS file-open / "Open With".
233
- return () => { };
234
- },
235
- subscribeQuitRequest(_listener) {
236
- // A web tab cannot intercept the browser's quit path; the listener is never called.
237
- return () => { };
238
- },
239
- subscribeReady(listener) {
240
- // On the web the DOM is already ready by the time script runs; fire on the next microtask.
241
- const id = Promise.resolve().then(() => listener());
242
- void id;
243
- return () => { };
244
- },
245
- subscribeSecondInstance() {
246
- // No web second-instance event; the listener is never called. Native: another launch hands its
247
- // argv to the lock holder.
248
- return () => { };
249
- },
250
- };
251
- }
252
71
  // Stops delivery to `app` and forgets its subscription. Safe to call when not attached.
253
72
  export function detachApp(app) {
254
73
  const unsubscribe = _subscriptions.get(app);
@@ -262,15 +81,26 @@ export function detachApp(app) {
262
81
  export function disposeApp(app) {
263
82
  detachApp(app);
264
83
  }
84
+ export function explainAppBackend() {
85
+ if (_custom !== null) {
86
+ return { conflict: _hostConflict, layer: 'custom', operation: null, viability: 'unobserved' };
87
+ }
88
+ if (_host !== null) {
89
+ return {
90
+ conflict: _hostConflict,
91
+ layer: 'host',
92
+ operation: _hostObservation !== null ? _hostObservation.operation : null,
93
+ viability: _hostObservation !== null ? _hostObservation.viability : 'unobserved',
94
+ };
95
+ }
96
+ return { conflict: false, layer: 'host-not-enabled', operation: null, viability: 'unobserved' };
97
+ }
265
98
  // Brings the application to the foreground.
266
99
  export function focusApp() {
267
100
  getAppBackend().focus();
268
101
  }
269
- // The active app backend, or a lazily-created web default. There is always a backend.
270
102
  export function getAppBackend() {
271
- if (_backend === null)
272
- _backend = createWebAppBackend();
273
- return _backend;
103
+ return _custom ?? _host ?? _sentinel;
274
104
  }
275
105
  // The command-line arguments for this process, or [] on web.
276
106
  export function getAppCommandLine() {
@@ -339,10 +169,24 @@ export function hasAppSingleInstanceLock() {
339
169
  export function hideApp() {
340
170
  return getAppBackend().hideApp();
341
171
  }
172
+ export function installAppHostBackend(backend) {
173
+ if (_host !== null) {
174
+ if (_host !== backend)
175
+ _hostConflict = true;
176
+ return;
177
+ }
178
+ _host = backend;
179
+ }
342
180
  // True when the application is hidden (macOS only). Always false on web.
343
181
  export function isAppHidden() {
344
182
  return getAppBackend().isAppHidden();
345
183
  }
184
+ export function observeAppHostResult(operation, succeeded) {
185
+ _hostObservation = {
186
+ operation,
187
+ viability: succeeded ? 'available' : 'runtime-api-unavailable',
188
+ };
189
+ }
346
190
  // Quits the application.
347
191
  export function quitApp() {
348
192
  getAppBackend().quit();
@@ -365,14 +209,19 @@ export function requestAppAttention(critical) {
365
209
  export function requestAppSingleInstanceLock() {
366
210
  return getAppBackend().requestSingleInstanceLock();
367
211
  }
212
+ export function resetAppBackendForTest() {
213
+ _custom = null;
214
+ _host = null;
215
+ _hostConflict = false;
216
+ _hostObservation = null;
217
+ }
368
218
  // Sets the macOS activation policy, controlling dock presence and Command-Tab visibility. No-op on
369
219
  // non-macOS and web.
370
220
  export function setAppActivationPolicy(policy) {
371
221
  getAppBackend().setActivationPolicy(policy);
372
222
  }
373
- // Installs a native host app backend; pass null to fall back to the web default.
374
223
  export function setAppBackend(backend) {
375
- _backend = backend;
224
+ _custom = backend;
376
225
  }
377
226
  // Sets the numeric application badge (taskbar overlay / dock / PWA badge). Returns false when
378
227
  // unsupported. Canonical home for the app badge — the tray package no longer carries it.
@@ -406,6 +255,97 @@ export function setAppUserModelId(id) {
406
255
  export function showApp() {
407
256
  return getAppBackend().showApp();
408
257
  }
409
- let _backend = null;
258
+ const _noop = () => () => { };
259
+ const _sentinel = {
260
+ addRecentDocument() { },
261
+ bounceDock() {
262
+ return -1;
263
+ },
264
+ cancelAttention() { },
265
+ cancelDockBounce() { },
266
+ clearRecentDocuments() { },
267
+ focus() { },
268
+ getAppDirectoryPath() {
269
+ return '';
270
+ },
271
+ getAppPath() {
272
+ return '';
273
+ },
274
+ getCommandLine() {
275
+ return [];
276
+ },
277
+ getExecutablePath() {
278
+ return '';
279
+ },
280
+ getLocale() {
281
+ return '';
282
+ },
283
+ getLoginItem() {
284
+ return { args: [], openAsHidden: false, openAtLogin: false, path: '' };
285
+ },
286
+ getName() {
287
+ return '';
288
+ },
289
+ getPreferredSystemLanguages() {
290
+ return [];
291
+ },
292
+ getSystemLocale() {
293
+ try {
294
+ return typeof Intl !== 'undefined' ? new Intl.DateTimeFormat().resolvedOptions().locale : '';
295
+ }
296
+ catch {
297
+ return '';
298
+ }
299
+ },
300
+ getVersion() {
301
+ return '';
302
+ },
303
+ hasSingleInstanceLock() {
304
+ return false;
305
+ },
306
+ hideApp() {
307
+ return false;
308
+ },
309
+ isAppHidden() {
310
+ return false;
311
+ },
312
+ quit() { },
313
+ relaunch() { },
314
+ releaseSingleInstanceLock() { },
315
+ requestAttention() {
316
+ return -1;
317
+ },
318
+ requestSingleInstanceLock() {
319
+ return false;
320
+ },
321
+ setActivationPolicy() { },
322
+ setBadgeCount() {
323
+ return false;
324
+ },
325
+ setDockBadge() { },
326
+ setDockMenu() { },
327
+ setLoginItem() {
328
+ return false;
329
+ },
330
+ setName() {
331
+ return false;
332
+ },
333
+ setUserModelId() {
334
+ return false;
335
+ },
336
+ showApp() {
337
+ return false;
338
+ },
339
+ subscribeActivate: _noop,
340
+ subscribeAllWindowsClosed: _noop,
341
+ subscribeOpenFile: _noop,
342
+ subscribeQuitRequest: _noop,
343
+ subscribeReady: _noop,
344
+ subscribeSecondInstance: _noop,
345
+ };
346
+ let _custom = null;
347
+ let _host = null;
348
+ let _hostConflict = false;
349
+ let _hostObservation = null;
410
350
  const _subscriptions = new WeakMap();
411
351
  //# sourceMappingURL=app.js.map
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { addAppRecentDocument, attachApp, bounceAppDock, cancelAppAttention, cancelAppDockBounce, clearAppRecentDocuments, createApp, createAppLoginItem, detachApp, disposeApp, focusApp, getAppCommandLine, getAppCommandLineSwitch, getAppDirectoryPath, getAppExecutablePath, getAppLocale, getAppLoginItem, getAppName, getAppPath, getAppPreferredSystemLanguages, getAppSystemLocale, getAppVersion, hasAppCommandLineSwitch, hasAppSingleInstanceLock, hideApp, isAppHidden, quitApp, relaunchApp, releaseAppSingleInstanceLock, requestAppAttention, requestAppSingleInstanceLock, setAppActivationPolicy, setAppBadgeCount, setAppDockBadge, setAppDockMenu, setAppLoginItem, setAppName, setAppUserModelId, showApp, } from './contract';
1
+ export { addAppRecentDocument, attachApp, bounceAppDock, cancelAppAttention, cancelAppDockBounce, clearAppRecentDocuments, createApp, createAppLoginItem, detachApp, disposeApp, explainAppBackend, focusApp, getAppCommandLine, getAppCommandLineSwitch, getAppDirectoryPath, getAppExecutablePath, getAppLocale, getAppLoginItem, getAppName, getAppPath, getAppPreferredSystemLanguages, getAppSystemLocale, getAppVersion, hasAppCommandLineSwitch, hasAppSingleInstanceLock, hideApp, isAppHidden, quitApp, relaunchApp, releaseAppSingleInstanceLock, requestAppAttention, requestAppSingleInstanceLock, setAppActivationPolicy, setAppBadgeCount, setAppDockBadge, setAppDockMenu, setAppLoginItem, setAppName, setAppUserModelId, showApp, } from './contract';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,UAAU,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,OAAO,EACP,WAAW,EACX,OAAO,EACP,WAAW,EACX,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,UAAU,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,OAAO,EACP,WAAW,EACX,OAAO,EACP,WAAW,EACX,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { addAppRecentDocument, attachApp, bounceAppDock, cancelAppAttention, cancelAppDockBounce, clearAppRecentDocuments, createApp, createAppLoginItem, detachApp, disposeApp, focusApp, getAppCommandLine, getAppCommandLineSwitch, getAppDirectoryPath, getAppExecutablePath, getAppLocale, getAppLoginItem, getAppName, getAppPath, getAppPreferredSystemLanguages, getAppSystemLocale, getAppVersion, hasAppCommandLineSwitch, hasAppSingleInstanceLock, hideApp, isAppHidden, quitApp, relaunchApp, releaseAppSingleInstanceLock, requestAppAttention, requestAppSingleInstanceLock, setAppActivationPolicy, setAppBadgeCount, setAppDockBadge, setAppDockMenu, setAppLoginItem, setAppName, setAppUserModelId, showApp, } from './contract';
1
+ export { addAppRecentDocument, attachApp, bounceAppDock, cancelAppAttention, cancelAppDockBounce, clearAppRecentDocuments, createApp, createAppLoginItem, detachApp, disposeApp, explainAppBackend, focusApp, getAppCommandLine, getAppCommandLineSwitch, getAppDirectoryPath, getAppExecutablePath, getAppLocale, getAppLoginItem, getAppName, getAppPath, getAppPreferredSystemLanguages, getAppSystemLocale, getAppVersion, hasAppCommandLineSwitch, hasAppSingleInstanceLock, hideApp, isAppHidden, quitApp, relaunchApp, releaseAppSingleInstanceLock, requestAppAttention, requestAppSingleInstanceLock, setAppActivationPolicy, setAppBadgeCount, setAppDockBadge, setAppDockMenu, setAppLoginItem, setAppName, setAppUserModelId, showApp, } from './contract';
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,UAAU,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,OAAO,EACP,WAAW,EACX,OAAO,EACP,WAAW,EACX,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,UAAU,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,OAAO,EACP,WAAW,EACX,OAAO,EACP,WAAW,EACX,4BAA4B,EAC5B,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/app",
3
- "version": "0.3.1-next.975.01aea94",
3
+ "version": "0.4.0-edge.1908.751021c",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,8 +38,8 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/signals": "0.3.1-next.975.01aea94",
42
- "@flighthq/types": "0.3.1-next.975.01aea94"
41
+ "@flighthq/signals": "0.4.0-edge.1908.751021c",
42
+ "@flighthq/types": "0.4.0-edge.1908.751021c"
43
43
  },
44
44
  "devDependencies": {
45
45
  "typescript": "^5.3.0"
package/src/app.test.ts CHANGED
@@ -10,9 +10,9 @@ import {
10
10
  clearAppRecentDocuments,
11
11
  createApp,
12
12
  createAppLoginItem,
13
- createWebAppBackend,
14
13
  detachApp,
15
14
  disposeApp,
15
+ explainAppBackend,
16
16
  focusApp,
17
17
  getAppBackend,
18
18
  getAppCommandLine,
@@ -29,12 +29,15 @@ import {
29
29
  hasAppCommandLineSwitch,
30
30
  hasAppSingleInstanceLock,
31
31
  hideApp,
32
+ installAppHostBackend,
32
33
  isAppHidden,
33
34
  quitApp,
34
35
  relaunchApp,
35
36
  releaseAppSingleInstanceLock,
36
37
  requestAppAttention,
37
38
  requestAppSingleInstanceLock,
39
+ observeAppHostResult,
40
+ resetAppBackendForTest,
38
41
  setAppActivationPolicy,
39
42
  setAppBackend,
40
43
  setAppBadgeCount,
@@ -254,7 +257,7 @@ function fakeBackend(): AppBackend & {
254
257
  };
255
258
  }
256
259
 
257
- afterEach(() => setAppBackend(null));
260
+ afterEach(() => resetAppBackendForTest());
258
261
 
259
262
  describe('addAppRecentDocument', () => {
260
263
  it('forwards the path to the backend', () => {
@@ -402,40 +405,6 @@ describe('createAppLoginItem', () => {
402
405
  });
403
406
  });
404
407
 
405
- describe('createWebAppBackend', () => {
406
- it('reads identity values without throwing', () => {
407
- const backend = createWebAppBackend();
408
- expect(typeof backend.getName()).toBe('string');
409
- expect(typeof backend.getVersion()).toBe('string');
410
- expect(typeof backend.getLocale()).toBe('string');
411
- expect(backend.requestSingleInstanceLock()).toBe(true);
412
- expect(backend.hasSingleInstanceLock()).toBe(true);
413
- expect(backend.bounceDock()).toBe(-1);
414
- expect(backend.subscribeActivate(() => {})).toBeInstanceOf(Function);
415
- });
416
-
417
- it('returns sentinel values for unavailable APIs', () => {
418
- const backend = createWebAppBackend();
419
- expect(backend.getAppPath()).toBe('');
420
- expect(backend.getExecutablePath()).toBe('');
421
- expect(backend.getCommandLine()).toEqual([]);
422
- expect(backend.getLoginItem().openAtLogin).toBe(false);
423
- expect(backend.hideApp()).toBe(false);
424
- expect(backend.isAppHidden()).toBe(false);
425
- expect(backend.requestAttention(false)).toBe(-1);
426
- expect(backend.setLoginItem({})).toBe(false);
427
- expect(backend.setName('X')).toBe(false);
428
- expect(backend.setUserModelId('X')).toBe(false);
429
- expect(backend.showApp()).toBe(false);
430
- });
431
-
432
- it('returns preferred system languages and system locale', () => {
433
- const backend = createWebAppBackend();
434
- expect(Array.isArray(backend.getPreferredSystemLanguages())).toBe(true);
435
- expect(typeof backend.getSystemLocale()).toBe('string');
436
- });
437
- });
438
-
439
408
  describe('detachApp', () => {
440
409
  it('stops further delivery', () => {
441
410
  const backend = fakeBackend();
@@ -464,6 +433,34 @@ describe('disposeApp', () => {
464
433
  });
465
434
  });
466
435
 
436
+ describe('explainAppBackend', () => {
437
+ afterEach(() => resetAppBackendForTest());
438
+
439
+ it('reports host-not-enabled when no backend is installed', () => {
440
+ resetAppBackendForTest();
441
+ const explanation = explainAppBackend();
442
+ expect(explanation.layer).toBe('host-not-enabled');
443
+ expect(explanation.conflict).toBe(false);
444
+ expect(explanation.viability).toBe('unobserved');
445
+ });
446
+
447
+ it('reports custom layer when a custom backend is set', () => {
448
+ setAppBackend(fakeBackend());
449
+ expect(explainAppBackend().layer).toBe('custom');
450
+ });
451
+
452
+ it('reports host layer when a host backend is installed', () => {
453
+ installAppHostBackend(fakeBackend());
454
+ expect(explainAppBackend().layer).toBe('host');
455
+ });
456
+
457
+ it('reports conflict when two different host backends are installed', () => {
458
+ installAppHostBackend(fakeBackend());
459
+ installAppHostBackend(fakeBackend());
460
+ expect(explainAppBackend().conflict).toBe(true);
461
+ });
462
+ });
463
+
467
464
  describe('focusApp', () => {
468
465
  it('focuses through the backend', () => {
469
466
  const backend = fakeBackend();
@@ -479,6 +476,40 @@ describe('getAppBackend', () => {
479
476
  });
480
477
  });
481
478
 
479
+ describe('getAppBackend (sentinel)', () => {
480
+ it('reads identity values without throwing', () => {
481
+ const backend = getAppBackend();
482
+ expect(typeof backend.getName()).toBe('string');
483
+ expect(typeof backend.getVersion()).toBe('string');
484
+ expect(typeof backend.getLocale()).toBe('string');
485
+ expect(backend.requestSingleInstanceLock()).toBe(false);
486
+ expect(backend.hasSingleInstanceLock()).toBe(false);
487
+ expect(backend.bounceDock()).toBe(-1);
488
+ expect(backend.subscribeActivate(() => {})).toBeInstanceOf(Function);
489
+ });
490
+
491
+ it('returns sentinel values for unavailable APIs', () => {
492
+ const backend = getAppBackend();
493
+ expect(backend.getAppPath()).toBe('');
494
+ expect(backend.getExecutablePath()).toBe('');
495
+ expect(backend.getCommandLine()).toEqual([]);
496
+ expect(backend.getLoginItem().openAtLogin).toBe(false);
497
+ expect(backend.hideApp()).toBe(false);
498
+ expect(backend.isAppHidden()).toBe(false);
499
+ expect(backend.requestAttention(false)).toBe(-1);
500
+ expect(backend.setLoginItem({})).toBe(false);
501
+ expect(backend.setName('X')).toBe(false);
502
+ expect(backend.setUserModelId('X')).toBe(false);
503
+ expect(backend.showApp()).toBe(false);
504
+ });
505
+
506
+ it('returns preferred system languages and system locale', () => {
507
+ const backend = getAppBackend();
508
+ expect(Array.isArray(backend.getPreferredSystemLanguages())).toBe(true);
509
+ expect(typeof backend.getSystemLocale()).toBe('string');
510
+ });
511
+ });
512
+
482
513
  describe('getAppCommandLine', () => {
483
514
  it('returns the command line from the backend', () => {
484
515
  const backend = fakeBackend();
@@ -609,6 +640,25 @@ describe('hideApp', () => {
609
640
  });
610
641
  });
611
642
 
643
+ describe('installAppHostBackend', () => {
644
+ afterEach(() => resetAppBackendForTest());
645
+
646
+ it('installs a host backend that getAppBackend returns', () => {
647
+ const backend = fakeBackend();
648
+ installAppHostBackend(backend);
649
+ expect(getAppBackend()).toBe(backend);
650
+ });
651
+
652
+ it('is first-host-wins: a second different backend sets conflict', () => {
653
+ const first = fakeBackend();
654
+ const second = fakeBackend();
655
+ installAppHostBackend(first);
656
+ installAppHostBackend(second);
657
+ expect(getAppBackend()).toBe(first);
658
+ expect(explainAppBackend().conflict).toBe(true);
659
+ });
660
+ });
661
+
612
662
  describe('isAppHidden', () => {
613
663
  it('reflects the backend hidden state', () => {
614
664
  const backend = fakeBackend();
@@ -619,6 +669,24 @@ describe('isAppHidden', () => {
619
669
  });
620
670
  });
621
671
 
672
+ describe('observeAppHostResult', () => {
673
+ afterEach(() => resetAppBackendForTest());
674
+
675
+ it('records a successful observation', () => {
676
+ installAppHostBackend(fakeBackend());
677
+ observeAppHostResult('focus', true);
678
+ const explanation = explainAppBackend();
679
+ expect(explanation.operation).toBe('focus');
680
+ expect(explanation.viability).toBe('available');
681
+ });
682
+
683
+ it('records a failed observation', () => {
684
+ installAppHostBackend(fakeBackend());
685
+ observeAppHostResult('focus', false);
686
+ expect(explainAppBackend().viability).toBe('runtime-api-unavailable');
687
+ });
688
+ });
689
+
622
690
  describe('quitApp', () => {
623
691
  it('quits without throwing', () => {
624
692
  setAppBackend(fakeBackend());
@@ -657,6 +725,20 @@ describe('requestAppSingleInstanceLock', () => {
657
725
  });
658
726
  });
659
727
 
728
+ describe('resetAppBackendForTest', () => {
729
+ it('clears all backend slots', () => {
730
+ const backend = fakeBackend();
731
+ setAppBackend(backend);
732
+ installAppHostBackend(fakeBackend());
733
+ observeAppHostResult('focus', true);
734
+ resetAppBackendForTest();
735
+ expect(getAppBackend()).not.toBe(backend);
736
+ expect(explainAppBackend().layer).toBe('host-not-enabled');
737
+ expect(explainAppBackend().conflict).toBe(false);
738
+ expect(explainAppBackend().viability).toBe('unobserved');
739
+ });
740
+ });
741
+
660
742
  describe('setAppActivationPolicy', () => {
661
743
  it('forwards the policy to the backend', () => {
662
744
  const backend = fakeBackend();