Skip to content

Commit aac7387

Browse files
committed
Document the sandbox abort and the empty node_modules
Both were hit on a real machine, and both produce errors whose text points somewhere other than the cause. The sandbox entry explains which of Chromium's two sandboxes is missing, how to tell which, and that the installed launcher handles it while a bare AppImage does not.
1 parent de1e7f3 commit aac7387

2 files changed

Lines changed: 68 additions & 0 deletions

File tree

‎docs/install.md‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,25 @@ install is a plain Node program and needs Node 24 or newer.
5151

5252
Nothing outside your home directory.
5353

54+
## Updating
55+
56+
Both the CLI and the desktop app check for a newer release on start and
57+
install it.
58+
59+
The CLI checks at most once every six hours, then re-runs your command on the
60+
version it just installed. It stays quiet when there is nothing to do, when
61+
you are offline, and when output is machine-readable — `--json` never carries
62+
update chatter into something's stdin.
63+
64+
The desktop app applies an update on launch but waits to restart while a
65+
transfer is running; a version bump is not worth abandoning a transfer for.
66+
67+
Turn it off with `DISKPUSH_NO_AUTO_UPDATE=1`.
68+
69+
```sh
70+
diskpush update # or check now, explicitly
71+
```
72+
5473
## Updating and removing
5574

5675
```sh

‎docs/troubleshooting.md‎

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,55 @@ the connection.
117117
a large tree, rsync is still building the file list, so the counter can sit at
118118
zero for a while. `--stats` at the end gives exact totals.
119119

120+
## "The SUID sandbox helper binary was found, but is not configured correctly"
121+
122+
```text
123+
FATAL:setuid_sandbox_host.cc(163)] The SUID sandbox helper binary was found,
124+
but is not configured correctly. Rather than run without sandboxing I'm
125+
aborting now.
126+
```
127+
128+
Chromium wants one of two sandboxes and this machine can provide neither:
129+
130+
- The **namespace sandbox** needs unprivileged user namespaces. Recent kernels
131+
restrict them (`kernel.apparmor_restrict_unprivileged_userns=1` on Ubuntu
132+
24.04+).
133+
- The **SUID helper** needs `chrome-sandbox` owned by root with mode 4755,
134+
which only root can set.
135+
136+
Check which applies:
137+
138+
```sh
139+
unshare --user true && echo "namespaces work" || echo "namespaces denied"
140+
ls -l /path/to/DiskPush/chrome-sandbox # -rwsr-xr-x is right, -rwxr-xr-x is not
141+
```
142+
143+
**The installed app handles this itself** — its launcher probes both and falls
144+
back to `--no-sandbox` only when neither is available, telling you it did.
145+
146+
**A bare AppImage does not.** Run it with `--no-sandbox`, or install the
147+
`.deb`, whose postinst sets the SUID bit as root and installs an AppArmor
148+
profile granting the namespace sandbox:
149+
150+
```sh
151+
./DiskPush-0.1.0-linux-x86_64.AppImage --no-sandbox
152+
sudo dpkg -i DiskPush-0.1.0-linux-amd64.deb # sandboxed, needs root
153+
```
154+
155+
## "Cannot find package '@diskpush/database'"
156+
157+
```text
158+
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@diskpush/database'
159+
imported from .../app/resources/cli/dist/bin.js
160+
```
161+
162+
A packaging bug in 0.1.0's first artifacts: the CLI inside the desktop bundle
163+
shipped an empty `node_modules`. Update, or reinstall:
164+
165+
```sh
166+
curl -fsSL https://diskpush.com/install.sh | sh
167+
```
168+
120169
## Seeing what is actually run
121170

122171
```bash

0 commit comments

Comments
 (0)