signalk-questdb 1.5.5 → 1.5.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.
- package/dist/host-limits.d.ts +6 -0
- package/dist/host-limits.js +10 -0
- package/dist/host-limits.js.map +1 -1
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -1
- package/dist/test/host-limits.test.js +15 -0
- package/dist/test/host-limits.test.js.map +1 -1
- package/package.json +1 -1
- package/public/805.js +1 -1
package/dist/host-limits.d.ts
CHANGED
|
@@ -6,4 +6,10 @@ export interface MaxMapCountStatus {
|
|
|
6
6
|
}
|
|
7
7
|
export declare function parseMaxMapCount(content: string): number | null;
|
|
8
8
|
export declare function evaluateMaxMapCount(current: number): MaxMapCountStatus;
|
|
9
|
+
/** The nofile limits a container actually runs with, as reported live. */
|
|
10
|
+
export interface NofileLimits {
|
|
11
|
+
soft: number;
|
|
12
|
+
hard: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function nofileClampSatisfied(requested: number, live: NofileLimits | null): boolean;
|
|
9
15
|
export declare function readMaxMapCount(path?: string): Promise<MaxMapCountStatus | null>;
|
package/dist/host-limits.js
CHANGED
|
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.RECOMMENDED_MAX_MAP_COUNT = void 0;
|
|
23
23
|
exports.parseMaxMapCount = parseMaxMapCount;
|
|
24
24
|
exports.evaluateMaxMapCount = evaluateMaxMapCount;
|
|
25
|
+
exports.nofileClampSatisfied = nofileClampSatisfied;
|
|
25
26
|
exports.readMaxMapCount = readMaxMapCount;
|
|
26
27
|
const promises_1 = require("fs/promises");
|
|
27
28
|
exports.RECOMMENDED_MAX_MAP_COUNT = 1048576;
|
|
@@ -43,6 +44,15 @@ function evaluateMaxMapCount(current) {
|
|
|
43
44
|
tooLow: current < exports.RECOMMENDED_MAX_MAP_COUNT,
|
|
44
45
|
};
|
|
45
46
|
}
|
|
47
|
+
// A recorded ulimit-clamp advisory is a snapshot from the moment the
|
|
48
|
+
// container was created; the container may since have been recreated with
|
|
49
|
+
// the full limit (by signalk-container's regrant, or out-of-band by the
|
|
50
|
+
// operator). The advisory is stale — and must be cleared — once the live
|
|
51
|
+
// limits satisfy the request. Soft AND hard must both satisfy it: the soft
|
|
52
|
+
// limit is what actually bounds the process's fd allocation.
|
|
53
|
+
function nofileClampSatisfied(requested, live) {
|
|
54
|
+
return live !== null && live.soft >= requested && live.hard >= requested;
|
|
55
|
+
}
|
|
46
56
|
// Null on non-Linux, unreadable proc, or unparseable content — callers treat
|
|
47
57
|
// null as "unknown, say nothing" rather than warning on speculation.
|
|
48
58
|
async function readMaxMapCount(path = MAX_MAP_COUNT_PATH) {
|
package/dist/host-limits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-limits.js","sourceRoot":"","sources":["../src/host-limits.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,aAAa;AACb,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,kBAAkB;AAClB,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,4BAA4B;;;AAiB5B,4CAKC;AAED,kDAMC;AAID,0CAUC;
|
|
1
|
+
{"version":3,"file":"host-limits.js","sourceRoot":"","sources":["../src/host-limits.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,aAAa;AACb,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,kBAAkB;AAClB,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,4BAA4B;;;AAiB5B,4CAKC;AAED,kDAMC;AAcD,oDAKC;AAID,0CAUC;AA7DD,0CAAuC;AAE1B,QAAA,yBAAyB,GAAG,OAAO,CAAC;AAEjD,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAQxD,6EAA6E;AAC7E,0EAA0E;AAC1E,iBAAiB;AACjB,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAe;IACjD,OAAO;QACL,OAAO;QACP,WAAW,EAAE,iCAAyB;QACtC,MAAM,EAAE,OAAO,GAAG,iCAAyB;KAC5C,CAAC;AACJ,CAAC;AAQD,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,yEAAyE;AACzE,2EAA2E;AAC3E,6DAA6D;AAC7D,SAAgB,oBAAoB,CAClC,SAAiB,EACjB,IAAyB;IAEzB,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;AAC3E,CAAC;AAED,6EAA6E;AAC7E,qEAAqE;AAC9D,KAAK,UAAU,eAAe,CACnC,OAAe,kBAAkB;IAEjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -86,6 +86,10 @@ const QUESTDB_HEALTHCHECK = {
|
|
|
86
86
|
// so we pin it on the container. signalk-container clamps it down to what the
|
|
87
87
|
// host can actually grant (a rootless container cannot exceed the calling
|
|
88
88
|
// user's hard limit), so this is safe even where the host limit is lower.
|
|
89
|
+
// Caveat: rootless podman < 5.5.0 drops this request over the compat API
|
|
90
|
+
// (containers/podman#25881) and the container inherits the podman service's
|
|
91
|
+
// limits instead — still safe, and the /api/status live probe reports what
|
|
92
|
+
// the container actually got either way.
|
|
89
93
|
const QUESTDB_ULIMITS = { nofile: 1048576 };
|
|
90
94
|
// How often to re-check that the owned tables still have the correct `ts`
|
|
91
95
|
// schema (and rebuild any ILP auto-created with the wrong shape). 60s is far
|
|
@@ -101,6 +105,11 @@ const SKIP_RECHECK_DELAY_MS = 3_000;
|
|
|
101
105
|
// a runtime that stalls streaming logs must degrade the response (applyError
|
|
102
106
|
// null), not hang it.
|
|
103
107
|
const ENGINE_LOG_TIMEOUT_MS = 10_000;
|
|
108
|
+
// Deadline for the live nofile probe inside /api/status. Same rationale as
|
|
109
|
+
// ENGINE_LOG_TIMEOUT_MS, but tighter: the panel polls status every few
|
|
110
|
+
// seconds, so a stalled probe must never back requests up behind it — on
|
|
111
|
+
// timeout the clamp advisory is simply kept for this poll.
|
|
112
|
+
const NOFILE_PROBE_TIMEOUT_MS = 3_000;
|
|
104
113
|
function buildResourceLimits(config) {
|
|
105
114
|
return {
|
|
106
115
|
memory: config.questdbMemoryLimit?.trim() || null,
|
|
@@ -986,6 +995,55 @@ module.exports = (app) => {
|
|
|
986
995
|
// the tables don't exist yet during startup — treat as "not
|
|
987
996
|
// suspended".
|
|
988
997
|
}
|
|
998
|
+
// The clamp advisory is a snapshot from the moment the container
|
|
999
|
+
// was created; the container may since have been recreated with the
|
|
1000
|
+
// full limit (signalk-container's regrant on a raised host ceiling,
|
|
1001
|
+
// an update, an out-of-band operator fix). While the advisory
|
|
1002
|
+
// stands, verify it against the live limit on each poll and clear
|
|
1003
|
+
// it once satisfied — the same self-healing the hostMaxMapCount
|
|
1004
|
+
// probe above has. Requires signalk-container >= 1.25.3; without
|
|
1005
|
+
// the probe the advisory clears on the next plugin start.
|
|
1006
|
+
if (ulimitClamp && currentConfig?.managedContainer !== false) {
|
|
1007
|
+
const containers = globalThis
|
|
1008
|
+
.__signalk_containerManager;
|
|
1009
|
+
if (containers?.getContainerNofile) {
|
|
1010
|
+
// Capture what the probe is verifying: if an update recreates
|
|
1011
|
+
// the container while the probe is in flight (containerEpoch
|
|
1012
|
+
// bump) or the recreate records a NEW clamp, a stale probe
|
|
1013
|
+
// result must not clear it. Bounded like fetchEngineLogLines —
|
|
1014
|
+
// the container API mirror exposes no abort signal, so a
|
|
1015
|
+
// stalled runtime must degrade the response (advisory kept),
|
|
1016
|
+
// not hang the panel's status poll.
|
|
1017
|
+
const observedClamp = ulimitClamp;
|
|
1018
|
+
const observedEpoch = containerEpoch;
|
|
1019
|
+
let probeTimer;
|
|
1020
|
+
try {
|
|
1021
|
+
const live = await Promise.race([
|
|
1022
|
+
// The trailing catch keeps a probe that fails AFTER the
|
|
1023
|
+
// timeout won the race from surfacing as an unhandled
|
|
1024
|
+
// rejection.
|
|
1025
|
+
containers
|
|
1026
|
+
.getContainerNofile(QUESTDB_CONTAINER_NAME)
|
|
1027
|
+
.catch(() => null),
|
|
1028
|
+
new Promise((resolve) => {
|
|
1029
|
+
probeTimer = setTimeout(() => resolve(null), NOFILE_PROBE_TIMEOUT_MS);
|
|
1030
|
+
}),
|
|
1031
|
+
]);
|
|
1032
|
+
if ((0, host_limits_1.nofileClampSatisfied)(observedClamp.requested, live) &&
|
|
1033
|
+
ulimitClamp === observedClamp &&
|
|
1034
|
+
containerEpoch === observedEpoch) {
|
|
1035
|
+
ulimitClamp = null;
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
catch {
|
|
1039
|
+
// Probe failure — keep the advisory rather than guess.
|
|
1040
|
+
}
|
|
1041
|
+
finally {
|
|
1042
|
+
if (probeTimer)
|
|
1043
|
+
clearTimeout(probeTimer);
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
989
1047
|
res.json({
|
|
990
1048
|
status: "running",
|
|
991
1049
|
totalRows,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,4 +68,19 @@ const host_limits_1 = require("../host-limits");
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
|
+
(0, node_test_1.describe)("nofileClampSatisfied", () => {
|
|
72
|
+
(0, node_test_1.it)("is satisfied when soft and hard both meet the request", () => {
|
|
73
|
+
strict_1.default.equal((0, host_limits_1.nofileClampSatisfied)(1048576, { soft: 1048576, hard: 1048576 }), true);
|
|
74
|
+
strict_1.default.equal((0, host_limits_1.nofileClampSatisfied)(1048576, { soft: 2097152, hard: 2097152 }), true);
|
|
75
|
+
});
|
|
76
|
+
(0, node_test_1.it)("is not satisfied while the container still runs on the clamped limit", () => {
|
|
77
|
+
strict_1.default.equal((0, host_limits_1.nofileClampSatisfied)(1048576, { soft: 524288, hard: 524288 }), false);
|
|
78
|
+
});
|
|
79
|
+
(0, node_test_1.it)("requires the SOFT limit too — that is what bounds fd allocation", () => {
|
|
80
|
+
strict_1.default.equal((0, host_limits_1.nofileClampSatisfied)(1048576, { soft: 1024, hard: 1048576 }), false);
|
|
81
|
+
});
|
|
82
|
+
(0, node_test_1.it)("treats an unknown live limit as not satisfied (advisory stays)", () => {
|
|
83
|
+
strict_1.default.equal((0, host_limits_1.nofileClampSatisfied)(1048576, null), false);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
71
86
|
//# sourceMappingURL=host-limits.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-limits.test.js","sourceRoot":"","sources":["../../src/test/host-limits.test.ts"],"names":[],"mappings":";;;;;AAAA,yCAAyC;AACzC,gEAAwC;AACxC,0CAAqD;AACrD,2BAA4B;AAC5B,+BAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"host-limits.test.js","sourceRoot":"","sources":["../../src/test/host-limits.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/public/805.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunksignalk_questdb=self.webpackChunksignalk_questdb||[]).push([[805],{805(e,t,a){a.r(t),a.d(t,{default:()=>i});var n=a(231);const l={root:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',color:"#333",padding:"16px 0"},sectionTitle:{fontSize:13,fontWeight:600,color:"#888",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:10,marginTop:24},btn:{display:"inline-flex",alignItems:"center",gap:8,padding:"8px 16px",border:"none",borderRadius:6,fontSize:13,fontWeight:600,cursor:"pointer"},btnPrimary:{background:"#3b82f6",color:"#fff"},btnSave:{background:"#3b82f6",color:"#fff"},btnDanger:{background:"#ef4444",color:"#fff",padding:"6px 12px",fontSize:12},btnDisabled:{opacity:.5,cursor:"not-allowed"},status:{marginTop:8,fontSize:12,minHeight:18},warnBanner:{padding:"12px 16px",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:10,marginBottom:12,fontSize:13,color:"#991b1b",lineHeight:1.5},warnBannerTitle:{fontWeight:700,marginBottom:4},infoBanner:{padding:"12px 16px",background:"#fffbeb",border:"1px solid #fde68a",borderRadius:10,marginBottom:12,fontSize:13,color:"#92400e",lineHeight:1.5},warnBannerCode:{display:"block",marginTop:8,padding:"8px 10px",background:"#fff",border:"1px solid #fecaca",borderRadius:6,fontFamily:"monospace",fontSize:12,color:"#7f1d1d",whiteSpace:"pre-wrap",wordBreak:"break-word"},card:{display:"flex",alignItems:"center",gap:14,padding:"14px 18px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:12},cardIcon:{width:44,height:44,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,flexShrink:0},cardInfo:{flex:1},cardTitle:{fontSize:15,fontWeight:600,color:"#333"},cardMeta:{fontSize:12,color:"#888"},stateIndicator:{width:10,height:10,borderRadius:"50%",flexShrink:0},fieldRow:{display:"flex",alignItems:"center",gap:12,marginBottom:10},label:{fontSize:13,fontWeight:500,color:"#555",width:180,flexShrink:0},select:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",minWidth:200},input:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:200},inputSmall:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:80},checkbox:{width:16,height:16,accentColor:"#3b82f6"},hint:{fontSize:11,color:"#aaa",marginLeft:8},textarea:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,fontFamily:"monospace",background:"#fff",color:"#333",width:"100%",minHeight:70,boxSizing:"border-box",resize:"vertical"},empty:{textAlign:"center",padding:"30px 16px",color:"#999",fontSize:13},tag:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:10,fontWeight:600,marginLeft:8},tagPre:{background:"#fef3c7",color:"#92400e"},tagLatest:{background:"#dcfce7",color:"#166534"},migrationItem:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:8},migrationActions:{display:"flex",gap:8,alignItems:"center"},statsGrid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:10,marginBottom:12},statCard:{padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,textAlign:"center"},statValue:{fontSize:22,fontWeight:700,color:"#333"},statLabel:{fontSize:11,color:"#888",marginTop:2}};function r({title:e,children:t}){const[a,r]=(0,n.useState)(!1);return n.createElement("div",null,n.createElement("button",{type:"button","aria-expanded":a,style:{...l.sectionTitle,cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:6,width:"100%",textAlign:"left",background:"none",border:"none",padding:0},onClick:()=>r(!a)},n.createElement("span",{style:{fontSize:10,transition:"transform 0.15s",transform:a?"rotate(90deg)":"rotate(0deg)"}},"▶"),e),a&&n.createElement("div",{style:{marginBottom:16}},t))}function s(e){return null==e?"—":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function i({configuration:e,save:t}){const a=e||{},[i,o]=(0,n.useState)(a.questdbHost||"127.0.0.1"),[c,d]=(0,n.useState)(a.questdbIlpPort||9009),[u,m]=(0,n.useState)(a.questdbHttpPort||9e3),[p,g]=(0,n.useState)(a.questdbPgPort||8812),[h,f]=(0,n.useState)(a.questdbVersion||"latest"),[b,y]=(0,n.useState)(!1!==a.managedContainer),[E,v]=(0,n.useState)(!1!==a.recordSelf),[w,k]=(0,n.useState)(a.recordOthers||!1),[x,S]=(0,n.useState)(a.defaultSamplingRate??2e3),[R,T]=(0,n.useState)(a.retentionDays||0),[B,C]=(0,n.useState)("include"===a.pathFilter?.mode?"include":"exclude"),[D,I]=(0,n.useState)((Array.isArray(a.pathFilter?.paths)?a.pathFilter.paths:[]).join("\n")),[L,$]=(0,n.useState)(a.compression||"lz4"),[z,P]=(0,n.useState)(a.compressionLevel||3),[q,Q]=(0,n.useState)(a.networkName||"sk-network"),[A,N]=(0,n.useState)(a.exposeToContainers||!1),[M,W]=(0,n.useState)([]),[j,F]=(0,n.useState)(!1),[U,O]=(0,n.useState)(null),[V,H]=(0,n.useState)(!0),[_,G]=(0,n.useState)(null),[K,Z]=(0,n.useState)(!1),[J,X]=(0,n.useState)(""),[Y,ee]=(0,n.useState)(""),[te,ae]=(0,n.useState)(!1),[ne,le]=(0,n.useState)(null),[re,se]=(0,n.useState)(!1),[ie,oe]=(0,n.useState)(!1),[ce,de]=(0,n.useState)(!1),[ue,me]=(0,n.useState)(!1),[pe,ge]=(0,n.useState)(""),[he,fe]=(0,n.useState)(null),[be,ye]=(0,n.useState)(!1),Ee=(0,n.useRef)(0),[ve,we]=(0,n.useState)(!1),ke=(0,n.useCallback)(async()=>{F(!0);try{const e=await fetch("/plugins/signalk-questdb/api/versions");if(e.ok){const t=await e.json();W(t)}}catch{}F(!1)},[]),xe=(0,n.useCallback)(async()=>{try{const e=await fetch("/plugins/signalk-questdb/api/status"),t=await e.json().catch(()=>null);O(t&&"object"==typeof t?t:{status:"not_running"})}catch{O({status:"not_running"})}H(!1)},[]),Se=(0,n.useCallback)(async e=>{const t=++Ee.current;try{const a=await fetch("/plugins/signalk-questdb/api/wal-diagnosis",{signal:e});if(t!==Ee.current)return;if(a.ok){const e=await a.json();if(t!==Ee.current)return;fe(e),ye(!1)}else ye(!0)}catch{t===Ee.current&&ye(!0)}},[]),Re=Boolean(U&&"running"===U.status&&(U.suspendedTables||[]).length>0);(0,n.useEffect)(()=>{if(!Re)return fe(null),void ye(!1);let e=!1,t=null;const a=new AbortController,n=async()=>{await Se(a.signal),e||(t=setTimeout(n,15e3))};return n(),()=>{e=!0,a.abort(),t&&clearTimeout(t)}},[Re,Se]),(0,n.useEffect)(()=>{ke(),xe();const e=setInterval(xe,5e3);return()=>clearInterval(e)},[ke,xe]);const[Te,Be]=(0,n.useState)(""),[Ce,De]=(0,n.useState)(""),[Ie,Le]=(0,n.useState)("parquet"),[$e,ze]=(0,n.useState)(!1),Pe=U&&"running"===U.status,qe=Pe&&U.suspendedTables||[],Qe=qe.length>0,Ae=Pe&&U.schemaMismatch||!1,Ne=Pe&&U.ulimitClamp||null,Me=U?.hostMaxMapCount?.tooLow&&U.hostMaxMapCount||null,We=M.filter(e=>!e.prerelease).slice(0,3),je=M.filter(e=>e.prerelease).slice(0,2);return n.createElement("div",{style:l.root},n.createElement("div",{style:l.sectionTitle},"QuestDB Status"),Me&&n.createElement("div",{style:l.infoBanner},n.createElement("div",{style:l.warnBannerTitle},"Host vm.max_map_count is low — ",s(Me.current)," ","(QuestDB recommends ",s(Me.recommended),")"),"QuestDB memory-maps every partition and WAL segment it touches. As the database grows, this kernel limit can run out — mmap then fails with out-of-memory errors even though RAM is free, which shows up as slow or failing history queries, can suspend recording, and can take QuestDB down entirely. Run this in a shell on the host machine — not inside the QuestDB container, which can neither change the kernel-global limit nor has sudo (takes effect immediately, no restart needed):",n.createElement("code",{style:l.warnBannerCode},`echo 'vm.max_map_count=${Me.recommended}' | sudo tee /etc/sysctl.d/99-questdb.conf && sudo sysctl --system`)),V?n.createElement("div",{style:l.empty},"Checking QuestDB..."):Pe?n.createElement(n.Fragment,null,Qe&&n.createElement("div",{style:l.warnBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB WAL suspended — recording stalled"),"Rows are arriving but no longer commit, so the counts below have stopped advancing. This follows an error while QuestDB applied the write-ahead log — see the reason reported per table below. Resuming replays every pending transaction, so no data is lost.",n.createElement("code",{style:l.warnBannerCode},qe.map(e=>{const t=String(e.errorMessage||e.errorTag||"reason not reported").replace(/[\r\n]+/g," "),a=(he?.tables||[]).find(t=>t.name===e.name),n=a?.suspendedSince?` — frozen since ${a.suspendedSince}`:"";return`${e.name}: ${s(e.txnLag)} txns behind — ${t}${n}`}).join("\n")),(he?.tables||[]).filter(e=>e.applyError).map(e=>n.createElement("div",{key:e.name,style:{marginTop:8,fontSize:12}},"QuestDB's own log reports the apply failure on"," ",n.createElement("code",null,e.name)," as:",n.createElement("code",{style:l.warnBannerCode},e.applyError))),n.createElement("div",{style:{marginTop:10}},n.createElement("button",{style:{...l.btn,...l.btnPrimary,...ue||ve?l.btnDisabled:{}},disabled:ue||ve,onClick:async()=>{me(!0),ge("");try{const e=await fetch("/plugins/signalk-questdb/api/resume-wal",{method:"POST"}),t=await e.json().catch(()=>({error:e.statusText}));if(e.ok){const e=(t.results||[]).filter(e=>!e.ok);ge(0===e.length?`${t.message}. Recording resumes as the backlog drains — the banner clears once tables catch up.`:`${t.message}. `+e.map(e=>`${e.table}: ${e.error}`).join(" · ")),xe(),Se()}else ge(`Resume failed: ${t.error}`)}catch(e){ge(`Resume failed: ${e.message}`)}me(!1)}},ue?"Resuming...":"Resume recording")),qe.filter(e=>"failed"===e.autoResume).map(e=>{const t=(he?.tables||[]).find(t=>t.name===e.name);if(t?.partitionOpenFailure)return n.createElement("div",{key:e.name,style:{marginTop:12}},n.createElement("div",{style:l.warnBannerTitle},e.name,": table data damaged — automatic repair not possible"),"QuestDB fails while opening this table's stored data, before it reaches any pending transaction. That means the commit record on disk describes rows whose data never made it to storage — the signature of a power loss during a write. Skipping transactions cannot fix this (the failure happens before them) and would discard the ",s(e.txnLag)," pending transactions for nothing, so no repair button is offered. Recovering this table means repairing its commit record by hand; please open an issue with the error above. Recording continues into the other tables, and “Resume recording” will re-suspend this one within milliseconds — it is safe to press, but it cannot repair this damage.");const a=t?.skipPlan;return a?n.createElement("div",{key:e.name,style:{marginTop:12}},n.createElement("div",{style:l.warnBannerTitle},e.name,": automatic resume failed — WAL segment unreadable"),"A lossless resume was attempted and the table re-suspended at the same transaction: the write-ahead-log segment at the stall point cannot be read back (typically corrupted by an unclean shutdown mid-write). Replaying can never get past it. The only repair is to skip the unreadable segment, losing"," ",n.createElement("b",null,s(a.skippedTxns)," transaction(s)")," ","recorded between ",n.createElement("b",null,a.skipWindowStart)," and"," ",n.createElement("b",null,a.skipWindowEnd),a.tailSkip?" — and this is the newest pending segment, so skipping it drops the ENTIRE pending backlog":` — everything after the skipped segment (${s(Math.max(0,e.txnLag-a.skippedTxns))} txns) is replayed without loss`,".",n.createElement("div",{style:{marginTop:8}},n.createElement("button",{style:{...l.btn,...l.btnDanger,...ve||ue||be?l.btnDisabled:{}},disabled:ve||ue||be,onClick:()=>(async(e,t)=>{const a=t.tailSkip?"\n\nWARNING: this is the newest pending segment — skipping it drops the ENTIRE pending backlog.":"";if(window.confirm(`Skip the unreadable WAL segment on ${e}?\n\nThis permanently loses ${s(t.skippedTxns)} transaction(s) recorded between ${t.skipWindowStart} and ${t.skipWindowEnd}. Everything after the skipped segment is replayed without loss.`+a)){we(!0),ge("");try{const a=await fetch("/plugins/signalk-questdb/api/resume-wal/skip",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({table:e,confirmPlan:t})}),n=await a.json().catch(()=>({error:a.statusText}));a.ok?ge(n.message):ge(`Skip failed: ${n.error}`),xe(),Se()}catch(e){ge(`Skip failed: ${e.message}`)}we(!1)}})(e.name,a)},ve?"Skipping...":"Skip unreadable segment (loses data)"),be&&n.createElement("div",{style:{marginTop:6,fontSize:12}},"The diagnosis could not be refreshed — the numbers above may be stale. The skip re-enables once a refresh succeeds."))):null}),n.createElement("div",{style:{marginTop:8,fontSize:12}},"Manual fallback in the QuestDB SQL console (",n.createElement("code",null,":9000"),"), one statement at a time — avoid running it from several tabs, the console retries a busy statement forever:",n.createElement("code",{style:l.warnBannerCode},qe.map(e=>{const t=`"${String(e.name).replace(/"/g,'""')}"`,a=(he?.tables||[]).find(t=>t.name===e.name),n=[`ALTER TABLE ${t} RESUME WAL;`];return"failed"===e.autoResume&&a?.skipPlan&&!be&&n.push(`-- if the resume re-suspends: skip the unreadable segment (loses ${s(a.skipPlan.skippedTxns)} txns)`,`ALTER TABLE ${t} RESUME WAL FROM TXN ${a.skipPlan.skipToTxn};`),n.join("\n")}).join("\n")))),pe&&n.createElement("div",{style:l.infoBanner},pe),Ae&&n.createElement("div",{style:l.warnBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB table schema mismatch — data not readable"),"A QuestDB table was re-created by ILP ingestion with the wrong timestamp column, so rows are being stored but reads filtering on time (history, Grafana, and the counts above) return nothing. The plugin rebuilds the affected table with the correct schema automatically within a minute; if this persists, restart the plugin. (The few rows written into the wrong-schema table are lost — they were unreadable anyway.)"),Ne&&n.createElement("div",{style:l.infoBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB open-files limit capped by the host"),"QuestDB requested a ",n.createElement("code",null,Ne.ulimit)," limit of"," ",s(Ne.requested),", but this host only allows"," ",s(Ne.granted),", so it was capped. QuestDB is running on the lower limit. To grant the full value, raise the host limit for the user running the container runtime — under rootless Podman that means a systemd ",n.createElement("code",null,"user@.service")," ",n.createElement("code",null,"LimitNOFILE")," drop-in (editing"," ",n.createElement("code",null,"/etc/security/limits.conf")," alone is usually not enough) — then restart the QuestDB container."," ",n.createElement("a",{href:"https://github.com/dirkwa/signalk-container#raising-the-open-files-limit-nofile",target:"_blank",rel:"noreferrer",style:{color:"#92400e",textDecoration:"underline"}},"Step-by-step instructions"),"."),n.createElement("div",{style:l.card},n.createElement("div",{style:{...l.cardIcon,background:"#7c3aed",color:"#fff"}},"Q"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"QuestDB"),n.createElement("div",{style:l.cardMeta},U?.endpoint||`${i}:${u}`," ","· ",Qe?"WAL suspended":"Recording")),n.createElement("div",{style:{...l.stateIndicator,background:Qe?"#ef4444":"#10b981"},title:Qe?"WAL suspended":"Running"})),n.createElement("div",{style:l.statsGrid},n.createElement("div",{style:l.statCard},n.createElement("div",{style:l.statValue},s(U.totalRows)),n.createElement("div",{style:l.statLabel},"Total Rows")),n.createElement("div",{style:l.statCard},n.createElement("div",{style:l.statValue},s(U.activePathsToday)),n.createElement("div",{style:l.statLabel},"Active Paths Today"))),n.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12}},ne&&ne.updateAvailable?n.createElement(n.Fragment,null,n.createElement("span",{style:{fontSize:13}},"v",ne.currentVersion," →"," ",n.createElement("strong",null,"v",ne.latestVersion)," available"),n.createElement("button",{style:{...l.btn,...l.btnPrimary,padding:"4px 12px",fontSize:12,...ie?l.btnDisabled:{}},onClick:async()=>{oe(!0),ee("Pulling new image and restarting..."),ae(!1);try{const e=await fetch("/plugins/signalk-questdb/api/update/apply",{method:"POST"});if(e.ok){const t=await e.json();ee(t.message),le(null),t.newVersion&&f(t.newVersion),xe()}else{const t=await e.json().catch(()=>({error:e.statusText}));ee(`Update failed: ${t.error}`),ae(!0)}}catch(e){ee(`Update failed: ${e.message}`),ae(!0)}oe(!1)},disabled:ie},ie?"Updating...":"Update QuestDB")):ne&&!ne.updateAvailable?n.createElement("span",{style:{fontSize:12,color:"#888"}},"v",ne.currentVersion," (up to date)"):n.createElement("button",{style:{...l.btn,padding:"4px 12px",fontSize:12,background:"#f1f5f9",color:"#475569",border:"1px solid #e2e8f0",...re?l.btnDisabled:{}},onClick:async()=>{se(!0);try{const e=await fetch("/plugins/signalk-questdb/api/update/check");e.ok&&le(await e.json())}catch{}se(!1)},disabled:re},re?"Checking...":"Check for updates"))):n.createElement("div",{style:l.card},n.createElement("div",{style:{...l.cardIcon,background:"#fef2f2",color:"#ef4444"}},"Q"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"QuestDB"),n.createElement("div",{style:l.cardMeta},"unhealthy"===U?.status?"Not responding":"Not running",b?" — enable plugin to start container":"")),n.createElement("div",{style:{...l.stateIndicator,background:"#ef4444"}})),n.createElement("div",{style:l.sectionTitle},"Image Version"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"QuestDB version"),n.createElement("select",{style:l.select,value:h,onChange:e=>f(e.target.value)},n.createElement("option",{value:"latest"},"latest (recommended)"),je.map(e=>n.createElement("option",{key:e.tag,value:e.tag},e.tag," (pre-release)")),We.map((e,t)=>n.createElement("option",{key:e.tag,value:e.tag},e.tag,0===t?" (current stable)":""))),j&&n.createElement("span",{style:l.hint},"loading releases..."),n.createElement("button",{style:{...l.btn,...l.btnPrimary,padding:"4px 10px",fontSize:11},onClick:ke},"↻")),n.createElement("div",{style:l.sectionTitle},"Connection"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Managed container"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:b,onChange:e=>y(e.target.checked)}),n.createElement("span",{style:l.hint},b?"signalk-container manages QuestDB":"Connect to external QuestDB")),!b&&n.createElement(n.Fragment,null,n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"QuestDB host"),n.createElement("input",{style:l.input,value:i,onChange:e=>o(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"HTTP port (queries)"),n.createElement("input",{style:l.inputSmall,type:"number",value:u,onChange:e=>m(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ILP port (writes)"),n.createElement("input",{style:l.inputSmall,type:"number",value:c,onChange:e=>d(Number(e.target.value))}))),b&&n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Bind to 0.0.0.0"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:A,onChange:e=>N(e.target.checked)}),n.createElement("span",{style:{...l.hint,color:A?"#ef4444":void 0}},A?"Caution! This exposes your data to the network":"Signal K reaches QuestDB automatically — only enable to reach it from another machine or a separate-Docker Grafana")),b&&A&&n.createElement(n.Fragment,null,n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"HTTP port (queries)"),n.createElement("input",{style:l.inputSmall,type:"number",value:u,onChange:e=>m(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ILP port (writes)"),n.createElement("input",{style:l.inputSmall,type:"number",value:c,onChange:e=>d(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"PostgreSQL wire port"),n.createElement("input",{style:l.inputSmall,type:"number",value:p,onChange:e=>g(Number(e.target.value))}),n.createElement("span",{style:l.hint},"for Grafana")),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Container network"),n.createElement("input",{style:l.input,value:q,onChange:e=>Q(e.target.value)}),n.createElement("span",{style:l.hint},"shared with signalk-grafana"))),n.createElement("div",{style:l.sectionTitle},"Recording"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Default sampling rate (ms)"),n.createElement("input",{style:l.inputSmall,type:"number",value:x,onChange:e=>S(Number(e.target.value))}),n.createElement("span",{style:l.hint},"1000 = max 1 write/sec per path (0 = every update)")),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Record own vessel"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:E,onChange:e=>v(e.target.checked)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Record AIS targets"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:w,onChange:e=>k(e.target.checked)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Retention (days)"),n.createElement("input",{style:l.inputSmall,type:"number",value:R,onChange:e=>T(Number(e.target.value))}),n.createElement("span",{style:l.hint},"0 = keep forever")),n.createElement(r,{title:"Path filtering"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Filter mode"),n.createElement("select",{style:l.select,value:B,onChange:e=>C(e.target.value)},n.createElement("option",{value:"exclude"},"Exclude matching paths"),n.createElement("option",{value:"include"},"Include only matching paths"))),n.createElement("div",{style:{marginBottom:10}},n.createElement("div",{style:{...l.label,width:"auto",marginBottom:6}},"Path patterns (one per line, glob supported)"),n.createElement("textarea",{style:l.textarea,value:D,onChange:e=>I(e.target.value),placeholder:"navigation.position\nnavigation.*\nnotifications.*"}),n.createElement("div",{style:l.hint},"exclude"===B?"These paths are NOT recorded; everything else is.":"ONLY these paths are recorded; everything else is dropped."," ","Leave empty to record everything."))),n.createElement(r,{title:"Compression (on-disk)"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Compression codec"),n.createElement("select",{style:l.select,value:L,onChange:e=>$(e.target.value)},n.createElement("option",{value:"none"},"None"),n.createElement("option",{value:"lz4"},"LZ4 (fast)"),n.createElement("option",{value:"zstd"},"ZSTD (smaller)")),n.createElement("span",{style:l.hint},"applies to new data after save")),"zstd"===L&&n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ZSTD level"),n.createElement("input",{style:l.inputSmall,type:"number",min:"1",max:"22",value:z,onChange:e=>P(Number(e.target.value))}),n.createElement("span",{style:l.hint},"1 (fast) to 22 (smallest)"))),n.createElement(r,{title:"InfluxDB Migration"},n.createElement("div",{style:{display:"flex",gap:10,alignItems:"center",marginBottom:10}},n.createElement("button",{style:{...l.btn,...l.btnPrimary,...K?l.btnDisabled:{}},onClick:async()=>{Z(!0),ee("");try{const e=J?`?url=${encodeURIComponent(J)}`:"",t=await fetch(`/plugins/signalk-questdb/api/migration/detect${e}`);if(t.ok){const e=await t.json();G(e.sources),0===e.sources.length&&(ee(J?`No InfluxDB found at ${J}.`:"No InfluxDB instances detected on localhost:8086."),ae(!1))}}catch(e){ee("Detection failed: "+e.message),ae(!0)}Z(!1)},disabled:K},K?"Detecting...":"Detect InfluxDB"),n.createElement("span",{style:l.hint},"Checks localhost:8086 for InfluxDB 1.x and 2.x")),_&&_.length>0&&n.createElement("div",null,_.map((e,t)=>n.createElement("div",{key:t,style:l.migrationItem},n.createElement("div",{style:{...l.cardIcon,width:36,height:36,fontSize:16,background:"influxdb2"===e.type?"#020a47":"#22adf6",color:"#fff"}},"influxdb2"===e.type?"2":"1"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"InfluxDB ","influxdb2"===e.type?"2.x":"1.x",n.createElement("span",{style:{...l.tag,...l.tagLatest}},e.status)),n.createElement("div",{style:l.cardMeta},e.url," · v",e.version))))),n.createElement("div",{style:{...l.fieldRow,marginTop:10}},n.createElement("span",{style:l.label},"Manual InfluxDB URL"),n.createElement("input",{style:l.input,placeholder:"http://192.168.1.100:8086",value:J,onChange:e=>X(e.target.value)}),n.createElement("span",{style:l.hint},"for remote instances")),_&&0===_.length&&!K&&n.createElement("div",{style:{...l.empty,padding:"16px",textAlign:"left"}},"No InfluxDB found on localhost. Use manual URL above for remote instances.")),n.createElement(r,{title:"Data Export"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"From"),n.createElement("input",{style:l.input,type:"datetime-local",value:Te,onChange:e=>Be(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"To"),n.createElement("input",{style:l.input,type:"datetime-local",value:Ce,onChange:e=>De(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Format"),n.createElement("select",{style:l.select,value:Ie,onChange:e=>Le(e.target.value)},n.createElement("option",{value:"parquet"},"Parquet"),n.createElement("option",{value:"csv"},"CSV"))),n.createElement("button",{style:{...l.btn,...l.btnPrimary,...$e?l.btnDisabled:{}},onClick:async()=>{if(!Te||!Ce)return ee("Set both from and to dates for export."),void ae(!0);ze(!0),ee(`Exporting ${Ie.toUpperCase()}...`),ae(!1);try{const e=`/plugins/signalk-questdb/api/export?from=${encodeURIComponent(Te)}&to=${encodeURIComponent(Ce)}&format=${Ie}`,t=await fetch(e);if(!t.ok){const e=await t.json().catch(()=>({error:t.statusText}));return ee(`Export failed: ${e.error}`),ae(!0),void ze(!1)}const a=await t.blob(),n="parquet"===Ie?"parquet":"csv",l=document.createElement("a");l.href=URL.createObjectURL(a),l.download=`signalk-export-${Te.slice(0,10)}.${n}`,l.click(),URL.revokeObjectURL(l.href),ee(`Exported ${(a.size/1024/1024).toFixed(1)} MB`)}catch(e){ee(`Export failed: ${e.message}`),ae(!0)}ze(!1)},disabled:$e},$e?"Exporting...":"Export Data")),!1!==a.managedContainer&&n.createElement(r,{title:"Danger zone"},n.createElement("div",{style:{fontSize:13,color:"#555",marginBottom:10}},"Remove the QuestDB container and permanently delete all recorded data. Use this to fully reset QuestDB — Signal K's plugin-uninstall cannot delete this data on rootless Podman. This cannot be undone."),n.createElement("button",{style:{...l.btn,...l.btnDanger,...ce?l.btnDisabled:{}},onClick:async()=>{if(window.confirm("Remove the QuestDB container and DELETE ALL recorded data? This cannot be undone.")){de(!0),ee("Removing QuestDB container and data..."),ae(!1);try{const e=await fetch("/plugins/signalk-questdb/api/purge-data",{method:"POST"}),t=await e.json().catch(()=>({error:e.statusText}));e.ok?(ee(t.message),xe()):(ee(`Remove failed: ${t.error}`),ae(!0))}catch(e){ee(`Remove failed: ${e.message}`),ae(!0)}de(!1)}},disabled:ce},ce?"Removing...":"Remove container & all data")),Y&&n.createElement("div",{style:{...l.status,color:te?"#ef4444":"#10b981",marginTop:16}},Y),n.createElement("div",{style:{marginTop:24}},n.createElement("button",{style:{...l.btn,...l.btnSave},onClick:()=>{t({questdbHost:i,questdbIlpPort:c,questdbHttpPort:u,questdbPgPort:p,questdbVersion:h,managedContainer:b,defaultSamplingRate:x,recordSelf:E,recordOthers:w,retentionDays:R,compression:L,compressionLevel:z,networkName:q,exposeToContainers:A,pathFilter:{mode:B,paths:D.split("\n").map(e=>e.trim()).filter(Boolean)},samplingRates:a.samplingRates||{}}),ee("Saved! Plugin will restart with new configuration."),ae(!1)}},"Save Configuration")))}}}]);
|
|
1
|
+
"use strict";(self.webpackChunksignalk_questdb=self.webpackChunksignalk_questdb||[]).push([[805],{805(e,t,a){a.r(t),a.d(t,{default:()=>i});var n=a(231);const l={root:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',color:"#333",padding:"16px 0"},sectionTitle:{fontSize:13,fontWeight:600,color:"#888",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:10,marginTop:24},btn:{display:"inline-flex",alignItems:"center",gap:8,padding:"8px 16px",border:"none",borderRadius:6,fontSize:13,fontWeight:600,cursor:"pointer"},btnPrimary:{background:"#3b82f6",color:"#fff"},btnSave:{background:"#3b82f6",color:"#fff"},btnDanger:{background:"#ef4444",color:"#fff",padding:"6px 12px",fontSize:12},btnDisabled:{opacity:.5,cursor:"not-allowed"},status:{marginTop:8,fontSize:12,minHeight:18},warnBanner:{padding:"12px 16px",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:10,marginBottom:12,fontSize:13,color:"#991b1b",lineHeight:1.5},warnBannerTitle:{fontWeight:700,marginBottom:4},infoBanner:{padding:"12px 16px",background:"#fffbeb",border:"1px solid #fde68a",borderRadius:10,marginBottom:12,fontSize:13,color:"#92400e",lineHeight:1.5},warnBannerCode:{display:"block",marginTop:8,padding:"8px 10px",background:"#fff",border:"1px solid #fecaca",borderRadius:6,fontFamily:"monospace",fontSize:12,color:"#7f1d1d",whiteSpace:"pre-wrap",wordBreak:"break-word"},card:{display:"flex",alignItems:"center",gap:14,padding:"14px 18px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:12},cardIcon:{width:44,height:44,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,flexShrink:0},cardInfo:{flex:1},cardTitle:{fontSize:15,fontWeight:600,color:"#333"},cardMeta:{fontSize:12,color:"#888"},stateIndicator:{width:10,height:10,borderRadius:"50%",flexShrink:0},fieldRow:{display:"flex",alignItems:"center",gap:12,marginBottom:10},label:{fontSize:13,fontWeight:500,color:"#555",width:180,flexShrink:0},select:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",minWidth:200},input:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:200},inputSmall:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:80},checkbox:{width:16,height:16,accentColor:"#3b82f6"},hint:{fontSize:11,color:"#aaa",marginLeft:8},textarea:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,fontFamily:"monospace",background:"#fff",color:"#333",width:"100%",minHeight:70,boxSizing:"border-box",resize:"vertical"},empty:{textAlign:"center",padding:"30px 16px",color:"#999",fontSize:13},tag:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:10,fontWeight:600,marginLeft:8},tagPre:{background:"#fef3c7",color:"#92400e"},tagLatest:{background:"#dcfce7",color:"#166534"},migrationItem:{display:"flex",alignItems:"center",gap:12,padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:8},migrationActions:{display:"flex",gap:8,alignItems:"center"},statsGrid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:10,marginBottom:12},statCard:{padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,textAlign:"center"},statValue:{fontSize:22,fontWeight:700,color:"#333"},statLabel:{fontSize:11,color:"#888",marginTop:2}};function r({title:e,children:t}){const[a,r]=(0,n.useState)(!1);return n.createElement("div",null,n.createElement("button",{type:"button","aria-expanded":a,style:{...l.sectionTitle,cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:6,width:"100%",textAlign:"left",background:"none",border:"none",padding:0},onClick:()=>r(!a)},n.createElement("span",{style:{fontSize:10,transition:"transform 0.15s",transform:a?"rotate(90deg)":"rotate(0deg)"}},"▶"),e),a&&n.createElement("div",{style:{marginBottom:16}},t))}function s(e){return null==e?"—":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function i({configuration:e,save:t}){const a=e||{},[i,o]=(0,n.useState)(a.questdbHost||"127.0.0.1"),[c,d]=(0,n.useState)(a.questdbIlpPort||9009),[u,m]=(0,n.useState)(a.questdbHttpPort||9e3),[p,g]=(0,n.useState)(a.questdbPgPort||8812),[h,f]=(0,n.useState)(a.questdbVersion||"latest"),[b,y]=(0,n.useState)(!1!==a.managedContainer),[E,v]=(0,n.useState)(!1!==a.recordSelf),[w,k]=(0,n.useState)(a.recordOthers||!1),[x,S]=(0,n.useState)(a.defaultSamplingRate??2e3),[R,T]=(0,n.useState)(a.retentionDays||0),[B,C]=(0,n.useState)("include"===a.pathFilter?.mode?"include":"exclude"),[D,I]=(0,n.useState)((Array.isArray(a.pathFilter?.paths)?a.pathFilter.paths:[]).join("\n")),[L,$]=(0,n.useState)(a.compression||"lz4"),[z,P]=(0,n.useState)(a.compressionLevel||3),[q,Q]=(0,n.useState)(a.networkName||"sk-network"),[A,N]=(0,n.useState)(a.exposeToContainers||!1),[M,W]=(0,n.useState)([]),[j,F]=(0,n.useState)(!1),[U,O]=(0,n.useState)(null),[V,H]=(0,n.useState)(!0),[_,G]=(0,n.useState)(null),[K,Z]=(0,n.useState)(!1),[J,X]=(0,n.useState)(""),[Y,ee]=(0,n.useState)(""),[te,ae]=(0,n.useState)(!1),[ne,le]=(0,n.useState)(null),[re,se]=(0,n.useState)(!1),[ie,oe]=(0,n.useState)(!1),[ce,de]=(0,n.useState)(!1),[ue,me]=(0,n.useState)(!1),[pe,ge]=(0,n.useState)(""),[he,fe]=(0,n.useState)(null),[be,ye]=(0,n.useState)(!1),Ee=(0,n.useRef)(0),[ve,we]=(0,n.useState)(!1),ke=(0,n.useCallback)(async()=>{F(!0);try{const e=await fetch("/plugins/signalk-questdb/api/versions");if(e.ok){const t=await e.json();W(t)}}catch{}F(!1)},[]),xe=(0,n.useCallback)(async()=>{try{const e=await fetch("/plugins/signalk-questdb/api/status"),t=await e.json().catch(()=>null);O(t&&"object"==typeof t?t:{status:"not_running"})}catch{O({status:"not_running"})}H(!1)},[]),Se=(0,n.useCallback)(async e=>{const t=++Ee.current;try{const a=await fetch("/plugins/signalk-questdb/api/wal-diagnosis",{signal:e});if(t!==Ee.current)return;if(a.ok){const e=await a.json();if(t!==Ee.current)return;fe(e),ye(!1)}else ye(!0)}catch{t===Ee.current&&ye(!0)}},[]),Re=Boolean(U&&"running"===U.status&&(U.suspendedTables||[]).length>0);(0,n.useEffect)(()=>{if(!Re)return fe(null),void ye(!1);let e=!1,t=null;const a=new AbortController,n=async()=>{await Se(a.signal),e||(t=setTimeout(n,15e3))};return n(),()=>{e=!0,a.abort(),t&&clearTimeout(t)}},[Re,Se]),(0,n.useEffect)(()=>{ke(),xe();const e=setInterval(xe,5e3);return()=>clearInterval(e)},[ke,xe]);const[Te,Be]=(0,n.useState)(""),[Ce,De]=(0,n.useState)(""),[Ie,Le]=(0,n.useState)("parquet"),[$e,ze]=(0,n.useState)(!1),Pe=U&&"running"===U.status,qe=Pe&&U.suspendedTables||[],Qe=qe.length>0,Ae=Pe&&U.schemaMismatch||!1,Ne=Pe&&U.ulimitClamp||null,Me=U?.hostMaxMapCount?.tooLow&&U.hostMaxMapCount||null,We=M.filter(e=>!e.prerelease).slice(0,3),je=M.filter(e=>e.prerelease).slice(0,2);return n.createElement("div",{style:l.root},n.createElement("div",{style:l.sectionTitle},"QuestDB Status"),Me&&n.createElement("div",{style:l.infoBanner},n.createElement("div",{style:l.warnBannerTitle},"Host vm.max_map_count is low — ",s(Me.current)," ","(QuestDB recommends ",s(Me.recommended),")"),"QuestDB memory-maps every partition and WAL segment it touches. As the database grows, this kernel limit can run out — mmap then fails with out-of-memory errors even though RAM is free, which shows up as slow or failing history queries, can suspend recording, and can take QuestDB down entirely. Run this in a shell on the host machine — not inside the QuestDB container, which can neither change the kernel-global limit nor has sudo (takes effect immediately, no restart needed):",n.createElement("code",{style:l.warnBannerCode},`echo 'vm.max_map_count=${Me.recommended}' | sudo tee /etc/sysctl.d/99-questdb.conf && sudo sysctl --system`)),V?n.createElement("div",{style:l.empty},"Checking QuestDB..."):Pe?n.createElement(n.Fragment,null,Qe&&n.createElement("div",{style:l.warnBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB WAL suspended — recording stalled"),"Rows are arriving but no longer commit, so the counts below have stopped advancing. This follows an error while QuestDB applied the write-ahead log — see the reason reported per table below. Resuming replays every pending transaction, so no data is lost.",n.createElement("code",{style:l.warnBannerCode},qe.map(e=>{const t=String(e.errorMessage||e.errorTag||"reason not reported").replace(/[\r\n]+/g," "),a=(he?.tables||[]).find(t=>t.name===e.name),n=a?.suspendedSince?` — frozen since ${a.suspendedSince}`:"";return`${e.name}: ${s(e.txnLag)} txns behind — ${t}${n}`}).join("\n")),(he?.tables||[]).filter(e=>e.applyError).map(e=>n.createElement("div",{key:e.name,style:{marginTop:8,fontSize:12}},"QuestDB's own log reports the apply failure on"," ",n.createElement("code",null,e.name)," as:",n.createElement("code",{style:l.warnBannerCode},e.applyError))),n.createElement("div",{style:{marginTop:10}},n.createElement("button",{style:{...l.btn,...l.btnPrimary,...ue||ve?l.btnDisabled:{}},disabled:ue||ve,onClick:async()=>{me(!0),ge("");try{const e=await fetch("/plugins/signalk-questdb/api/resume-wal",{method:"POST"}),t=await e.json().catch(()=>({error:e.statusText}));if(e.ok){const e=(t.results||[]).filter(e=>!e.ok);ge(0===e.length?`${t.message}. Recording resumes as the backlog drains — the banner clears once tables catch up.`:`${t.message}. `+e.map(e=>`${e.table}: ${e.error}`).join(" · ")),xe(),Se()}else ge(`Resume failed: ${t.error}`)}catch(e){ge(`Resume failed: ${e.message}`)}me(!1)}},ue?"Resuming...":"Resume recording")),qe.filter(e=>"failed"===e.autoResume).map(e=>{const t=(he?.tables||[]).find(t=>t.name===e.name);if(t?.partitionOpenFailure)return n.createElement("div",{key:e.name,style:{marginTop:12}},n.createElement("div",{style:l.warnBannerTitle},e.name,": table data damaged — automatic repair not possible"),"QuestDB fails while opening this table's stored data, before it reaches any pending transaction. That means the commit record on disk describes rows whose data never made it to storage — the signature of a power loss during a write. Skipping transactions cannot fix this (the failure happens before them) and would discard the ",s(e.txnLag)," pending transactions for nothing, so no repair button is offered. Recovering this table means repairing its commit record by hand; please open an issue with the error above. Recording continues into the other tables, and “Resume recording” will re-suspend this one within milliseconds — it is safe to press, but it cannot repair this damage.");const a=t?.skipPlan;return a?n.createElement("div",{key:e.name,style:{marginTop:12}},n.createElement("div",{style:l.warnBannerTitle},e.name,": automatic resume failed — WAL segment unreadable"),"A lossless resume was attempted and the table re-suspended at the same transaction: the write-ahead-log segment at the stall point cannot be read back (typically corrupted by an unclean shutdown mid-write). Replaying can never get past it. The only repair is to skip the unreadable segment, losing"," ",n.createElement("b",null,s(a.skippedTxns)," transaction(s)")," ","recorded between ",n.createElement("b",null,a.skipWindowStart)," and"," ",n.createElement("b",null,a.skipWindowEnd),a.tailSkip?" — and this is the newest pending segment, so skipping it drops the ENTIRE pending backlog":` — everything after the skipped segment (${s(Math.max(0,e.txnLag-a.skippedTxns))} txns) is replayed without loss`,".",n.createElement("div",{style:{marginTop:8}},n.createElement("button",{style:{...l.btn,...l.btnDanger,...ve||ue||be?l.btnDisabled:{}},disabled:ve||ue||be,onClick:()=>(async(e,t)=>{const a=t.tailSkip?"\n\nWARNING: this is the newest pending segment — skipping it drops the ENTIRE pending backlog.":"";if(window.confirm(`Skip the unreadable WAL segment on ${e}?\n\nThis permanently loses ${s(t.skippedTxns)} transaction(s) recorded between ${t.skipWindowStart} and ${t.skipWindowEnd}. Everything after the skipped segment is replayed without loss.`+a)){we(!0),ge("");try{const a=await fetch("/plugins/signalk-questdb/api/resume-wal/skip",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({table:e,confirmPlan:t})}),n=await a.json().catch(()=>({error:a.statusText}));a.ok?ge(n.message):ge(`Skip failed: ${n.error}`),xe(),Se()}catch(e){ge(`Skip failed: ${e.message}`)}we(!1)}})(e.name,a)},ve?"Skipping...":"Skip unreadable segment (loses data)"),be&&n.createElement("div",{style:{marginTop:6,fontSize:12}},"The diagnosis could not be refreshed — the numbers above may be stale. The skip re-enables once a refresh succeeds."))):null}),n.createElement("div",{style:{marginTop:8,fontSize:12}},"Manual fallback in the QuestDB SQL console (",n.createElement("code",null,":9000"),"), one statement at a time — avoid running it from several tabs, the console retries a busy statement forever:",n.createElement("code",{style:l.warnBannerCode},qe.map(e=>{const t=`"${String(e.name).replace(/"/g,'""')}"`,a=(he?.tables||[]).find(t=>t.name===e.name),n=[`ALTER TABLE ${t} RESUME WAL;`];return"failed"===e.autoResume&&a?.skipPlan&&!be&&n.push(`-- if the resume re-suspends: skip the unreadable segment (loses ${s(a.skipPlan.skippedTxns)} txns)`,`ALTER TABLE ${t} RESUME WAL FROM TXN ${a.skipPlan.skipToTxn};`),n.join("\n")}).join("\n")))),pe&&n.createElement("div",{style:l.infoBanner},pe),Ae&&n.createElement("div",{style:l.warnBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB table schema mismatch — data not readable"),"A QuestDB table was re-created by ILP ingestion with the wrong timestamp column, so rows are being stored but reads filtering on time (history, Grafana, and the counts above) return nothing. The plugin rebuilds the affected table with the correct schema automatically within a minute; if this persists, restart the plugin. (The few rows written into the wrong-schema table are lost — they were unreadable anyway.)"),Ne&&n.createElement("div",{style:l.infoBanner},n.createElement("div",{style:l.warnBannerTitle},"QuestDB open-files limit capped by the host"),"QuestDB requested a ",n.createElement("code",null,Ne.ulimit)," limit of"," ",s(Ne.requested),", but this host only allows"," ",s(Ne.granted),", so it was capped. QuestDB is running on the lower limit. To grant the full value, raise the host limit for the user running the container runtime — under rootless Podman that means a systemd ",n.createElement("code",null,"user@.service")," ",n.createElement("code",null,"LimitNOFILE")," drop-in (editing"," ",n.createElement("code",null,"/etc/security/limits.conf")," alone is usually not enough) — then restart the Signal K server so the plugin can re-create the QuestDB container with the raised limit (signalk-container 1.25.3+; on older versions remove the container once with ",n.createElement("code",null,"podman rm -f sk-signalk-questdb")," instead). This warning clears itself once the container is running with the full value."," ",n.createElement("a",{href:"https://github.com/dirkwa/signalk-container#raising-the-open-files-limit-nofile",target:"_blank",rel:"noreferrer",style:{color:"#92400e",textDecoration:"underline"}},"Step-by-step instructions"),"."),n.createElement("div",{style:l.card},n.createElement("div",{style:{...l.cardIcon,background:"#7c3aed",color:"#fff"}},"Q"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"QuestDB"),n.createElement("div",{style:l.cardMeta},U?.endpoint||`${i}:${u}`," ","· ",Qe?"WAL suspended":"Recording")),n.createElement("div",{style:{...l.stateIndicator,background:Qe?"#ef4444":"#10b981"},title:Qe?"WAL suspended":"Running"})),n.createElement("div",{style:l.statsGrid},n.createElement("div",{style:l.statCard},n.createElement("div",{style:l.statValue},s(U.totalRows)),n.createElement("div",{style:l.statLabel},"Total Rows")),n.createElement("div",{style:l.statCard},n.createElement("div",{style:l.statValue},s(U.activePathsToday)),n.createElement("div",{style:l.statLabel},"Active Paths Today"))),n.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12}},ne&&ne.updateAvailable?n.createElement(n.Fragment,null,n.createElement("span",{style:{fontSize:13}},"v",ne.currentVersion," →"," ",n.createElement("strong",null,"v",ne.latestVersion)," available"),n.createElement("button",{style:{...l.btn,...l.btnPrimary,padding:"4px 12px",fontSize:12,...ie?l.btnDisabled:{}},onClick:async()=>{oe(!0),ee("Pulling new image and restarting..."),ae(!1);try{const e=await fetch("/plugins/signalk-questdb/api/update/apply",{method:"POST"});if(e.ok){const t=await e.json();ee(t.message),le(null),t.newVersion&&f(t.newVersion),xe()}else{const t=await e.json().catch(()=>({error:e.statusText}));ee(`Update failed: ${t.error}`),ae(!0)}}catch(e){ee(`Update failed: ${e.message}`),ae(!0)}oe(!1)},disabled:ie},ie?"Updating...":"Update QuestDB")):ne&&!ne.updateAvailable?n.createElement("span",{style:{fontSize:12,color:"#888"}},"v",ne.currentVersion," (up to date)"):n.createElement("button",{style:{...l.btn,padding:"4px 12px",fontSize:12,background:"#f1f5f9",color:"#475569",border:"1px solid #e2e8f0",...re?l.btnDisabled:{}},onClick:async()=>{se(!0);try{const e=await fetch("/plugins/signalk-questdb/api/update/check");e.ok&&le(await e.json())}catch{}se(!1)},disabled:re},re?"Checking...":"Check for updates"))):n.createElement("div",{style:l.card},n.createElement("div",{style:{...l.cardIcon,background:"#fef2f2",color:"#ef4444"}},"Q"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"QuestDB"),n.createElement("div",{style:l.cardMeta},"unhealthy"===U?.status?"Not responding":"Not running",b?" — enable plugin to start container":"")),n.createElement("div",{style:{...l.stateIndicator,background:"#ef4444"}})),n.createElement("div",{style:l.sectionTitle},"Image Version"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"QuestDB version"),n.createElement("select",{style:l.select,value:h,onChange:e=>f(e.target.value)},n.createElement("option",{value:"latest"},"latest (recommended)"),je.map(e=>n.createElement("option",{key:e.tag,value:e.tag},e.tag," (pre-release)")),We.map((e,t)=>n.createElement("option",{key:e.tag,value:e.tag},e.tag,0===t?" (current stable)":""))),j&&n.createElement("span",{style:l.hint},"loading releases..."),n.createElement("button",{style:{...l.btn,...l.btnPrimary,padding:"4px 10px",fontSize:11},onClick:ke},"↻")),n.createElement("div",{style:l.sectionTitle},"Connection"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Managed container"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:b,onChange:e=>y(e.target.checked)}),n.createElement("span",{style:l.hint},b?"signalk-container manages QuestDB":"Connect to external QuestDB")),!b&&n.createElement(n.Fragment,null,n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"QuestDB host"),n.createElement("input",{style:l.input,value:i,onChange:e=>o(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"HTTP port (queries)"),n.createElement("input",{style:l.inputSmall,type:"number",value:u,onChange:e=>m(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ILP port (writes)"),n.createElement("input",{style:l.inputSmall,type:"number",value:c,onChange:e=>d(Number(e.target.value))}))),b&&n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Bind to 0.0.0.0"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:A,onChange:e=>N(e.target.checked)}),n.createElement("span",{style:{...l.hint,color:A?"#ef4444":void 0}},A?"Caution! This exposes your data to the network":"Signal K reaches QuestDB automatically — only enable to reach it from another machine or a separate-Docker Grafana")),b&&A&&n.createElement(n.Fragment,null,n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"HTTP port (queries)"),n.createElement("input",{style:l.inputSmall,type:"number",value:u,onChange:e=>m(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ILP port (writes)"),n.createElement("input",{style:l.inputSmall,type:"number",value:c,onChange:e=>d(Number(e.target.value))})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"PostgreSQL wire port"),n.createElement("input",{style:l.inputSmall,type:"number",value:p,onChange:e=>g(Number(e.target.value))}),n.createElement("span",{style:l.hint},"for Grafana")),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Container network"),n.createElement("input",{style:l.input,value:q,onChange:e=>Q(e.target.value)}),n.createElement("span",{style:l.hint},"shared with signalk-grafana"))),n.createElement("div",{style:l.sectionTitle},"Recording"),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Default sampling rate (ms)"),n.createElement("input",{style:l.inputSmall,type:"number",value:x,onChange:e=>S(Number(e.target.value))}),n.createElement("span",{style:l.hint},"1000 = max 1 write/sec per path (0 = every update)")),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Record own vessel"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:E,onChange:e=>v(e.target.checked)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Record AIS targets"),n.createElement("input",{type:"checkbox",style:l.checkbox,checked:w,onChange:e=>k(e.target.checked)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Retention (days)"),n.createElement("input",{style:l.inputSmall,type:"number",value:R,onChange:e=>T(Number(e.target.value))}),n.createElement("span",{style:l.hint},"0 = keep forever")),n.createElement(r,{title:"Path filtering"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Filter mode"),n.createElement("select",{style:l.select,value:B,onChange:e=>C(e.target.value)},n.createElement("option",{value:"exclude"},"Exclude matching paths"),n.createElement("option",{value:"include"},"Include only matching paths"))),n.createElement("div",{style:{marginBottom:10}},n.createElement("div",{style:{...l.label,width:"auto",marginBottom:6}},"Path patterns (one per line, glob supported)"),n.createElement("textarea",{style:l.textarea,value:D,onChange:e=>I(e.target.value),placeholder:"navigation.position\nnavigation.*\nnotifications.*"}),n.createElement("div",{style:l.hint},"exclude"===B?"These paths are NOT recorded; everything else is.":"ONLY these paths are recorded; everything else is dropped."," ","Leave empty to record everything."))),n.createElement(r,{title:"Compression (on-disk)"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Compression codec"),n.createElement("select",{style:l.select,value:L,onChange:e=>$(e.target.value)},n.createElement("option",{value:"none"},"None"),n.createElement("option",{value:"lz4"},"LZ4 (fast)"),n.createElement("option",{value:"zstd"},"ZSTD (smaller)")),n.createElement("span",{style:l.hint},"applies to new data after save")),"zstd"===L&&n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"ZSTD level"),n.createElement("input",{style:l.inputSmall,type:"number",min:"1",max:"22",value:z,onChange:e=>P(Number(e.target.value))}),n.createElement("span",{style:l.hint},"1 (fast) to 22 (smallest)"))),n.createElement(r,{title:"InfluxDB Migration"},n.createElement("div",{style:{display:"flex",gap:10,alignItems:"center",marginBottom:10}},n.createElement("button",{style:{...l.btn,...l.btnPrimary,...K?l.btnDisabled:{}},onClick:async()=>{Z(!0),ee("");try{const e=J?`?url=${encodeURIComponent(J)}`:"",t=await fetch(`/plugins/signalk-questdb/api/migration/detect${e}`);if(t.ok){const e=await t.json();G(e.sources),0===e.sources.length&&(ee(J?`No InfluxDB found at ${J}.`:"No InfluxDB instances detected on localhost:8086."),ae(!1))}}catch(e){ee("Detection failed: "+e.message),ae(!0)}Z(!1)},disabled:K},K?"Detecting...":"Detect InfluxDB"),n.createElement("span",{style:l.hint},"Checks localhost:8086 for InfluxDB 1.x and 2.x")),_&&_.length>0&&n.createElement("div",null,_.map((e,t)=>n.createElement("div",{key:t,style:l.migrationItem},n.createElement("div",{style:{...l.cardIcon,width:36,height:36,fontSize:16,background:"influxdb2"===e.type?"#020a47":"#22adf6",color:"#fff"}},"influxdb2"===e.type?"2":"1"),n.createElement("div",{style:l.cardInfo},n.createElement("div",{style:l.cardTitle},"InfluxDB ","influxdb2"===e.type?"2.x":"1.x",n.createElement("span",{style:{...l.tag,...l.tagLatest}},e.status)),n.createElement("div",{style:l.cardMeta},e.url," · v",e.version))))),n.createElement("div",{style:{...l.fieldRow,marginTop:10}},n.createElement("span",{style:l.label},"Manual InfluxDB URL"),n.createElement("input",{style:l.input,placeholder:"http://192.168.1.100:8086",value:J,onChange:e=>X(e.target.value)}),n.createElement("span",{style:l.hint},"for remote instances")),_&&0===_.length&&!K&&n.createElement("div",{style:{...l.empty,padding:"16px",textAlign:"left"}},"No InfluxDB found on localhost. Use manual URL above for remote instances.")),n.createElement(r,{title:"Data Export"},n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"From"),n.createElement("input",{style:l.input,type:"datetime-local",value:Te,onChange:e=>Be(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"To"),n.createElement("input",{style:l.input,type:"datetime-local",value:Ce,onChange:e=>De(e.target.value)})),n.createElement("div",{style:l.fieldRow},n.createElement("span",{style:l.label},"Format"),n.createElement("select",{style:l.select,value:Ie,onChange:e=>Le(e.target.value)},n.createElement("option",{value:"parquet"},"Parquet"),n.createElement("option",{value:"csv"},"CSV"))),n.createElement("button",{style:{...l.btn,...l.btnPrimary,...$e?l.btnDisabled:{}},onClick:async()=>{if(!Te||!Ce)return ee("Set both from and to dates for export."),void ae(!0);ze(!0),ee(`Exporting ${Ie.toUpperCase()}...`),ae(!1);try{const e=`/plugins/signalk-questdb/api/export?from=${encodeURIComponent(Te)}&to=${encodeURIComponent(Ce)}&format=${Ie}`,t=await fetch(e);if(!t.ok){const e=await t.json().catch(()=>({error:t.statusText}));return ee(`Export failed: ${e.error}`),ae(!0),void ze(!1)}const a=await t.blob(),n="parquet"===Ie?"parquet":"csv",l=document.createElement("a");l.href=URL.createObjectURL(a),l.download=`signalk-export-${Te.slice(0,10)}.${n}`,l.click(),URL.revokeObjectURL(l.href),ee(`Exported ${(a.size/1024/1024).toFixed(1)} MB`)}catch(e){ee(`Export failed: ${e.message}`),ae(!0)}ze(!1)},disabled:$e},$e?"Exporting...":"Export Data")),!1!==a.managedContainer&&n.createElement(r,{title:"Danger zone"},n.createElement("div",{style:{fontSize:13,color:"#555",marginBottom:10}},"Remove the QuestDB container and permanently delete all recorded data. Use this to fully reset QuestDB — Signal K's plugin-uninstall cannot delete this data on rootless Podman. This cannot be undone."),n.createElement("button",{style:{...l.btn,...l.btnDanger,...ce?l.btnDisabled:{}},onClick:async()=>{if(window.confirm("Remove the QuestDB container and DELETE ALL recorded data? This cannot be undone.")){de(!0),ee("Removing QuestDB container and data..."),ae(!1);try{const e=await fetch("/plugins/signalk-questdb/api/purge-data",{method:"POST"}),t=await e.json().catch(()=>({error:e.statusText}));e.ok?(ee(t.message),xe()):(ee(`Remove failed: ${t.error}`),ae(!0))}catch(e){ee(`Remove failed: ${e.message}`),ae(!0)}de(!1)}},disabled:ce},ce?"Removing...":"Remove container & all data")),Y&&n.createElement("div",{style:{...l.status,color:te?"#ef4444":"#10b981",marginTop:16}},Y),n.createElement("div",{style:{marginTop:24}},n.createElement("button",{style:{...l.btn,...l.btnSave},onClick:()=>{t({questdbHost:i,questdbIlpPort:c,questdbHttpPort:u,questdbPgPort:p,questdbVersion:h,managedContainer:b,defaultSamplingRate:x,recordSelf:E,recordOthers:w,retentionDays:R,compression:L,compressionLevel:z,networkName:q,exposeToContainers:A,pathFilter:{mode:B,paths:D.split("\n").map(e=>e.trim()).filter(Boolean)},samplingRates:a.samplingRates||{}}),ee("Saved! Plugin will restart with new configuration."),ae(!1)}},"Save Configuration")))}}}]);
|