@absolutejs/absolute 0.20.0-beta.133 → 0.20.0-beta.135

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.
Files changed (30) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/changelog.json +35 -0
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/build.js +25 -4
  6. package/dist/build.js.map +5 -5
  7. package/dist/cli/{compile-nf4qsqyd.js → compile-c7798g5y.js} +4 -3
  8. package/dist/cli/{config-3te1fbry.js → config-hy5dkexz.js} +1 -1
  9. package/dist/cli/{dev-j3dhb396.js → dev-cjq9rdeq.js} +2 -2
  10. package/dist/cli/{expoProject-zy02tbfg.js → expoProject-4x9q22xw.js} +1 -1
  11. package/dist/cli/{index-c3tqbpkq.js → index-djme2zmz.js} +2 -2
  12. package/dist/cli/{index-5sjk7daj.js → index-g407dg4f.js} +2 -2
  13. package/dist/cli/{index-hfvxsgf4.js → index-s9374tcg.js} +200 -65
  14. package/dist/cli/{index-rrxeqrbn.js → index-t7yf3vxs.js} +8 -0
  15. package/dist/cli/index.js +5 -5
  16. package/dist/cli/{mobile-m0cdh8cf.js → mobile-ma7sfttv.js} +4 -4
  17. package/dist/cli/{start-3z3gtgm0.js → start-7qsbfdxf.js} +4 -4
  18. package/dist/dev/serverBootstrap.js +1 -1
  19. package/dist/index.js +25 -4
  20. package/dist/index.js.map +5 -5
  21. package/dist/mobile/index.js +48 -16
  22. package/dist/mobile/index.js.map +8 -8
  23. package/dist/mobile/remoteMacAgentEntry.js +66 -66
  24. package/dist/mobile/shellBootstrap.js +23 -0
  25. package/dist/src/mobile/artifactStore.d.ts +4 -0
  26. package/dist/src/mobile/config.d.ts +4 -0
  27. package/dist/src/mobile/nativePackages.d.ts +2 -2
  28. package/dist/src/mobile/pushDeepLinks.d.ts +16 -0
  29. package/dist/types/build.d.ts +11 -0
  30. package/package.json +3 -3
@@ -1185,6 +1185,26 @@ var http = createAbsoluteHttpClient();
1185
1185
  // src/mobile/shellHttp.ts
1186
1186
  var installAbsoluteMobileShellHttp = (origin, fetch2 = globalThis.fetch) => installAbsoluteHttpTransport(createAbsoluteHttpTransport({ fetch: fetch2, origin, runtime: "native" }));
1187
1187
 
1188
+ // src/mobile/pushDeepLinks.ts
1189
+ import {
1190
+ pushNotifications
1191
+ } from "@absolutejs/devices";
1192
+ var ABSOLUTE_PUSH_DEEP_LINK_KEY = "absoluteDeepLink";
1193
+ var installAbsoluteMobilePushDeepLinks = async (manifest, openDeepLink, source = pushNotifications) => {
1194
+ if (!manifest.deviceCapabilities.includes("pushNotifications"))
1195
+ return;
1196
+ return source.onAction(({ actionId, notification }) => {
1197
+ if (actionId !== "tap")
1198
+ return;
1199
+ const link = notification.data[ABSOLUTE_PUSH_DEEP_LINK_KEY];
1200
+ if (typeof link !== "string" || link.length === 0)
1201
+ return;
1202
+ try {
1203
+ openDeepLink(link);
1204
+ } catch {}
1205
+ });
1206
+ };
1207
+
1188
1208
  // src/mobile/adaptiveShell.ts
