Fetch the qemu-<build> archive our workflow publishes instead of
unpacking the upstream installer, dropping the 7-Zip requirement and
the list of graphics libraries that only existed to leave that
installer's cruft behind. The checksum pin moves to the new archive;
fill it in from the release notes once qemu-11.1.0-luma.1 has built.
Carries the four emulators the barebone agents target, the libraries
they import and the firmware the pc and virt machines load -- 208 MB
of the 1.2 GB QEMU installs, since nothing reaches the edk2 images.
The arm64 installer skips it, QEMU publishing no build for it.
QEMU stays a separate GPL program we start over QMP, never linked,
and ships with its licences and an offer of its source.
The Threads sidebar asks for cpu-symbolic, which Adwaita does
not ship, so it rendered blank wherever Adwaita is the only
theme. Ship one with the app.
Use the website's tagline ("The official Frida GUI") as the
short summary across all surfaces — .desktop Comment, .rpm
Summary, snap summary, .deb synopsis — and paraphrase the
hero lede for the matching long-form description fields. Also
update the welcome-screen subtitle in both the SwiftUI and
GTK frontends to match.
Move Flatpak to org.gnome.Platform//50 and Snap to base: core26,
so both now ship libadwaita 1.9 / GTK 4.20 — well above the 1.8
required by Adw.ShortcutsDialog. With libadwaita >= 1.6 present
on both sides, revert 330f03a and go back to
Adw.Banner.setButton(style:). patch-libadwaita-gir.py also goes;
it existed to fix the *_lines getters on core24's libadwaita 1.5.
core26 is still on the snap beta track and no gnome extension
exists for it yet; drop `extensions: [gnome]` from the snap app.
snapcraft 8.14+ is required on CI runners to build core26.
Install app icons (32-512 px, hicolor theme) from a new
data/icons/ tree in all four Linux package paths — flatpak,
snap, .deb, fedora tarball — plus `make install`. The snap
picks up build-aux/snap/gui/icon.png automatically.
* Link the exe as /SUBSYSTEM:WINDOWS so launching it doesn't pop
up a console window. The entry point stays mainCRTStartup since
Swift still emits main().
* Stage SwiftPM's *.resources bundles beside Luma.exe so
Bundle.module (used by LumaCore + LumaGtk) can resolve
LumaPortal.pem, frida-gum.d.ts and the Monaco web assets at
runtime.
* Skip frida-gadget.dll under frida-1.0/<arch>/ — it's for
launch-time injection into third-party apps, unused by Luma.
* Delete the uncompiled GLib schema XMLs after compiling
gschemas.compiled; only the compiled blob is read at runtime.
* Replace the placeholder license page with the project's MIT
license via WixUILicenseRtf.
Render data/luma.ico from the existing macOS AppIcon PNGs and
wire it both ways:
* Package.swift compiles luma.rc → luma.res at manifest time
when rc.exe is on PATH (fallback: use any pre-built .res), and
adds the .res to LumaGtk's linker flags so Explorer picks up
the icon for LumaGtk.exe.
* setup-env.ps1 auto-prepends the Windows SDK bin so rc.exe is
findable from a vanilla PowerShell.
* The WiX MSI uses the same icon for the Start Menu shortcut
(the shortcut component already existed) and for the
Add/Remove Programs entry via ARPPRODUCTICON.
Also bump the workflow's actions to current majors (checkout v6,
setup-python v6, setup-go v6, cache v5). ilammy/msvc-dev-cmd has
no Node-24 release yet, so keep FORCE_JAVASCRIPT_ACTIONS_TO_NODE24
to silence its warning until upstream bumps or June 2026 hits.
The GApplication::open handler now also processes URIs
(not just file paths). luma://join?room=<id> links are
parsed and enqueued via CollaborationJoinQueue, mirroring
the macOS NSApplicationDelegate.application(_:open:)
flow. The .desktop file registers x-scheme-handler/luma
so xdg-open and GNOME route the URI to luma-gtk.
Wire up GApplication::open signal via a C helper so files
passed by the file manager (or xdg-open) are opened as
documents. The Application is now created with the
handlesOpen flag.
Ship a .desktop file (re.frida.Luma.desktop) declaring
the application/x-luma-project MIME type, and a
shared-mime-info XML (re.frida.Luma.xml) mapping *.luma
to that type.
make install copies the binary, .desktop, and MIME XML
to the appropriate locations and updates the databases.