@rubytech/create-maxy 1.0.803 → 1.0.805
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/index.js +1 -13
- package/package.json +1 -1
- package/payload/platform/plugins/docs/references/troubleshooting.md +24 -0
- package/payload/server/chunk-OH4OLVBN.js +9990 -0
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/public/assets/{admin-B41Gr-FL.js → admin-BYsaXlDv.js} +3 -3
- package/payload/server/public/index.html +1 -1
- package/payload/server/server.js +1 -1
package/dist/index.js
CHANGED
|
@@ -1760,22 +1760,10 @@ function installTunnelScripts() {
|
|
|
1760
1760
|
const setupSrc = join(INSTALL_DIR, "platform/plugins/cloudflare/scripts/setup-tunnel.sh");
|
|
1761
1761
|
const resetSrc = join(INSTALL_DIR, "platform/plugins/cloudflare/scripts/reset-tunnel.sh");
|
|
1762
1762
|
const listSrc = join(INSTALL_DIR, "platform/plugins/cloudflare/scripts/list-cf-domains.sh");
|
|
1763
|
-
// _cdp-authorize.mjs is invoked by setup-tunnel.sh via `node <path>` and
|
|
1764
|
-
// resolved via readlink -f → same dir as the script. It does NOT get a
|
|
1765
|
-
// $HOME symlink — it's a helper, not a top-level operator command. We do
|
|
1766
|
-
// chmod +x defensively so `ls -l` and any ad-hoc `~/setup-tunnel.sh` copy
|
|
1767
|
-
// flow sees it as executable (Task 588).
|
|
1768
|
-
//
|
|
1769
|
-
// _cdp-authorize-matcher.mjs is imported by _cdp-authorize.mjs (Task 855)
|
|
1770
|
-
// — the tri-state matcher's MATCH_EXPR + findMatch live in this side
|
|
1771
|
-
// module so JSDOM tests run identical logic to the live page. chmod +x
|
|
1772
|
-
// is defensive symmetry; the file is read by Node, not exec'd.
|
|
1773
|
-
const cdpAuthorizeSrc = join(INSTALL_DIR, "platform/plugins/cloudflare/scripts/_cdp-authorize.mjs");
|
|
1774
|
-
const cdpMatcherSrc = join(INSTALL_DIR, "platform/plugins/cloudflare/scripts/_cdp-authorize-matcher.mjs");
|
|
1775
1763
|
const setupLink = resolve(process.env.HOME ?? "/root", "setup-tunnel.sh");
|
|
1776
1764
|
const resetLink = resolve(process.env.HOME ?? "/root", "reset-tunnel.sh");
|
|
1777
1765
|
const listLink = resolve(process.env.HOME ?? "/root", "list-cf-domains.sh");
|
|
1778
|
-
for (const src of [setupSrc, resetSrc, listSrc
|
|
1766
|
+
for (const src of [setupSrc, resetSrc, listSrc]) {
|
|
1779
1767
|
try {
|
|
1780
1768
|
chmodSync(src, 0o755);
|
|
1781
1769
|
}
|
package/package.json
CHANGED
|
@@ -170,6 +170,30 @@ The setup script emits either the raw `https://dash.cloudflare.com/argotunnel?..
|
|
|
170
170
|
|
|
171
171
|
The transient unit was auto-collected by systemd before the client subscribed. Race condition: action finished in <1 s. The per-action log file is retained for 7 days; look for it by name under `~/.maxy/logs/actions/`. If it isn't there, the unit failed before any output (check `journalctl --user -u maxy-action-<id>`).
|
|
172
172
|
|
|
173
|
+
**Cloudflare-setup action card shows "Failed (exit null)" after the tunnel works.**
|
|
174
|
+
|
|
175
|
+
> **Pre-Task-860 misdiagnosis.** Devices on platform versions before Task 860 misrender a successful `cloudflare-setup` run as red `Failed (exit null) · ~20s` because the script-armed brand-service restart kills the SSE generator before it can read the action's exit code. The Cloudflare side is fine in this case — the tunnel is created, DNS is routed, the brand service comes back up.
|
|
176
|
+
>
|
|
177
|
+
> **First-line check:** open the persisted action log directly. Two markers prove success:
|
|
178
|
+
>
|
|
179
|
+
> ```bash
|
|
180
|
+
> grep -E 'step=service-restart-armed exit=0|step=done' \
|
|
181
|
+
> ~/.{configDir}/logs/actions/cloudflare-setup-*.log | tail -2
|
|
182
|
+
> ```
|
|
183
|
+
>
|
|
184
|
+
> Both lines present in the log ⇒ the script succeeded; the UI banner is the bug, not the run. On post-Task-860 platforms the action card renders `Completed · Ns` on the same log shape; the card now distinguishes four states:
|
|
185
|
+
>
|
|
186
|
+
> - `Completed` (green) — `code === 0` (whether reported by systemd or recovered from the log).
|
|
187
|
+
> - `Failed (exit N)` (red) — non-zero exit reported by systemd. Real failure, follow the existing remediation paths.
|
|
188
|
+
> - `Restart in progress` (neutral sage) — arming line present in log but the post-arm `step=done` was not written before the unit was GC'd. Resolves automatically once `/api/admin/version` responds; if it stays >90 s, falls through to amber.
|
|
189
|
+
> - `Failed (exit unobserved)` (amber) — neither systemd nor the log can confirm a terminal state. Check `journalctl --user -u maxy-action-<id>`; the unit failed early or the log was truncated.
|
|
190
|
+
>
|
|
191
|
+
> The server emits `[action-runner] reconcile actionId=<id> result=<succeeded|failed|restart-in-progress|unresolved> source=<systemd|persisted-log> ms=<n>` once per terminal-state resolution. Missing reconcile line on a finished run = stale platform; upgrade.
|
|
192
|
+
|
|
193
|
+
**Cloudflare-setup auto-relays "completed" but the next chat turn 502s.**
|
|
194
|
+
|
|
195
|
+
Pre-Task-860, `CloudflareSetupForm` dispatched the post-success chat message immediately on `exit{code:0}`. The relay POST hit the admin server inside the brand-restart bounce window (`~3 s` after `step=service-restart-armed`) and returned `Error: Request failed (502)`. Post-Task-860 the form holds the dispatch behind one successful `/api/admin/version` probe (cap 30 s); the relay only fires once admin handlers are reachable. Browser console emits `[cloudflare-setup-form] holdback=fired awaitedMs=<n>` per dispatch — non-zero `awaitedMs` is normal and expected.
|
|
196
|
+
|
|
173
197
|
---
|
|
174
198
|
|
|
175
199
|
## Software Update click shows an error instead of opening the terminal
|