snap/snapcraft.yaml builds the Linux app as a strictly confined Snap on core24 with the GNOME extension (GTK, WebKitGTK, GStreamer and libsecret come from its runtime; files and the browser go through the desktop's portals), connecting to learn.halkyon.eu, the project's instance. It builds what is committed, with Flutter pinned as in CI. - The session: libsecret's keyring over D-Bus needs the password-manager-service plug, which the Store never connects by itself, so unless it is connected the app keeps the session in an encrypted file whose key comes from the Secret portal (snap/local/secret-backend). - network-manager-observe lets Serverpod hear that the network went and end the sync's connection at once; until the Store grants it, it too is connected by hand. - The listing points to the project, not the instance: the website learn.halkyon.app, contact and issues support@halkyon.app. - The icon is the app's with rounded corners (tool/snap_icon.py), for the Store and the dock alike. - The app's version is 0.1.0, build 1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
12 lines
523 B
Shell
Executable file
12 lines
523 B
Shell
Executable file
#!/bin/sh
|
|
# Starts the app with a way to keep the session that a Snap can use.
|
|
#
|
|
# Serverpod keeps the session with libsecret, whose usual way, the desktop's
|
|
# keyring over D-Bus, needs the password-manager-service plug, which the Snap
|
|
# Store never connects by itself. So unless someone connected it by hand,
|
|
# libsecret keeps an encrypted file in the Snap's own folder, whose key comes
|
|
# from the desktop's Secret portal.
|
|
if ! snapctl is-connected password-manager-service; then
|
|
export SECRET_BACKEND=file
|
|
fi
|
|
exec "$@"
|