Compare commits

..
Author SHA1 Message Date
pc-heiniandClaude Opus 5.5 1f74b9bcfb fix(flatpakrepo): add RuntimeRepo so the runtime resolves without Flathub
Build and Publish HeiniRemote Agent Flatpak / build (push) Successful in 7m7s
A fresh system (e.g. Ubuntu after apt install flatpak) has no Flathub
remote, so installing from the .flatpakrepo could not find the
freedesktop 25.08 runtime. Found in the HeiniRemote VM test 2026-10-13.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:25:49 +02:00
pc-heiniandClaude Fable 5.1 981eb11b6d fix(console): pass TERM/COLORTERM through flatpak-spawn --host
Build and Publish HeiniRemote Agent Flatpak / build (push) Successful in 7m16s
flatpak-spawn --host does not forward the caller's environment; the host
login shell started without TERM (tput errors, integer test on empty
LINES/COLUMNS in the profile scripts).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jkHZhr7ZzHGGuE2bJQmGa
2026-09-22 01:32:51 +02:00
pc-heini b33494d399 Revert "ci: cache cargo registry and target between Flatpak builds"
Build and Publish HeiniRemote Agent Flatpak / build (push) Successful in 7m17s
This reverts commit 11def894e2.
2026-09-22 01:12:24 +02:00
pc-heiniandClaude Fable 5.1 11def894e2 ci: cache cargo registry and target between Flatpak builds
Build and Publish HeiniRemote Agent Flatpak / build (push) Failing after 6m7s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jkHZhr7ZzHGGuE2bJQmGa
2026-09-22 01:02:22 +02:00
pc-heiniandClaude Fable 5.1 da04640fdf fix(console): host-side PTY via script(1) so the host shell has a named tty and a controlling terminal
Build and Publish HeiniRemote Agent Flatpak / build (push) Successful in 8m37s
The PTY the agent allocates lives in the sandbox's devpts; on the host the
forwarded fd cannot be named (`tty` fails, no controlling terminal, tools
that open /dev/tty break). script(1) gives the login shell a host PTY and
relays through the forwarded one. Also picks up upstream main (frame-burst
fix).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jkHZhr7ZzHGGuE2bJQmGa
2026-09-22 00:43:01 +02:00
pc-heiniandClaude Fable 5.1 537d3b8aa8 chore: trigger rebuild for upstream f8c509b
Build and Publish HeiniRemote Agent Flatpak / build (push) Successful in 7m53s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jkHZhr7ZzHGGuE2bJQmGa
2026-09-21 21:04:20 +02:00
pc-heiniandClaude Fable 5.1 de18d439e5 chore: trigger rebuild for upstream eac11e0; correct README rebuild note
Build and Publish HeiniRemote Agent Flatpak / build (push) Successful in 6m59s
The workflow ignores README pushes, so the previous note was wrong.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jkHZhr7ZzHGGuE2bJQmGa
2026-09-21 20:30:04 +02:00
pc-heiniandClaude Fable 5.1 05105a6532 docs: note how to trigger a rebuild (and trigger one)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jkHZhr7ZzHGGuE2bJQmGa
2026-09-21 20:11:16 +02:00
pc-heini c879df948c docs: unit description matches the customer-facing name 2026-09-21 04:41:26 +02:00
pc-heiniandClaude Fable 5.1 5d23699ec9 feat: German customer-facing desktop entry and AppStream metadata
Build and Publish HeiniRemote Agent Flatpak / build (push) Successful in 7m32s
Launcher shows "PC-Heini Fernwartung" with a plain-language description of
what the program does (remote support after the user's consent) instead of
the internal "HeiniRemote Agent — connects this machine to a HeiniRemote
server". English translations via Name[en]/xml:lang. Keywords make it
findable via PC-Heini, pcheini, Fernwartung, Fernhilfe, Support, HeiniRemote.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 04:41:11 +02:00
7 changed files with 55 additions and 11 deletions

No files matched your search

+1
View File
@@ -152,6 +152,7 @@ jobs:
[Flatpak Repo]
Title=HeiniRemote Agent
Url=$BASE
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
Homepage=https://pc-heini.de/
Comment=HeiniRemote remote maintenance agent as a Flatpak
Description=Install the HeiniRemote agent on any Linux distribution via Flatpak.
+3 -1
View File
@@ -61,7 +61,7 @@ user unit wrapping `flatpak run`:
```ini
# ~/.config/systemd/user/heiniremote-agent.service
[Unit]
Description=HeiniRemote agent (Flatpak)
Description=PC-Heini Fernwartung (HeiniRemote Agent, Flatpak)
After=graphical-session.target
[Service]
@@ -100,3 +100,5 @@ StatusNotifier names for the tray icon.
| `heiniremote-wrapper.sh` | Entry point: host-shell `$SHELL` override + config adoption. |
| `host-shell.sh` | `flatpak-spawn --host` bridge for the PTY console. |
| `de.pc_heini.HeiniRemoteAgent.*` | Desktop file, AppStream metainfo (version stamped by CI), icon. |
Builds track the newest upstream `main` commit. To rebuild before the nightly check, push a change to a packaging file (README, docs, LICENSE and .gitignore are ignored by the workflow) or run the workflow manually via `workflow_dispatch`.
+7 -3
View File
@@ -1,9 +1,13 @@
[Desktop Entry]
Type=Application
Name=HeiniRemote Agent
Comment=Remote maintenance agent — connects this machine to a HeiniRemote server
Name=PC-Heini Fernwartung
Name[en]=PC-Heini Remote Support
GenericName=Fernwartung
GenericName[en]=Remote Support
Comment=Erlaubt PC-Heini, diesen Computer nach Ihrer Zustimmung aus der Ferne zu warten
Comment[en]=Lets PC-Heini service this computer remotely, after you grant access
Exec=heiniremote-wrapper.sh
Icon=de.pc_heini.HeiniRemoteAgent
Terminal=false
Categories=Network;RemoteAccess;
Keywords=remote;support;fernwartung;
Keywords=PC-Heini;pcheini;pc heini;Heini;Fernwartung;Fernzugriff;Fernhilfe;Support;Hilfe;HeiniRemote;remote;
+26 -6
View File
@@ -3,14 +3,34 @@
<id>de.pc_heini.HeiniRemoteAgent</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>proprietary</project_license>
<name>HeiniRemote Agent</name>
<summary>Remote maintenance agent for HeiniRemote</summary>
<name>PC-Heini Fernwartung</name>
<name xml:lang="en">PC-Heini Remote Support</name>
<summary>Fernwartung Ihres Computers durch PC-Heini</summary>
<summary xml:lang="en">Remote support for your computer by PC-Heini</summary>
<description>
<p>
Customer-side agent for HeiniRemote: Wayland screen capture and input
injection via xdg-desktop-portal, plus a PTY rescue console, streamed
over WebRTC to the HeiniRemote management console. Requires a HeiniRemote
server URL and device token (agent.toml).
Mit diesem Programm kann PC-Heini Ihren Computer aus der Ferne warten:
Bildschirm ansehen, Maus und Tastatur bedienen und bei Bedarf eine
Konsole nutzen. Nichts passiert ohne Ihre Zustimmung: Vor jeder Sitzung
fragt Ihr System, ob der Bildschirm freigegeben werden darf.
</p>
<p>
Die Verbindung ist Ende-zu-Ende verschlüsselt und läuft über den
Fernwartungsserver von PC-Heini. Das Programm läuft unauffällig im
Hintergrund und zeigt ein Symbol in der Leiste, solange es aktiv ist.
</p>
</description>
<description xml:lang="en">
<p>
This program lets PC-Heini service your computer remotely: view the
screen, operate mouse and keyboard and, if needed, use a console.
Nothing happens without your consent: before every session your system
asks whether the screen may be shared.
</p>
<p>
The connection is end-to-end encrypted and goes through PC-Heini's
remote support server. The program runs quietly in the background and
shows a tray icon while it is active.
</p>
</description>
<launchable type="desktop-id">de.pc_heini.HeiniRemoteAgent.desktop</launchable>
+3
View File
@@ -4,6 +4,9 @@ Title=HeiniRemote Agent
# so the canonical copy to use is:
# https://git.pc-heini.de/pc-heini/HeiniRemote-AgentFlatpak/raw/branch/pages/heiniremote.flatpakrepo
Url=https://git.pc-heini.de/pc-heini/HeiniRemote-AgentFlatpak/raw/branch/pages
# Lets `flatpak install` pull the freedesktop runtime on a system that has no
# Flathub remote yet (e.g. a fresh Ubuntu after `apt install flatpak`).
RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo
Homepage=https://pc-heini.de/
Comment=HeiniRemote remote maintenance agent as a Flatpak
Description=Install the HeiniRemote agent on any Linux distribution via Flatpak.
+13 -1
View File
@@ -9,9 +9,21 @@
# The inner resolution runs ON THE HOST: flatpak-spawn forwards the sandbox
# environment, so $SHELL would still point at this script — resolve the user's
# real login shell from passwd instead and fix up $SHELL before exec'ing it.
exec flatpak-spawn --host /bin/sh -c '
#
# The PTY itself was allocated inside the sandbox (its own devpts instance),
# so on the host the forwarded fd cannot be named (`tty` fails, no
# controlling terminal, tools that open /dev/tty break). script(1) allocates a
# second, host-side PTY for the shell and relays through the forwarded one;
# util-linux >= 2.35 also passes window-size changes along.
# flatpak-spawn --host does not forward the caller's environment: without
# --env the host shell starts with no TERM at all (login scripts then fail
# in tput and in integer tests on the empty LINES/COLUMNS).
exec flatpak-spawn --host --env=TERM="${TERM:-xterm-256color}" --env=COLORTERM=truecolor /bin/sh -c '
shell="$(getent passwd "$(id -un)" | cut -d: -f7)"
[ -x "$shell" ] || shell=/bin/sh
export SHELL="$shell"
if command -v script >/dev/null 2>&1; then
exec script -q -e -c "exec \"$shell\" -l" /dev/null
fi
exec "$shell" -l
'
+2
View File
@@ -72,3 +72,5 @@ flatpak build-export --disable-sandbox repo build-dir "$BRANCH"
flatpak build-update-repo repo --title="HeiniRemote Agent" --prune --prune-depth=1
echo ">> done: ./repo"
# Touched to trigger a rebuild against upstream f8c509b (2026-09-21).