@xyo-network/os-react-runtime 4.2.0-rc.4 → 4.2.0-rc.6

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 (28) hide show
  1. package/dist/browser/index.mjs +21 -36
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/browser/modules/Dapp/Page/Row.d.ts +2 -1
  4. package/dist/browser/modules/Dapp/Page/Row.d.ts.map +1 -1
  5. package/dist/browser/modules/Dapp/modules/Window/DappWindow.d.ts.map +1 -1
  6. package/dist/browser/modules/Dapp/modules/Window/hooks/route/helpers/index.d.ts +4 -4
  7. package/dist/browser/modules/Dapp/modules/Window/hooks/route/helpers/index.d.ts.map +1 -1
  8. package/dist/browser/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappInjectableParamsFromRoute.d.ts +1 -1
  9. package/dist/browser/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappInjectableParamsFromRoute.d.ts.map +1 -1
  10. package/dist/browser/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappPathFromRoute.d.ts +2 -0
  11. package/dist/browser/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappPathFromRoute.d.ts.map +1 -1
  12. package/dist/browser/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappStateFromRoute.d.ts +2 -2
  13. package/dist/browser/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappStateFromRoute.d.ts.map +1 -1
  14. package/dist/browser/modules/Dapp/modules/Window/hooks/route/index.d.ts +0 -1
  15. package/dist/browser/modules/Dapp/modules/Window/hooks/route/index.d.ts.map +1 -1
  16. package/package.json +9 -9
  17. package/src/hooks/os/useWidgetDapps.tsx +1 -1
  18. package/src/modules/Dapp/Page/Row.tsx +4 -5
  19. package/src/modules/Dapp/modules/Window/DappWindow.tsx +3 -1
  20. package/src/modules/Dapp/modules/Window/hooks/route/helpers/RoutingNodes.md +7 -0
  21. package/src/modules/Dapp/modules/Window/hooks/route/helpers/index.ts +4 -4
  22. package/src/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappInjectableParamsFromRoute.tsx +1 -1
  23. package/src/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappPathFromRoute.tsx +2 -0
  24. package/src/modules/Dapp/modules/Window/hooks/route/helpers/useManageDappStateFromRoute.tsx +26 -20
  25. package/src/modules/Dapp/modules/Window/hooks/route/index.ts +0 -1
  26. package/dist/browser/modules/Dapp/modules/Window/hooks/route/useManageDappBasedOffRoute.d.ts +0 -19
  27. package/dist/browser/modules/Dapp/modules/Window/hooks/route/useManageDappBasedOffRoute.d.ts.map +0 -1
  28. package/src/modules/Dapp/modules/Window/hooks/route/useManageDappBasedOffRoute.tsx +0 -33
