@qontinui/ui-bridge-native 0.4.0 → 0.5.1
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/debug/index.js.map +1 -1
- package/dist/debug/index.mjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +57 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +57 -1
- package/dist/index.mjs.map +1 -1
- package/dist/react/UIBridgeNativeProvider.d.ts +9 -2
- package/dist/react/UIBridgeNativeProvider.d.ts.map +1 -1
- package/dist/react/index.js +57 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +57 -1
- package/dist/react/index.mjs.map +1 -1
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/http-server.d.ts +8 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/index.js +51 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +51 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/types.d.ts +9 -0
- package/dist/server/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/react/index.mjs
CHANGED
|
@@ -2166,6 +2166,14 @@ function createServerHandlers(registry, executor, config) {
|
|
|
2166
2166
|
"NOT_SUPPORTED"
|
|
2167
2167
|
);
|
|
2168
2168
|
},
|
|
2169
|
+
// Keep-awake (stub — apps should override via setKeepAwakeProvider, which
|
|
2170
|
+
// the provider wires when a keepAwakeProvider prop is supplied)
|
|
2171
|
+
keepAwake: async () => {
|
|
2172
|
+
return error2(
|
|
2173
|
+
"keep-awake not configured. Provide a keepAwakeProvider to UIBridgeNativeProvider.",
|
|
2174
|
+
"NOT_SUPPORTED"
|
|
2175
|
+
);
|
|
2176
|
+
},
|
|
2169
2177
|
// Meta / Introspection (stub — server constructor overrides with real route table)
|
|
2170
2178
|
getMethods: async () => {
|
|
2171
2179
|
return error2("Methods introspection not configured", "NOT_SUPPORTED");
|
|
@@ -2839,6 +2847,12 @@ var WS_ROUTES = [
|
|
|
2839
2847
|
httpMethods: ["POST"],
|
|
2840
2848
|
requiresTestHooks: true
|
|
2841
2849
|
},
|
|
2850
|
+
{
|
|
2851
|
+
pattern: "control/keep-awake",
|
|
2852
|
+
handler: "keepAwake",
|
|
2853
|
+
httpMethods: ["POST"],
|
|
2854
|
+
requiresTestHooks: true
|
|
2855
|
+
},
|
|
2842
2856
|
// Observability — last-N console errors + network requests. testHooks-gated
|
|
2843
2857
|
// because patching `console.error` / `fetch` is invasive in production.
|
|
2844
2858
|
{
|
|
@@ -2891,7 +2905,8 @@ var HANDLER_DESCRIPTIONS = {
|
|
|
2891
2905
|
getConsoleErrors: "TEST HOOK \u2014 last-N console.error/console.warn entries; ?since=<ms>&limit=<n>",
|
|
2892
2906
|
getNetworkRequests: "TEST HOOK \u2014 last-N fetch/XHR entries with status + duration; ?since=<ms>&limit=<n>",
|
|
2893
2907
|
pushModal: "TEST HOOK \u2014 push a modal onto the snapshot.modalStack via the registry ModalDetector",
|
|
2894
|
-
dismissModal: "TEST HOOK \u2014 dismiss a modal by id from the snapshot.modalStack via the registry ModalDetector"
|
|
2908
|
+
dismissModal: "TEST HOOK \u2014 dismiss a modal by id from the snapshot.modalStack via the registry ModalDetector",
|
|
2909
|
+
keepAwake: "TEST HOOK \u2014 keep the device screen awake via the injected keepAwakeProvider: body { enabled: boolean, durationMs?: number }"
|
|
2895
2910
|
};
|
|
2896
2911
|
var ACTION_REFERENCE = [
|
|
2897
2912
|
{ name: "press", aliases: ["click"], params: "PressActionParams (optional position)" },
|
|
@@ -3159,6 +3174,35 @@ var NativeUIBridgeServer = class {
|
|
|
3159
3174
|
}
|
|
3160
3175
|
};
|
|
3161
3176
|
}
|
|
3177
|
+
/**
|
|
3178
|
+
* Set a keep-awake provider for native screen-wake control.
|
|
3179
|
+
* This enables `control/keep-awake` and arms the auto-arm hook in
|
|
3180
|
+
* handleRequest (every request keeps the screen alive for 60s).
|
|
3181
|
+
*/
|
|
3182
|
+
setKeepAwakeProvider(provider) {
|
|
3183
|
+
this.keepAwakeProvider = provider;
|
|
3184
|
+
this.handlers.keepAwake = async (ctx) => {
|
|
3185
|
+
const { enabled, durationMs } = ctx.body ?? {};
|
|
3186
|
+
if (typeof enabled !== "boolean") {
|
|
3187
|
+
return {
|
|
3188
|
+
success: false,
|
|
3189
|
+
error: "enabled must be boolean",
|
|
3190
|
+
code: "INVALID_REQUEST",
|
|
3191
|
+
timestamp: Date.now()
|
|
3192
|
+
};
|
|
3193
|
+
}
|
|
3194
|
+
if (enabled) {
|
|
3195
|
+
provider.request("ui-bridge", typeof durationMs === "number" ? durationMs : void 0);
|
|
3196
|
+
} else {
|
|
3197
|
+
provider.release("ui-bridge");
|
|
3198
|
+
}
|
|
3199
|
+
return {
|
|
3200
|
+
success: true,
|
|
3201
|
+
data: { enabled, durationMs: typeof durationMs === "number" ? durationMs : null },
|
|
3202
|
+
timestamp: Date.now()
|
|
3203
|
+
};
|
|
3204
|
+
};
|
|
3205
|
+
}
|
|
3162
3206
|
/**
|
|
3163
3207
|
* Start the HTTP server
|
|
3164
3208
|
*/
|
|
@@ -3751,6 +3795,12 @@ var NativeUIBridgeServer = class {
|
|
|
3751
3795
|
if (request.method === "OPTIONS") {
|
|
3752
3796
|
return { status: 204, headers, body: "" };
|
|
3753
3797
|
}
|
|
3798
|
+
if (this.config.testHooks === true && this.keepAwakeProvider) {
|
|
3799
|
+
try {
|
|
3800
|
+
this.keepAwakeProvider.request("auto-arm", 6e4);
|
|
3801
|
+
} catch {
|
|
3802
|
+
}
|
|
3803
|
+
}
|
|
3754
3804
|
try {
|
|
3755
3805
|
const response = await this.routeRequest(request);
|
|
3756
3806
|
return {
|
|
@@ -4651,6 +4701,7 @@ function UIBridgeNativeProvider({
|
|
|
4651
4701
|
serverAdapter,
|
|
4652
4702
|
navigationProvider,
|
|
4653
4703
|
screenshotProvider,
|
|
4704
|
+
keepAwakeProvider,
|
|
4654
4705
|
routeProvider,
|
|
4655
4706
|
cloudRelayConfig,
|
|
4656
4707
|
enableMdnsAnnounce,
|
|
@@ -4705,6 +4756,9 @@ function UIBridgeNativeProvider({
|
|
|
4705
4756
|
if (screenshotProvider) {
|
|
4706
4757
|
server.setScreenshotProvider(screenshotProvider);
|
|
4707
4758
|
}
|
|
4759
|
+
if (keepAwakeProvider) {
|
|
4760
|
+
server.setKeepAwakeProvider(keepAwakeProvider);
|
|
4761
|
+
}
|
|
4708
4762
|
if (routeProvider) {
|
|
4709
4763
|
server.setRouteProvider(routeProvider);
|
|
4710
4764
|
}
|
|
@@ -4758,6 +4812,7 @@ function UIBridgeNativeProvider({
|
|
|
4758
4812
|
serverAdapter,
|
|
4759
4813
|
navigationProvider,
|
|
4760
4814
|
screenshotProvider,
|
|
4815
|
+
keepAwakeProvider,
|
|
4761
4816
|
routeProvider
|
|
4762
4817
|
]);
|
|
4763
4818
|
const stopServer = useCallback(() => {
|
|
@@ -4791,6 +4846,7 @@ function UIBridgeNativeProvider({
|
|
|
4791
4846
|
});
|
|
4792
4847
|
if (navigationProvider) bareServer.setNavigationProvider(navigationProvider);
|
|
4793
4848
|
if (screenshotProvider) bareServer.setScreenshotProvider(screenshotProvider);
|
|
4849
|
+
if (keepAwakeProvider) bareServer.setKeepAwakeProvider(keepAwakeProvider);
|
|
4794
4850
|
if (routeProvider) bareServer.setRouteProvider(routeProvider);
|
|
4795
4851
|
serverRef.current = bareServer;
|
|
4796
4852
|
} catch (err) {
|