From 5a02bd35cc76e44ad9cc1496649d7f0cc93ff809 Mon Sep 17 00:00:00 2001 From: Bryan1029384756 <23323626+Bryan1029384756@users.noreply.github.com> Date: Wed, 11 Feb 2026 18:14:15 -0600 Subject: [PATCH] feat: Implement Electron frontend project setup, configure AI permissions, and establish Gitea CI/CD for app releases. --- .claude/settings.local.json | 3 ++- .gitea/workflows/release.yml | 12 ++++++++++-- Frontend/Electron/package.json | 22 +++++++++++++++++++++- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index f3b1a83..d27f967 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -24,7 +24,8 @@ "WebFetch(domain:www.npmjs.com)", "WebFetch(domain:stack.convex.dev)", "WebFetch(domain:raw.githubusercontent.com)", - "Bash(find:*)" + "Bash(find:*)", + "WebFetch(domain:docs.flatpak.org)" ] } } diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 0247b60..03032fe 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -14,7 +14,12 @@ jobs: - name: Install required tools run: | - apt-get update && apt-get install -y jq xvfb + apt-get update && apt-get install -y jq xvfb flatpak flatpak-builder + + - name: Setup Flatpak runtimes + run: | + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + flatpak install -y flathub org.freedesktop.Platform//23.08 org.freedesktop.Sdk//23.08 org.electronjs.Electron2.BaseApp//23.08 - name: Cache npm and Electron uses: actions/cache@v4 @@ -23,6 +28,8 @@ jobs: ~/.npm ~/.cache/electron ~/.cache/electron-builder + ~/.local/share/flatpak + /var/lib/flatpak Frontend/Electron/node_modules node_modules key: npm-electron-${{ hashFiles('package-lock.json', 'Frontend/Electron/package-lock.json') }} @@ -88,7 +95,8 @@ jobs: for file in Frontend/Electron/dist/latest*.yml \ Frontend/Electron/dist/*.exe \ Frontend/Electron/dist/*.exe.blockmap \ - Frontend/Electron/dist/*.AppImage; do + Frontend/Electron/dist/*.AppImage \ + Frontend/Electron/dist/*.flatpak; do [ -f "$file" ] || continue FILENAME=$(basename "$file") ENCODED_NAME=$(echo -n "$FILENAME" | jq -sRr @uri) diff --git a/Frontend/Electron/package.json b/Frontend/Electron/package.json index ed7d13e..4e71e79 100644 --- a/Frontend/Electron/package.json +++ b/Frontend/Electron/package.json @@ -50,7 +50,27 @@ }, "linux": { "target": [ - "AppImage" + "AppImage", + "flatpak" + ], + "category": "Network;InstantMessaging" + }, + "flatpak": { + "runtime": "org.freedesktop.Platform", + "runtimeVersion": "23.08", + "sdk": "org.freedesktop.Sdk", + "base": "org.electronjs.Electron2.BaseApp", + "baseVersion": "23.08", + "finishArgs": [ + "--share=ipc", + "--share=network", + "--socket=x11", + "--socket=wayland", + "--socket=pulseaudio", + "--device=dri", + "--device=all", + "--filesystem=home", + "--talk-name=org.freedesktop.Notifications" ] }, "nsis": {