@@ -1021,7 +1021,7 @@ var WidgetCaller = class extends OsCallerBase {
1021
1021
  var useWidgetDapps = /* @__PURE__ */ __name((registeredDapps, widgetTrayLayout) => {
1022
1022
  const context = useXyOsUiContext();
1023
1023
  return usePromise8(async () => {
1024
- if (registeredDapps && context && widgetTrayLayout) {
1024
+ if (registeredDapps && registeredDapps.length > 0 && context && widgetTrayLayout) {
1025
1025
  const caller = new WidgetCaller(context, registeredDapps, widgetTrayLayout);
1026
1026
  return await caller.buildWidgetComponents();
1027
1027
  }
@@ -2409,62 +2409,47 @@ var useManageDappPathFromRoute = /* @__PURE__ */ __name((context, dappName) => {
2409
2409
  import { usePromise as usePromise14 } from "@xylabs/react-promise";
2410
2410
  import { DappIntentTypes as DappIntentTypes9 } from "@xyo-network/os-model";
2411
2411
  import { DappIntentCaller as DappIntentCaller5, NameTransforms as NameTransforms3 } from "@xyo-network/os-runtime";
2412
- import { useNavigationType, useParams as useParams5 } from "react-router-dom";
2413
- var useManageDappStateFromRoute = /* @__PURE__ */ __name((intentPayload, dappName) => {
2412
+ import { useRef as useRef6 } from "react";
2413
+ import { useParams as useParams5 } from "react-router-dom";
2414
+ var useManageDappStateFromRoute = /* @__PURE__ */ __name((intentPayload) => {
2414
2415
  const params = useParams5();
2415
2416
  const { dappName: dappNameParam } = params;
2416
2417
  const sendIntent = useSendDappIntent();
2417
- const navigationType = useNavigationType();
2418
2418
  const intentCaller = useDappIntentCaller();
2419
+ const dappNameParamRef = useRef6();
2420
+ const intentRef = useRef6();
2419
2421
  usePromise14(async () => {
2420
2422
  const launched = intentPayload?.intent === DappIntentTypes9.Launch;
2421
- if (launched && dappNameParam === void 0 && sendIntent && navigationType === "POP") {
2422
- const closeIntent = DappIntentCaller5.buildIntent(DappIntentCaller5.OsDappName, DappIntentTypes9.Close, dappName);
2423
+ const dappNameParamRemoved = !!dappNameParamRef.current && dappNameParam === void 0;
2424
+ if (launched && dappNameParamRemoved && sendIntent) {
2425
+ const closeIntent = DappIntentCaller5.buildIntent(DappIntentCaller5.OsDappName, DappIntentTypes9.Close);
2423
2426
  await sendIntent(closeIntent);
2424
2427
  }
2428
+ dappNameParamRef.current = dappNameParam;
2425
2429
  }, [
2426
- dappName,
2427
2430
  dappNameParam,
2428
2431
  intentPayload,
2429
- navigationType,
2430
2432
  sendIntent
2431
2433
  ]);
2432
2434
  usePromise14(async () => {
2433
- if (dappNameParam && dappName && sendIntent && intentCaller) {
2435
+ if (dappNameParam && sendIntent && intentCaller) {
2434
2436
  const dappNameParamDeSlugged = new NameTransforms3(dappNameParam).deSlug();
2435
- const notLaunched = intentPayload?.intent !== DappIntentTypes9.Launch;
2436
- const paramMatchesDappName = dappNameParamDeSlugged === dappName;
2437
- if (notLaunched && paramMatchesDappName) {
2438
- const latestIntent = await intentCaller.latestIntent();
2439
- const existing = latestIntent && latestIntent.targetDappId === dappNameParamDeSlugged;
2440
- if (!existing) {
2441
- const launchIntent = DappIntentCaller5.buildIntent(DappIntentCaller5.OsDappName, DappIntentTypes9.Launch, dappNameParamDeSlugged);
2442
- await sendIntent(launchIntent);
2443
- return;
2444
- }
2437
+ const autoLaunchNeeded = intentRef.current === void 0 && dappNameParam;
2438
+ if (autoLaunchNeeded) {
2439
+ const launchIntent = DappIntentCaller5.buildIntent(DappIntentCaller5.OsDappName, DappIntentTypes9.Launch, dappNameParamDeSlugged);
2440
+ await sendIntent(launchIntent);
2441
+ intentRef.current = launchIntent;
2442
+ return;
2445
2443
  }
2446
2444
  }
2447
2445
  }, [
2448
2446
  dappNameParam,
2449
- dappName,
2450
2447
  sendIntent,
2451
2448
  intentCaller,
2452
2449
  intentPayload?.intent
2453
2450
  ]);
2454
2451
  }, "useManageDappStateFromRoute");
2455
2452
 
2456
- // src/modules/Dapp/modules/Window/hooks/route/useManageDappBasedOffRoute.tsx
2457
- var useManageDappBasedOffRoute = /* @__PURE__ */ __name((intentPayload, dappName, context) => {
2458
- const handleIntentError = useManageDappIntentRequest(context, dappName);
2459
- useManageDappStateFromRoute(intentPayload, dappName);
2460
- useManageDappPathFromRoute(context, dappName);
2461
- const injectableErrors = useManageDappInjectableParamsFromRoute(context);
2462
- return [
2463
- ...injectableErrors,
2464
- handleIntentError
2465
- ];
2466
- }, "useManageDappBasedOffRoute");
2467
-
2468
2453
  // src/modules/Dapp/modules/Window/NodeManifest.tsx
2469
2454
  import { usePromise as usePromise15 } from "@xylabs/react-promise";
2470
2455
  import { useProvidedNode } from "@xyo-network/react-node";
@@ -3148,6 +3133,8 @@ var DappWindow = /* @__PURE__ */ __name(({ context, dappSet, dappState, dappWall
3148
3133
  const { active, minimized } = dappState ?? {};
3149
3134
  const TypedDappComponent = useMemo12(() => DappComponent, []);
3150
3135
  useSyncOsRegisteredAccessInterfaces(context);
3136
+ useManageDappPathFromRoute(context, name);
3137
+ useManageDappInjectableParamsFromRoute(context);
3151
3138
  const { activePath, error: menuError, menuConfig, menuItemsVisible, onPathChange } = useDappMenu(context, name);
3152
3139
  const resolvedErrors = [
3153
3140
  nodeCreateError,
@@ -3288,12 +3275,11 @@ var DividerChip = /* @__PURE__ */ __name(({ registeredDapps, ...props }) => {
3288
3275
  }, "DividerChip");
3289
3276
 
3290
3277
  // src/modules/Dapp/Page/Row.tsx
3291
- var DappsRow = /* @__PURE__ */ __name(({ chipLabel, installType, registeredDappsSet, xnsNetwork, xnsNodeUrl }) => {
3278
+ var DappsRow = /* @__PURE__ */ __name(({ chipLabel, currentIntent, installType, registeredDappsSet, xnsNetwork, xnsNodeUrl }) => {
3292
3279
  const filteredRegisteredDappSets = useMemo14(() => DappInstallTypeFilters[installType](registeredDappsSet), [
3293
3280
  installType,
3294
3281
  registeredDappsSet
3295
3282
  ]);
3296
- const { intentPayload } = useDappIntentListener(null);
3297
3283
  return /* @__PURE__ */ React29.createElement(React29.Fragment, null, /* @__PURE__ */ React29.createElement(Divider4, {
3298
3284
  variant: "middle",
3299
3285
  sx: {
@@ -3307,7 +3293,7 @@ var DappsRow = /* @__PURE__ */ __name(({ chipLabel, installType, registeredDapps
3307
3293
  in: !!filteredRegisteredDappSets?.length,
3308
3294
  timeout: 1e3
3309
3295
  }, /* @__PURE__ */ React29.createElement(StyledGridContainer, null, filteredRegisteredDappSets?.map((dappSet) => /* @__PURE__ */ React29.createElement(DappContainerMemo, {
3310
- currentIntent: intentPayload,
3296
+ currentIntent,
3311
3297
  key: dappSet.dapp.config.name,
3312
3298
  dappSet,
3313
3299
  xnsNodeUrl,
@@ -4931,7 +4917,6 @@ export {
4931
4917
  useExposedNode,
4932
4918
  useIntentResourceViews,
4933
4919
  useKernel,
4934
- useManageDappBasedOffRoute,
4935
4920
  useManageDappInjectableParamsFromRoute,
4936
4921
  useManageDappIntentRequest,
4937
4922
  useManageDappPathFromRoute,