@absolutejs/absolute 0.20.0-beta.28 → 0.20.0-beta.29
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/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/cli/index.js +30 -2
- package/dist/index.js +10 -5
- package/dist/index.js.map +3 -3
- package/dist/mobile/index.js +134 -40
- package/dist/mobile/index.js.map +7 -6
- package/dist/src/mobile/androidUpgradeConformance.d.ts +47 -0
- package/dist/src/mobile/index.d.ts +1 -0
- package/dist/src/mobile/nativeTestReport.d.ts +3 -10
- package/package.json +2 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-iocRFr/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-iocRFr/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-iocRFr/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";
|
package/dist/cli/index.js
CHANGED
|
@@ -1814,6 +1814,7 @@ var ANDROID_BOOT_TIMEOUT_MS = 180000, ANDROID_BOOT_POLL_MS = 1000, DEV_JOURNAL_F
|
|
|
1814
1814
|
options.serial,
|
|
1815
1815
|
"install",
|
|
1816
1816
|
"-r",
|
|
1817
|
+
"-d",
|
|
1817
1818
|
installPath
|
|
1818
1819
|
], "Android app installation", options.run, { env: options.env, signal: options.signal });
|
|
1819
1820
|
const updated = androidInstalledPackageIdentity(options.project, options.serial, options.capture, options.env);
|
|
@@ -17481,7 +17482,7 @@ var CDP_COMMAND_TIMEOUT_MS = 1e4, WEBVIEW_ATTACH_TIMEOUT_MS = 30000, WEBVIEW_POL
|
|
|
17481
17482
|
}, attachSocket = async (options, capture, fetcher, socket) => {
|
|
17482
17483
|
const hostPort = forwardSocket(options.adb, options.serial, socket, capture);
|
|
17483
17484
|
const targets = await readTargets(fetcher, hostPort).catch((error) => failForward(error, options, capture, hostPort));
|
|
17484
|
-
const target = selectTarget(targets);
|
|
17485
|
+
const target = selectTarget(targets.filter((candidate) => targetScore(candidate) >= 2));
|
|
17485
17486
|
if (!target) {
|
|
17486
17487
|
removeForward(options.adb, options.serial, hostPort, capture);
|
|
17487
17488
|
return;
|
|
@@ -18051,7 +18052,7 @@ var secretPattern, bearerPattern, coordinatePattern, sanitizeNativeReportText =
|
|
|
18051
18052
|
if (run.hmr)
|
|
18052
18053
|
hmrResult = run.hmr.outcome === "failed" ? "FAIL" : "PASS";
|
|
18053
18054
|
const routeDetails = run.routes?.length ? ` Routes: ${run.routes.join(", ")}.` : "";
|
|
18054
|
-
|
|
18055
|
+
const checks = [
|
|
18055
18056
|
{
|
|
18056
18057
|
details: `Captured host, toolchain, Bun, and AbsoluteJS metadata for ${target}.`,
|
|
18057
18058
|
id: "AUTO-SETUP-01",
|
|
@@ -18075,6 +18076,25 @@ var secretPattern, bearerPattern, coordinatePattern, sanitizeNativeReportText =
|
|
|
18075
18076
|
result: run.screenshot ? "PASS" : "FAIL"
|
|
18076
18077
|
}
|
|
18077
18078
|
];
|
|
18079
|
+
if (run.upgrade) {
|
|
18080
|
+
const { upgrade } = run;
|
|
18081
|
+
checks.push({
|
|
18082
|
+
details: `Android APK replacement ${upgrade.outcome === "pass" ? "preserved package identity" : "failed conformance"} in ${upgrade.installMs}ms. versionCode ${upgrade.before.versionCode ?? "unknown"} -> ${upgrade.after.versionCode ?? "unknown"}.`,
|
|
18083
|
+
id: "AUTO-UPGRADE-01",
|
|
18084
|
+
result: upgrade.outcome === "pass" ? "PASS" : "FAIL"
|
|
18085
|
+
}, {
|
|
18086
|
+
details: `Auth credential: ${upgrade.state.authCredential ? "preserved" : "missing"}; Sync database: ${upgrade.state.syncDatabase ? "preserved" : "missing"}; pending operations: ${upgrade.state.pendingOperations ? "preserved" : "missing"}.`,
|
|
18087
|
+
id: "AUTO-UPGRADE-02",
|
|
18088
|
+
result: Object.values(upgrade.state).every(Boolean) ? "PASS" : "FAIL"
|
|
18089
|
+
});
|
|
18090
|
+
if (upgrade.compatibility)
|
|
18091
|
+
checks.push({
|
|
18092
|
+
details: `N+1 ${upgrade.compatibility.nPlusOne}; N+2 ${upgrade.compatibility.nPlusTwo}; N+3 ${upgrade.compatibility.nPlusThree}; rollback ${upgrade.compatibility.rollback}.`,
|
|
18093
|
+
id: "AUTO-COMPAT-01",
|
|
18094
|
+
result: upgrade.compatibility.nPlusOne === "compatible" && upgrade.compatibility.nPlusTwo === "compatible" && upgrade.compatibility.nPlusThree === "upgrade-required" && upgrade.compatibility.rollback === "compatible" ? "PASS" : "FAIL"
|
|
18095
|
+
});
|
|
18096
|
+
}
|
|
18097
|
+
return checks;
|
|
18078
18098
|
}, createAbsoluteNativeTestReport = (options) => ({
|
|
18079
18099
|
automatedChecks: options.automatedChecks ?? createAbsoluteNativeAutomatedChecks(options.run),
|
|
18080
18100
|
generatedAt: options.generatedAt ?? new Date().toISOString(),
|
|
@@ -18299,6 +18319,14 @@ var init_androidTestReport = __esm(() => {
|
|
|
18299
18319
|
"Complete online, offline, reconnect, isolation, and conflict checks."
|
|
18300
18320
|
],
|
|
18301
18321
|
["BGSYNC-01", "Complete WorkManager background Sync acceptance."],
|
|
18322
|
+
[
|
|
18323
|
+
"UPGRADE-01",
|
|
18324
|
+
"Install the next APK in place and confirm Auth, Sync SQLite, and pending operations survive."
|
|
18325
|
+
],
|
|
18326
|
+
[
|
|
18327
|
+
"COMPAT-01",
|
|
18328
|
+
"Confirm installed app N works with retained N+1/N+2 producers, shows typed update-required at N+3, and recovers after server rollback."
|
|
18329
|
+
],
|
|
18302
18330
|
["BUILD-01", "Pass release doctor and produce a signed AAB."],
|
|
18303
18331
|
[
|
|
18304
18332
|
"REPORT-01",
|
package/dist/index.js
CHANGED
|
@@ -32662,6 +32662,10 @@ var applyMobileCorsHeaders = (response, origin) => {
|
|
|
32662
32662
|
response.headers.append("vary", "Origin");
|
|
32663
32663
|
return response;
|
|
32664
32664
|
};
|
|
32665
|
+
var finalizeMobileResponse = (request, response) => {
|
|
32666
|
+
const origin = mobileWebViewOrigin(request);
|
|
32667
|
+
return origin ? applyMobileCorsHeaders(response, origin) : response;
|
|
32668
|
+
};
|
|
32665
32669
|
var mobilePreflightResponse = (request) => {
|
|
32666
32670
|
if (request.method !== "OPTIONS")
|
|
32667
32671
|
return;
|
|
@@ -32719,23 +32723,24 @@ var createAbsoluteMobileCompatibilityDispatcher = (options) => {
|
|
|
32719
32723
|
return;
|
|
32720
32724
|
const resolved = resolveAbsoluteMobileCompatibilityRelease(parsed.client, artifacts);
|
|
32721
32725
|
if (resolved.kind === "upgrade-required") {
|
|
32722
|
-
return createAbsoluteMobileUpgradeResponse(resolved.result);
|
|
32726
|
+
return finalizeMobileResponse(request, createAbsoluteMobileUpgradeResponse(resolved.result));
|
|
32723
32727
|
}
|
|
32724
32728
|
if (!artifactOwnsRequest(resolved.artifact, parsed.client.pageId, request)) {
|
|
32725
|
-
return createAbsoluteMobileInvalidRequestResponse("The requested URL is not assigned to this mobile page.");
|
|
32729
|
+
return finalizeMobileResponse(request, createAbsoluteMobileInvalidRequestResponse("The requested URL is not assigned to this mobile page."));
|
|
32726
32730
|
}
|
|
32727
32731
|
if (resolved.artifact.releaseId === options.currentReleaseId) {
|
|
32728
32732
|
return;
|
|
32729
32733
|
}
|
|
32730
32734
|
try {
|
|
32731
32735
|
const producer = await resolveProducer(resolved.artifact);
|
|
32732
|
-
|
|
32736
|
+
const response = await runWithAbsoluteMobileProducer({
|
|
32733
32737
|
page: resolved.page,
|
|
32734
32738
|
releaseId: resolved.artifact.releaseId
|
|
32735
32739
|
}, () => producer.handle(request));
|
|
32740
|
+
return finalizeMobileResponse(request, response);
|
|
32736
32741
|
} catch (error) {
|
|
32737
32742
|
console.error(`[Mobile] Failed to load retained producer ${resolved.artifact.releaseId}:`, error);
|
|
32738
|
-
return createAbsoluteMobilePageErrorResponse(parsed.client.pageId);
|
|
32743
|
+
return finalizeMobileResponse(request, createAbsoluteMobilePageErrorResponse(parsed.client.pageId));
|
|
32739
32744
|
}
|
|
32740
32745
|
}).afterHandle("global", ({ request, responseValue }) => {
|
|
32741
32746
|
const origin = mobileWebViewOrigin(request);
|
|
@@ -40778,5 +40783,5 @@ export {
|
|
|
40778
40783
|
ANGULAR_INIT_TIMEOUT_MS
|
|
40779
40784
|
};
|
|
40780
40785
|
|
|
40781
|
-
//# debugId=
|
|
40786
|
+
//# debugId=BA41AA624E4BADC564756E2164756E21
|
|
40782
40787
|
//# sourceMappingURL=index.js.map
|