mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-10-12 11:11:36 +02:00
fix(joplin_desktop): drop --disable-dev-shm-usage, Joplin rejects unknown flags (#3113)
Joplin validates its argv against an allow-list (processStartFlags.ts) and aborted with "Unknown flag: --disable-dev-shm-usage", so the app never opened. Bump to 3.7.21.1 so Supervisor offers the rebuild, and record the trap in the workflow skill. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -220,6 +220,14 @@ Assistant **ignores** the add-on's `shm_size`, so the real size varies per insta
|
||||
on one host. Detect at runtime rather than assuming either way; keep the flag when the size
|
||||
cannot be determined, because the crash it prevents is worse than its overhead.
|
||||
|
||||
**Not every Electron app accepts arbitrary Chromium switches.** Joplin parses its own argv
|
||||
against an allow-list and aborts on anything else: `--disable-dev-shm-usage` produced
|
||||
`An error occurred: Unknown flag: --disable-dev-shm-usage` and no app window
|
||||
(`packages/lib/utils/processStartFlags.ts`; it accepts `--no-sandbox`, `--ozone-platform=`,
|
||||
`--disable-gpu` and a few others). The build-time `grep` that "verified" the flag only proved
|
||||
the text was in the wrapper, not that the app tolerated it. Check the app's argument parser before
|
||||
passing a Chromium flag to anything that is not Chromium itself (joplin_desktop, PR #3112, fixed in the follow-up PR).
|
||||
|
||||
## CI and review bots
|
||||
|
||||
**What CI actually gates** — checked against the workflows, because assuming costs a cycle.
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
|
||||
## 3.7.21.1 (2026-10-11)
|
||||
- Fix Joplin not opening ("An error occurred: Unknown flag: --disable-dev-shm-usage"): Joplin only accepts its own list of command-line flags, so the extra Chromium flag added in 3.7.21 is removed
|
||||
|
||||
## 3.7.21 (2026-10-11)
|
||||
- Initial release: Joplin desktop streamed to the browser with Selkies, based on linuxserver/docker-joplin (amd64 only, as Joplin publishes no Linux arm64 build)
|
||||
- Shares the Selkies startup scripts with the webtop and claude_desktop add-ons (data location, GPU permissions, ingress, SSL)
|
||||
|
||||
@@ -57,13 +57,6 @@ RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGL
|
||||
COPY rootfs/ /
|
||||
RUN find . -type f \( -name "*.sh" -o -name "run" -o -name "finish" \) -print -exec chmod +x {} \;
|
||||
|
||||
# Docker's default /dev/shm is 64 MB and Home Assistant ignores an add-on's shm_size, while
|
||||
# LinuxServer documents 1 GB as needed for Electron apps. Make Chromium keep its shared memory
|
||||
# out of /dev/shm, as claude_desktop does when /dev/shm is small. The grep fails the build if a
|
||||
# future upstream wrapper no longer has the --no-sandbox anchor, instead of shipping without it.
|
||||
RUN sed -i 's|--no-sandbox|--no-sandbox --disable-dev-shm-usage|' /usr/bin/joplin && \
|
||||
grep -q -- '--disable-dev-shm-usage' /usr/bin/joplin
|
||||
|
||||
# Uses /bin for compatibility purposes
|
||||
# hadolint ignore=DL4005
|
||||
RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; fi && \
|
||||
|
||||
@@ -103,5 +103,5 @@ schema:
|
||||
slug: joplin_desktop
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons/tree/master/joplin_desktop
|
||||
version: "3.7.21"
|
||||
version: "3.7.21.1"
|
||||
video: true
|
||||
|
||||
Reference in New Issue
Block a user