1189
1209
  import {
1190
1210
  keyboard,
@@ -7259,6 +7279,9 @@ var startAbsoluteMobileShell = async (options = {}) => {
7259
7279
  dispatchEvent(new Event("absolute:shell-rendered"));
7260
7280
  await options.installUpdates?.(manifest);
7261
7281
  await installDeepLinks(manifest, onNavigate, auth?.redirectUri);
7282
+ await installAbsoluteMobilePushDeepLinks(manifest, (url) => navigateDeepLink(manifest, onNavigate, url, auth?.redirectUri)).catch(() => {
7283
+ return;
7284
+ });
7262
7285
  try {
7263
7286
  await App.addListener("backButton", ({ canGoBack }) => {
7264
7287
  if (uiPrimitives?.requestBack())
@@ -44,4 +44,8 @@ export type AbsoluteMobileCarryForwardInput = {
44
44
  export declare const carryForwardAbsoluteMobileCompatibilityReleases: (input: AbsoluteMobileCarryForwardInput) => Promise<AbsoluteMobileStoredCompatibilityRelease[]>;
45
45
  export declare const createAbsoluteMobileBlobArtifactStore: (options: AbsoluteMobileBlobArtifactStoreOptions) => AbsoluteMobileCompatibilityArtifactStore;
46
46
  export declare const createAbsoluteMobileFileArtifactStore: (options: AbsoluteMobileFileArtifactStoreOptions) => AbsoluteMobileCompatibilityArtifactStore;
47
+ export declare const loadAbsoluteMobileCompatibilityStore: (options: {
48
+ modulePath: string;
49
+ prefix?: string;
50
+ }) => Promise<AbsoluteMobileCompatibilityArtifactStore>;
47
51
  export declare const verifyAbsoluteMobileCompatibilityProducer: (release: AbsoluteMobileStoredCompatibilityRelease, maxProducerBytes?: number) => Promise<AbsoluteMobileStoredCompatibilityRelease>;
@@ -25,6 +25,10 @@ export type NormalizedAbsoluteMobileConfig = {
25
25
  androidCertificateFingerprints: string[];
26
26
  appleAppIdPrefix?: string;
27
27
  bundleDirectory: string;
28
+ compatibilityStore?: {
29
+ modulePath: string;
30
+ prefix?: string;
31
+ };
28
32
  deepLinkHosts: string[];
29
33
  deepLinkScheme?: string;
30
34
  engine: 'capacitor' | 'expo';
@@ -1,7 +1,7 @@
1
1
  export declare const ABSOLUTE_CAPACITOR_DEVICES_VERSION = "0.8.0";
2
2
  export declare const ABSOLUTE_CAPACITOR_SYNC_VERSION = "0.9.3";
3
- export declare const ABSOLUTE_DEVICES_VERSION = "0.7.0";
4
- export declare const ABSOLUTE_EXPO_DEVICES_VERSION = "0.0.11";
3
+ export declare const ABSOLUTE_DEVICES_VERSION = "0.7.1";
4
+ export declare const ABSOLUTE_EXPO_DEVICES_VERSION = "0.0.12";
5
5
  export declare const ABSOLUTE_NATIVE_EXACT_PACKAGES: Set<string>;
6
6
  export declare const CAPACITOR_PACKAGE_SPECS: string[];
7
7
  export declare const CAPACITOR_SYNC_PACKAGE_SPECS: string[];
@@ -0,0 +1,16 @@
1
+ import { type DevicePushNotificationAction, type DeviceSubscription } from '@absolutejs/devices';
2
+ import type { AbsoluteMobileClientManifest } from './transport';
3
+ /** Data key under which Dispatch's APNs and FCM adapters carry `deepLink`. */
4
+ export declare const ABSOLUTE_PUSH_DEEP_LINK_KEY = "absoluteDeepLink";
5
+ type PushActionSource = {
6
+ onAction: (listener: (action: DevicePushNotificationAction) => void) => Promise<DeviceSubscription>;
7
+ };
8
+ /**
9
+ * Opens a tapped notification's deep link inside the app. The link goes
10
+ * through `openDeepLink`, the shell's own validated deep-link route, so a
11
+ * link outside the configured hosts and scheme is ignored rather than
12
+ * followed. Action buttons other than the notification body are left to the
13
+ * application.
14
+ */
15
+ export declare const installAbsoluteMobilePushDeepLinks: (manifest: Pick<AbsoluteMobileClientManifest, "deviceCapabilities">, openDeepLink: (url: string) => void, source?: PushActionSource) => Promise<DeviceSubscription | undefined>;
16
+ export {};
@@ -199,6 +199,17 @@ type MobileSharedConfig = {
199
199
  };
200
200
  /** Capacitor webDir output. Defaults to `.absolutejs/mobile/web`. */
201
201
  bundleDirectory?: string;
202
+ /** Durable history of mobile releases. Builds keep serving the three most
203
+ * recent releases to installed apps; without a store that history lives
204
+ * only in the build directory, so a fresh checkout (such as CI) starts
205
+ * with none and every installed app is asked to update. */
206
+ compatibility?: {
207
+ /** Project-relative module whose default export is a blob store, such
208
+ * as `awsS3BlobStore` from `@absolutejs/blob/aws-s3`. */
209
+ store: string;
210
+ /** Key prefix inside the store. Defaults to `absolutejs/mobile-compatibility`. */
211
+ prefix?: string;
212
+ };
202
213
  nativeProject?: {
203
214
  /** v1 keeps native projects as committed, editable source. */
204
215
  mode?: 'source';
package/package.json CHANGED
@@ -11,9 +11,9 @@
11
11
  "@absolutejs/beacon": ">=0.7.0-beta.4 <0.8.0",
12
12
  "@absolutejs/bvm": "^0.1.1",
13
13
  "@absolutejs/deploy": "0.27.0",
14
- "@absolutejs/devices": "0.7.0",
14
+ "@absolutejs/devices": "0.7.1",
15
15
  "@absolutejs/devices-capacitor": "0.8.0",
16
- "@absolutejs/devices-expo": "0.0.11",
16
+ "@absolutejs/devices-expo": "0.0.12",
17
17
  "@absolutejs/http": "0.0.1",
18
18
  "@absolutejs/pwa": "0.14.0",
19
19
  "@capacitor/browser": "8.0.4",
@@ -555,7 +555,7 @@
555
555
  ]
556
556
  }
557
557
  },
558
- "version": "0.20.0-beta.133",
558
+ "version": "0.20.0-beta.135",
559
559
  "workspaces": [
560
560
  "tests/fixtures/*",
561
561
  "tests/fixtures/_packages/*"