Record: handler feedback and integration conflicts

Outcome

Four problems from the user story were fixed.

What Was Wrong, and What Changed

Symptom Cause Fix
Run once gave no feedback during a slow start the handler replaced itself with the AppImage, so nothing was left to report fork, setsid, and exec in the child; the parent shows a notice with the child process id for several seconds (notify-send -t 5000, else zenity --info --timeout=5, else standard output)
Inspect showed an empty box zenity --text-info reads its body from standard input or --filename; the report was passed through --text, which is only the label the report is rendered in-process and handed over with --filename
Integrate did “something” with no summary the success dialog only named the desktop id a scrollable report now shows the launcher, AppImage, icon, manifest, notes, warnings, launcher contents, and the list of actions
A new FreeCAD version failed with a useless error the tool had no concept of an application that is already integrated conflicts are detected and named, and the user is offered Replace existing, Add alongside, or Cancel

Conflict Handling

The Real FreeCAD Case

Observed 2026-09-22 on this host, read-only.

Verification

Verified 2026-09-22 with make test; all fourteen test scripts passed.

Commits