Commit Graph
5 Commits
Author SHA1 Message Date
brenden c5108c125f Fix flatpak build: --socket=pipewire is not a valid finish-arg
flatpak build-finish rejects it outright ("Unknown socket type
pipewire, valid types are: x11, wayland, pulseaudio, session-bus,
system-bus, fallback-x11, ssh-auth, pcsc, cups, gpg-agent,
inherit-wayland-socket"). Direct PipeWire socket access is granted via
--filesystem=xdg-run/pipewire-0 instead (same approach other
sandboxed apps needing raw PipeWire, e.g. OBS Studio's flatpak, use).
2026-07-03 12:29:04 -04:00
brenden 6b2e9ec669 Add flatpak packaging target
electron-builder already bundles @malept/flatpak-bundler, so this just
adds the target + a finishArgs set matching the app's actual needs:
wayland/x11 rendering, PipeWire for WebRTC screen/mic capture (on top
of the base pulseaudio socket), camera device access, and the
freedesktop notifications + portal bus names (native/linux-portals
handles file chooser/background/global-shortcuts through the latter).
Bumped runtime/base to 23.08 from electron-builder's very old 20.08
default.

Building this target requires flatpak + flatpak-builder installed on
the build machine (Linux-only, can't run on macOS at all), plus the
org.freedesktop.Platform/Sdk and org.electronjs.Electron2.BaseApp
23.08 runtimes from Flathub.
2026-07-03 12:12:57 -04:00
brenden eca57c85ef Fix blank window when reopening after the main window is destroyed
registerSpellcheck()'s invoke-handler registration guard checked
ipcMain.eventNames(), which only reflects .on()/.once() listeners --
handlers registered via ipcMain.handle() never show up there, so the
guard was a no-op. With closeToTray disabled (or any other path that
lets the main window actually close instead of hide), a second
createWindow() call would hit "Attempted to register a second handler
for 'spellcheck-get-state'", aborting window setup partway through and
leaving a blank window. Use a real module-level flag instead, matching
the pattern already used for this file's .on() listeners.
2026-07-03 10:19:53 -04:00
brenden f1ba707f78 Disable auto-update checks entirely
This fork has no update feed of its own, so never check fluxer.app
for updates on any platform (Velopack/electron autoUpdater/manual
check flows all pointed at the official API). Forces the fully inert
IPC-only updater path unconditionally; the "Check for Updates" UI
still works, it just reports unsupported instead of hitting the
network.
2026-07-03 10:03:16 -04:00
brenden 682afacd30 Add native self-hosted instance connection to fluxer_desktop
Trimmed monorepo checkout (fluxer_desktop + packages/voice_engine_v2 +
tools/ci) with a "Connect to a Different Server" menu item and popout
that lets the desktop app switch to any self-hosted Fluxer instance,
plus fixes for well-known discovery on single-domain self-hosted
deployments and a false-positive ERR_ABORTED on same-origin client
redirects during the switch. Defaults to chat.fluxr.chat and uses an
isolated userData directory from the official build.
2026-07-01 18:22:43 -04:00