@harperfast/harper 5.1.0-beta.3 → 5.1.0
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/bin/copyDb.ts +16 -3
- package/dist/bin/copyDb.js +16 -3
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/resources/Table.js +43 -4
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/databases.js +135 -41
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/graphql.js +3 -0
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/replayLogs.d.ts +1 -0
- package/dist/resources/replayLogs.js +100 -40
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/replayLogsGuards.d.ts +25 -8
- package/dist/resources/replayLogsGuards.js +50 -10
- package/dist/resources/replayLogsGuards.js.map +1 -1
- package/dist/server/nodeName.js +9 -3
- package/dist/server/nodeName.js.map +1 -1
- package/dist/server/operationsServer.js +20 -0
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/utility/install/installer.js +12 -6
- package/dist/utility/install/installer.js.map +1 -1
- package/package.json +3 -3
- package/resources/Table.ts +41 -4
- package/resources/databases.ts +134 -42
- package/resources/graphql.ts +3 -0
- package/resources/replayLogs.ts +114 -42
- package/resources/replayLogsGuards.ts +58 -9
- package/server/nodeName.ts +9 -3
- package/server/operationsServer.ts +17 -0
- package/studio/web/assets/{Chat-BdFickL8.js → Chat-DMBW4pI2.js} +2 -2
- package/studio/web/assets/{Chat-BdFickL8.js.map → Chat-DMBW4pI2.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-CaAoco8I.js → FloatingChat-DTmhPsrm.js} +4 -4
- package/studio/web/assets/{FloatingChat-CaAoco8I.js.map → FloatingChat-DTmhPsrm.js.map} +1 -1
- package/studio/web/assets/{applications-C3y3xwyG.js → applications-CigxJarn.js} +2 -2
- package/studio/web/assets/{applications-C3y3xwyG.js.map → applications-CigxJarn.js.map} +1 -1
- package/studio/web/assets/{index-Cd3Zh3nK.js → index-oRZw5GW3.js} +6 -6
- package/studio/web/assets/index-oRZw5GW3.js.map +1 -0
- package/studio/web/assets/{index.lazy-0hLbh5Fo.js → index.lazy-DY3VcR86.js} +4 -4
- package/studio/web/assets/{index.lazy-0hLbh5Fo.js.map → index.lazy-DY3VcR86.js.map} +1 -1
- package/studio/web/assets/{profile-CwBWGuVt.js → profile-DiV60L50.js} +2 -2
- package/studio/web/assets/{profile-CwBWGuVt.js.map → profile-DiV60L50.js.map} +1 -1
- package/studio/web/assets/{setComponentFile-Dhrmd8eR.js → setComponentFile-Bz6WI4jy.js} +2 -2
- package/studio/web/assets/{setComponentFile-Dhrmd8eR.js.map → setComponentFile-Bz6WI4jy.js.map} +1 -1
- package/studio/web/assets/{status-Bykq6QcD.js → status-fW6PBpPM.js} +2 -2
- package/studio/web/assets/{status-Bykq6QcD.js.map → status-fW6PBpPM.js.map} +1 -1
- package/studio/web/assets/{swagger-ui-react-CF94s29D.js → swagger-ui-react-DRYf7G3J.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-CF94s29D.js.map → swagger-ui-react-DRYf7G3J.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-D7vuaG2W.js → useEntityRestURL-14jWKu9J.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-D7vuaG2W.js.map → useEntityRestURL-14jWKu9J.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/install/installer.ts +12 -5
- package/studio/web/assets/index-Cd3Zh3nK.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./button-kCMf1ZBL.js";import{C as t,M as n}from"./vendor-tanstack-DmFvmRiZ.js";import{Nt as r,_t as i}from"./index-
|
|
2
|
-
//# sourceMappingURL=useEntityRestURL-
|
|
1
|
+
import{i as e}from"./button-kCMf1ZBL.js";import{C as t,M as n}from"./vendor-tanstack-DmFvmRiZ.js";import{Nt as r,_t as i}from"./index-oRZw5GW3.js";function a(e){return new URL(e.match(/^https?:\/\//i)?e:`https://${e}`).toString()}function o(e){if(e?.domains){for(let t of e.domains)if(t.domain)return a(t.domain)}return e?.fqdn?a(e.fqdn):null}function s(){let{clusterId:a,instanceId:s}=t({strict:!1}),c=r(),{data:l}=n(i(a));return a&&e.checkForFabricConnect(a)||s&&e.checkForFabricConnect(s)||l&&!s?o(l):c.defaults.baseURL?c.defaults.baseURL.replace(/:9925\/?/,``):null}export{s as t};
|
|
2
|
+
//# sourceMappingURL=useEntityRestURL-14jWKu9J.js.map
|
package/studio/web/assets/{useEntityRestURL-D7vuaG2W.js.map → useEntityRestURL-14jWKu9J.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityRestURL-
|
|
1
|
+
{"version":3,"file":"useEntityRestURL-14jWKu9J.js","names":[],"sources":["../../src/lib/urls/linkify.ts","../../src/lib/urls/getRestUrlForCluster.ts","../../src/config/useEntityRestURL.ts"],"sourcesContent":["export function linkify(fqdn: string): string {\n\treturn new URL(\n\t\t!fqdn.match(/^https?:\\/\\//i)\n\t\t\t? `https://${fqdn}`\n\t\t\t: fqdn,\n\t).toString();\n}\n","import { Cluster } from '@/integrations/api/api.patch';\nimport { linkify } from '@/lib/urls/linkify';\n\nexport function getRestUrlForCluster(cluster: undefined | Pick<Cluster, 'fqdn' | 'domains'>): string | null {\n\tif (cluster?.domains) {\n\t\tfor (const domain of cluster.domains) {\n\t\t\tif (domain.domain) {\n\t\t\t\treturn linkify(domain.domain);\n\t\t\t}\n\t\t}\n\t}\n\tif (!cluster?.fqdn) {\n\t\treturn null;\n\t}\n\treturn linkify(cluster.fqdn);\n}\n","import { useInstanceClient } from '@/config/useInstanceClient';\nimport { authStore } from '@/features/auth/store/authStore';\nimport { getClusterInfoQueryOptions } from '@/features/cluster/queries/getClusterInfoQuery';\nimport { getRestUrlForCluster } from '@/lib/urls/getRestUrlForCluster';\nimport { useQuery } from '@tanstack/react-query';\nimport { useParams } from '@tanstack/react-router';\n\nexport function useEntityRestURL(): string | null {\n\tconst { clusterId, instanceId }: { clusterId?: string; instanceId?: string } = useParams({ strict: false });\n\tconst instanceClient = useInstanceClient();\n\tconst { data: cluster } = useQuery(\n\t\tgetClusterInfoQueryOptions(clusterId),\n\t);\n\n\tconst isFabricConnect = (!!clusterId && authStore.checkForFabricConnect(clusterId))\n\t\t|| !!instanceId && authStore.checkForFabricConnect(instanceId);\n\tif (isFabricConnect || (cluster && !instanceId)) {\n\t\treturn getRestUrlForCluster(cluster);\n\t} else if (instanceClient.defaults.baseURL) {\n\t\treturn instanceClient.defaults.baseURL.replace(/:9925\\/?/, '');\n\t}\n\treturn null;\n}\n"],"mappings":"mJAAA,SAAgB,EAAQ,EAAsB,CAC7C,OAAO,IAAI,IACT,EAAK,MAAM,eAAe,EAExB,EADA,WAAW,GAEf,EAAE,SAAS,CACZ,CCHA,SAAgB,EAAqB,EAAuE,CAC3G,GAAI,GAAS,aACP,IAAM,KAAU,EAAQ,QAC5B,GAAI,EAAO,OACV,OAAO,EAAQ,EAAO,MAAM,CAAA,CAO/B,OAHK,GAAS,KAGP,EAAQ,EAAQ,IAAI,EAFnB,IAGT,CCRA,SAAgB,GAAkC,CACjD,GAAM,CAAE,YAAW,cAA4D,EAAU,CAAE,OAAQ,EAAM,CAAC,EACpG,EAAiB,EAAkB,EACnC,CAAE,KAAM,GAAY,EACzB,EAA2B,CAAS,CACrC,EASA,OAP2B,GAAa,EAAU,sBAAsB,CAAS,GAC3E,GAAc,EAAU,sBAAsB,CAAU,GACtC,GAAW,CAAC,EAC5B,EAAqB,CAAO,EACzB,EAAe,SAAS,QAC3B,EAAe,SAAS,QAAQ,QAAQ,WAAY,EAAE,EAEvD,IACR"}
|
package/studio/web/index.html
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
} catch (e) {}
|
|
22
22
|
})();
|
|
23
23
|
</script>
|
|
24
|
-
<script type="module" crossorigin src="/assets/index-
|
|
24
|
+
<script type="module" crossorigin src="/assets/index-oRZw5GW3.js"></script>
|
|
25
25
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Cyuzqnbw.js">
|
|
26
26
|
<link rel="modulepreload" crossorigin href="/assets/vendor-datadog-Bq_0f1ke.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/assets/vendor-core-BIhSIGPv.js">
|
|
@@ -41,7 +41,13 @@ const ABORT_MSG = 'Aborting install';
|
|
|
41
41
|
const PROCESS_HOME = os.homedir();
|
|
42
42
|
const DEFAULT_HDB_ROOT = path.join(PROCESS_HOME, hdbTerms.HDB_ROOT_DIR_NAME);
|
|
43
43
|
const DEFAULT_ADMIN_USERNAME = 'admin';
|
|
44
|
-
|
|
44
|
+
// Intentionally null (not 'localhost'). Persisting a concrete node.hostname here cements a
|
|
45
|
+
// wrong identity: getThisNodeName() prefers node.hostname over replication.hostname, so a
|
|
46
|
+
// planted 'localhost' makes the node fail to find its own hdb_nodes self-row and silently
|
|
47
|
+
// disable user-DB replication (harper-pro#351 — exposed by in-place v4->v5 upgrades, where
|
|
48
|
+
// the install/migration boot would otherwise default this to 'localhost'). Leaving it unset
|
|
49
|
+
// preserves the working fallback chain (replication.hostname -> cert CN -> listening port).
|
|
50
|
+
const DEFAULT_NODE_HOSTNAME = null;
|
|
45
51
|
const DEFAULT_CONFIG_MODE = 'dev';
|
|
46
52
|
|
|
47
53
|
const DEV_MODE_CONFIG = {
|
|
@@ -270,10 +276,11 @@ async function installPrompts(promptOverride) {
|
|
|
270
276
|
name: hdbTerms.INSTALL_PROMPTS.NODE_HOSTNAME,
|
|
271
277
|
prefix: PROMPT_PREFIX,
|
|
272
278
|
default: DEFAULT_NODE_HOSTNAME,
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
279
|
+
// node.hostname is OPTIONAL — an unset value is valid and preferred when the operator
|
|
280
|
+
// hasn't got a stable name to pin (it falls back to replication.hostname / cert CN /
|
|
281
|
+
// listening port). Accept empty/unset rather than forcing a value, which is what used
|
|
282
|
+
// to cement 'localhost' (harper-pro#351).
|
|
283
|
+
validate: () => true,
|
|
277
284
|
message: HDB_PROMPT_MSG(INSTALL_PROMPTS.NODE_HOSTNAME),
|
|
278
285
|
},
|
|
279
286
|
{
|