Skip to content

signal-desktop-ma: force separate --user-data-dir - #24

Open
vxfemboy wants to merge 1 commit into
mainfrom
signal-desktop-ma-isolation
Open

vxfemboy wants to merge 1 commit into
mainfrom
signal-desktop-ma-isolation

Conversation

@vxfemboy

@vxfemboy vxfemboy commented Aug 1, 2026

Copy link
Copy Markdown
Member

Follow-up to #23. The shared-~/.config/Signal-directory tradeoff documented in that PR (declined isolation, accepted the risk) broke for real within hours: the multi-account fork's schema cap (1730) is behind official Signal-Desktop's current schema (which reached 1740 once the official package was updated), and a profile touched by the newer app becomes unopenable by the older one. No data was lost — SQLite migrations are additive and Signal's own startup guard refuses to touch a database from a newer schema rather than risk corrupting it — but access was blocked until the official package caught up.

Change

do_install() no longer symlinks /usr/bin/signal-desktop-ma straight to the binary. It's now a wrapper that forces --user-data-dir="$HOME/.config/Signal-MA":

#!/bin/sh
exec /usr/lib/signal-desktop-ma/signal-desktop --user-data-dir="$HOME/.config/Signal-MA" "$@"

Verified this is the correct mechanism: Electron's native --user-data-dir CLI switch is read before any app-level JS runs, and this fork's own config-based override (storagePath/storageProfile, traced in app/user_config.main.ts during the original design work) only fires if those config keys are explicitly set — they aren't by default, so nothing in the app overrides the forced path.

Test plan

  • xlint signal-desktop-ma clean
  • Rebuilt, installed
  • /usr/lib/signal-desktop-ma/signal-desktop --user-data-dir=<path> --version confirmed the flag works against the real binary directly
  • /usr/bin/signal-desktop-ma --version (absolute path, bypassing an unrelated pre-existing /usr/local/bin/signal-desktop-ma on this host that shadows it) confirms userData: $HOME/.config/Signal-MA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant