@absolutejs/absolute 0.20.0-beta.91 → 0.20.0-beta.92
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/CHANGELOG.md +6 -0
- package/changelog.json +13 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/cli/{compile-5hchbcbd.js → compile-vf61bv90.js} +2 -2
- package/dist/cli/{dev-aykeaa7b.js → dev-perzmh2w.js} +1 -1
- package/dist/cli/{expoProject-dac8fqhq.js → expoProject-djc0vk7g.js} +1 -1
- package/dist/cli/{index-jqdt7841.js → index-751czk1b.js} +1 -1
- package/dist/cli/{index-tame6e2c.js → index-8zrnvazp.js} +28 -0
- package/dist/cli/{index-39j0dhq7.js → index-gxkmg2ss.js} +1 -1
- package/dist/cli/index.js +5 -5
- package/dist/cli/{mobile-bg1jy34n.js → mobile-yk7qr9qg.js} +3 -3
- package/dist/cli/{start-7jg0csqy.js → start-ef7tgbmf.js} +3 -3
- package/dist/mobile/index.js +29 -1
- package/dist/mobile/index.js.map +3 -3
- package/dist/mobile/remoteMacAgentEntry.js +28 -0
- package/dist/src/mobile/expoNativeObservability.d.ts +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ This file is generated by `absolute-changelog` from the entries in
|
|
|
6
6
|
`changelog/`. Edit an entry, not this file — and add new ones under
|
|
7
7
|
`changelog/unreleased/`.
|
|
8
8
|
|
|
9
|
+
## 0.20.0-beta.92 — 2026-09-13
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- **Expo iOS now has an automated native observability gate for generated Swift compilation, trusted-relay redaction, restart-safe retry, acknowledgement, and deduplication.** (`expoNativeObservabilityRuntimeSource`)
|
|
14
|
+
|
|
9
15
|
## 0.20.0-beta.91 — 2026-09-13
|
|
10
16
|
|
|
11
17
|
### Added
|
package/changelog.json
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
"contract": 1,
|
|
3
3
|
"name": "@absolutejs/absolute",
|
|
4
4
|
"releases": [
|
|
5
|
+
{
|
|
6
|
+
"changes": [
|
|
7
|
+
{
|
|
8
|
+
"kind": "changed",
|
|
9
|
+
"summary": "Expo iOS now has an automated native observability gate for generated Swift compilation, trusted-relay redaction, restart-safe retry, acknowledgement, and deduplication.",
|
|
10
|
+
"symbols": [
|
|
11
|
+
"expoNativeObservabilityRuntimeSource"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"date": "2026-09-13",
|
|
16
|
+
"version": "0.20.0-beta.92"
|
|
17
|
+
},
|
|
5
18
|
{
|
|
6
19
|
"changes": [
|
|
7
20
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-d8AfPq/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-d8AfPq/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
|
48
48
|
getWarningController()?.maybeWarn(primitiveName);
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
// .angular-partial-tmp-
|
|
51
|
+
// .angular-partial-tmp-d8AfPq/src/core/streamingSlotRegistry.ts
|
|
52
52
|
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
53
53
|
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
54
54
|
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
createIslandRegistryDefinitionPlugin,
|
|
13
13
|
finalizeAbsoluteMobileCompatibilityBuild,
|
|
14
14
|
resolveServerBundleExternals
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-751czk1b.js";
|
|
16
16
|
import {
|
|
17
17
|
loadIslandRegistryBuildInfo
|
|
18
18
|
} from "./index-bzs19w3r.js";
|
|
@@ -36,7 +36,7 @@ import"./index-w5vswatm.js";
|
|
|
36
36
|
import {
|
|
37
37
|
normalizeAbsoluteMobileConfig
|
|
38
38
|
} from "./index-rd2hbttb.js";
|
|
39
|
-
import"./index-
|
|
39
|
+
import"./index-8zrnvazp.js";
|
|
40
40
|
import {
|
|
41
41
|
ABSOLUTE_NATIVE_AUTH_CLIENTS_ENV,
|
|
42
42
|
installAbsoluteMobileAuthEnvironment
|
|
@@ -1282,7 +1282,7 @@ var loadAbsoluteMobileDevModules = async () => {
|
|
|
1282
1282
|
iosNativeWatcher
|
|
1283
1283
|
] = await Promise.all([
|
|
1284
1284
|
import("./config-vy04mqce.js"),
|
|
1285
|
-
import("./expoProject-
|
|
1285
|
+
import("./expoProject-djc0vk7g.js"),
|
|
1286
1286
|
import("./expoDevController-tr63cg78.js"),
|
|
1287
1287
|
import("./nativeAuth-zx4tsb1f.js"),
|
|
1288
1288
|
import("./androidEmulatorController-nybhzc6c.js"),
|
|
@@ -998,6 +998,27 @@ public final class AbsoluteMobileObservabilityModule: Module, MXMetricManagerSub
|
|
|
998
998
|
}
|
|
999
999
|
}
|
|
1000
1000
|
}
|
|
1001
|
+
|
|
1002
|
+
#if DEBUG
|
|
1003
|
+
AsyncFunction("enqueueForTesting") { (options: [String: String]) -> Bool in
|
|
1004
|
+
guard let testId = options["testId"],
|
|
1005
|
+
testId.range(of: "^[A-Za-z0-9._:-]{1,128}$", options: .regularExpression) != nil else { return false }
|
|
1006
|
+
let key = "absolute-native-observability-test-id"
|
|
1007
|
+
guard UserDefaults.standard.string(forKey: key) != testId else { return false }
|
|
1008
|
+
UserDefaults.standard.set(testId, forKey: key)
|
|
1009
|
+
Self.queue.sync {
|
|
1010
|
+
Self.enqueue(
|
|
1011
|
+
kind: "crash",
|
|
1012
|
+
occurredAt: Date().timeIntervalSince1970 * 1000,
|
|
1013
|
+
details: [
|
|
1014
|
+
"message": "token=mobile-observability-secret",
|
|
1015
|
+
"source": "absolutejs-conformance"
|
|
1016
|
+
]
|
|
1017
|
+
)
|
|
1018
|
+
}
|
|
1019
|
+
return true
|
|
1020
|
+
}
|
|
1021
|
+
#endif
|
|
1001
1022
|
}
|
|
1002
1023
|
|
|
1003
1024
|
private static func root() -> URL? {
|
|
@@ -1281,6 +1302,7 @@ import { ABSOLUTE_MOBILE_MANIFEST } from './webAssets';
|
|
|
1281
1302
|
type NativeObservabilityModule = {
|
|
1282
1303
|
acknowledge(options: { ids: string[] }): Promise<void>;
|
|
1283
1304
|
crashForTesting(options: { testId: string }): Promise<boolean>;
|
|
1305
|
+
enqueueForTesting(options: { testId: string }): Promise<boolean>;
|
|
1284
1306
|
pending(): Promise<{ reports: unknown[] }>;
|
|
1285
1307
|
};
|
|
1286
1308
|
type NativeReport = { details: Record<string, unknown>; id: string; kind: string; occurredAt: number; platform: 'android' | 'ios' };
|
|
@@ -1342,6 +1364,12 @@ export const startAbsoluteExpoNativeObservability = () => {
|
|
|
1342
1364
|
return drain();
|
|
1343
1365
|
};
|
|
1344
1366
|
export const crashAbsoluteExpoNativeObservabilityForTesting = (testId: string) => native.crashForTesting({ testId });
|
|
1367
|
+
export const enqueueAbsoluteExpoNativeObservabilityForTesting = async (testId: string) => {
|
|
1368
|
+
await drain();
|
|
1369
|
+
const enqueued = await native.enqueueForTesting({ testId });
|
|
1370
|
+
await drain();
|
|
1371
|
+
return enqueued;
|
|
1372
|
+
};
|
|
1345
1373
|
`;
|
|
1346
1374
|
var absoluteExpoNativeObservabilityFiles = (project) => new Map([
|
|
1347
1375
|
[
|
package/dist/cli/index.js
CHANGED
|
@@ -58,7 +58,7 @@ if (command === "dev") {
|
|
|
58
58
|
}
|
|
59
59
|
const positionalArgs = stripNamedArgs("--config", "--android-device", "--ios-device").filter((arg) => arg !== "--no-mobile" && arg !== "--eager");
|
|
60
60
|
const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
|
|
61
|
-
const { dev } = await import("./dev-
|
|
61
|
+
const { dev } = await import("./dev-perzmh2w.js");
|
|
62
62
|
await dev(serverEntry, configPath, {
|
|
63
63
|
androidDevice,
|
|
64
64
|
eager: args.includes("--eager"),
|
|
@@ -71,7 +71,7 @@ if (command === "dev") {
|
|
|
71
71
|
const configPath = parseNamedArg("--config");
|
|
72
72
|
const positionalArgs = stripNamedArgs("--outdir", "--config").filter((arg) => arg !== "--prebuilt");
|
|
73
73
|
const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
|
|
74
|
-
const { start } = await import("./start-
|
|
74
|
+
const { start } = await import("./start-ef7tgbmf.js");
|
|
75
75
|
await start(serverEntry, outdir, configPath, {
|
|
76
76
|
prebuilt: args.includes("--prebuilt")
|
|
77
77
|
});
|
|
@@ -81,7 +81,7 @@ if (command === "dev") {
|
|
|
81
81
|
const configPath = parseNamedArg("--config");
|
|
82
82
|
const positionalArgs = stripNamedArgs("--outdir", "--config");
|
|
83
83
|
const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
|
|
84
|
-
const { start } = await import("./start-
|
|
84
|
+
const { start } = await import("./start-ef7tgbmf.js");
|
|
85
85
|
await start(serverEntry, outdir, configPath, { prepareOnly: true });
|
|
86
86
|
} else if (command === "build") {
|
|
87
87
|
sendTelemetryEvent("cli:command", { command });
|
|
@@ -197,13 +197,13 @@ if (command === "dev") {
|
|
|
197
197
|
const configPath = parseNamedArg("--config");
|
|
198
198
|
const positionalArgs = stripNamedArgs("--outdir", "--outfile", "--config");
|
|
199
199
|
const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
|
|
200
|
-
const { compile } = await import("./compile-
|
|
200
|
+
const { compile } = await import("./compile-vf61bv90.js");
|
|
201
201
|
await compile(serverEntry, outdir, outfile, configPath);
|
|
202
202
|
} else if (command === "mobile") {
|
|
203
203
|
sendTelemetryEvent("cli:command", {
|
|
204
204
|
command: `mobile:${workspaceCommand ?? "unknown"}`
|
|
205
205
|
});
|
|
206
|
-
const { runMobile } = await import("./mobile-
|
|
206
|
+
const { runMobile } = await import("./mobile-yk7qr9qg.js");
|
|
207
207
|
try {
|
|
208
208
|
await runMobile(args);
|
|
209
209
|
} catch (error) {
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
} from "./index-9r7n9dqp.js";
|
|
8
8
|
import {
|
|
9
9
|
start
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-gxkmg2ss.js";
|
|
11
11
|
import {
|
|
12
12
|
ABSOLUTE_MOBILE_CLIENT_MANIFEST_FORMAT,
|
|
13
13
|
ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,
|
|
14
14
|
resolveAbsoluteMobileRoute
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-751czk1b.js";
|
|
16
16
|
import"./index-bzs19w3r.js";
|
|
17
17
|
import"./index-s2tazax7.js";
|
|
18
18
|
import {
|
|
@@ -66,7 +66,7 @@ import {
|
|
|
66
66
|
syncAbsoluteExpoWebAssets,
|
|
67
67
|
unsignedAbsoluteMobileUpdate,
|
|
68
68
|
writeAbsoluteExpoProject
|
|
69
|
-
} from "./index-
|
|
69
|
+
} from "./index-8zrnvazp.js";
|
|
70
70
|
import {
|
|
71
71
|
normalizeAbsoluteIosDeviceIdentifier
|
|
72
72
|
} from "./index-j66p8hn5.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
start
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
4
|
+
} from "./index-gxkmg2ss.js";
|
|
5
|
+
import"./index-751czk1b.js";
|
|
6
6
|
import"./index-bzs19w3r.js";
|
|
7
7
|
import"./index-s2tazax7.js";
|
|
8
8
|
import"./index-fc9vxw56.js";
|
|
@@ -11,7 +11,7 @@ import"./index-06cmrcdq.js";
|
|
|
11
11
|
import"./index-9kwmb3c0.js";
|
|
12
12
|
import"./index-w5vswatm.js";
|
|
13
13
|
import"./index-rd2hbttb.js";
|
|
14
|
-
import"./index-
|
|
14
|
+
import"./index-8zrnvazp.js";
|
|
15
15
|
import"./index-ar4gz15x.js";
|
|
16
16
|
import"./index-t84wxk1p.js";
|
|
17
17
|
import"./index-wtfnv3n2.js";
|
package/dist/mobile/index.js
CHANGED
|
@@ -27843,6 +27843,27 @@ public final class AbsoluteMobileObservabilityModule: Module, MXMetricManagerSub
|
|
|
27843
27843
|
}
|
|
27844
27844
|
}
|
|
27845
27845
|
}
|
|
27846
|
+
|
|
27847
|
+
#if DEBUG
|
|
27848
|
+
AsyncFunction("enqueueForTesting") { (options: [String: String]) -> Bool in
|
|
27849
|
+
guard let testId = options["testId"],
|
|
27850
|
+
testId.range(of: "^[A-Za-z0-9._:-]{1,128}$", options: .regularExpression) != nil else { return false }
|
|
27851
|
+
let key = "absolute-native-observability-test-id"
|
|
27852
|
+
guard UserDefaults.standard.string(forKey: key) != testId else { return false }
|
|
27853
|
+
UserDefaults.standard.set(testId, forKey: key)
|
|
27854
|
+
Self.queue.sync {
|
|
27855
|
+
Self.enqueue(
|
|
27856
|
+
kind: "crash",
|
|
27857
|
+
occurredAt: Date().timeIntervalSince1970 * 1000,
|
|
27858
|
+
details: [
|
|
27859
|
+
"message": "token=mobile-observability-secret",
|
|
27860
|
+
"source": "absolutejs-conformance"
|
|
27861
|
+
]
|
|
27862
|
+
)
|
|
27863
|
+
}
|
|
27864
|
+
return true
|
|
27865
|
+
}
|
|
27866
|
+
#endif
|
|
27846
27867
|
}
|
|
27847
27868
|
|
|
27848
27869
|
private static func root() -> URL? {
|
|
@@ -28126,6 +28147,7 @@ import { ABSOLUTE_MOBILE_MANIFEST } from './webAssets';
|
|
|
28126
28147
|
type NativeObservabilityModule = {
|
|
28127
28148
|
acknowledge(options: { ids: string[] }): Promise<void>;
|
|
28128
28149
|
crashForTesting(options: { testId: string }): Promise<boolean>;
|
|
28150
|
+
enqueueForTesting(options: { testId: string }): Promise<boolean>;
|
|
28129
28151
|
pending(): Promise<{ reports: unknown[] }>;
|
|
28130
28152
|
};
|
|
28131
28153
|
type NativeReport = { details: Record<string, unknown>; id: string; kind: string; occurredAt: number; platform: 'android' | 'ios' };
|
|
@@ -28187,6 +28209,12 @@ export const startAbsoluteExpoNativeObservability = () => {
|
|
|
28187
28209
|
return drain();
|
|
28188
28210
|
};
|
|
28189
28211
|
export const crashAbsoluteExpoNativeObservabilityForTesting = (testId: string) => native.crashForTesting({ testId });
|
|
28212
|
+
export const enqueueAbsoluteExpoNativeObservabilityForTesting = async (testId: string) => {
|
|
28213
|
+
await drain();
|
|
28214
|
+
const enqueued = await native.enqueueForTesting({ testId });
|
|
28215
|
+
await drain();
|
|
28216
|
+
return enqueued;
|
|
28217
|
+
};
|
|
28190
28218
|
`;
|
|
28191
28219
|
var absoluteExpoNativeObservabilityFiles = (project) => new Map([
|
|
28192
28220
|
[
|
|
@@ -40512,5 +40540,5 @@ export {
|
|
|
40512
40540
|
writeAbsoluteMobileUpdateRegistry
|
|
40513
40541
|
};
|
|
40514
40542
|
|
|
40515
|
-
//# debugId=
|
|
40543
|
+
//# debugId=8F55062CC1F78A5264756E2164756E21
|
|
40516
40544
|
//# sourceMappingURL=index.js.map
|