Skip to content

Commit 863e6c0

Browse files
committed
addition of the script and its config files + modification of the .desktop file to work with flatpaks.
1 parent 821ff30 commit 863e6c0

4 files changed

Lines changed: 157 additions & 0 deletions

File tree

chat.avia.AviaClient.desktop

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[Desktop Entry]
2+
Name=Avia Client
3+
Comment=Open source, user-first chat platform, modded with Avia !
4+
Exec=aviaclient-desktop
5+
Terminal=false
6+
Type=Application
7+
Icon=chat.avia.AviaClient
8+
Categories=Network;InstantMessaging
9+
StartupWMClass=aviaclient-desktop
10+
X-Desktop-File-Install-Version=0.26
11+
X-Flatpak=chat.avia.AviaClient.desktop

flatpak-avia/build_flatpak.sh

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
set -e
2+
echo "This script depends on wget, flatpak-builder, pnpm,zip and of course, flatpak. If commands don't get found, please check your installs."
3+
cd ..
4+
echo 'Compiling Avia...'
5+
pnpm i --frozen-lockfile
6+
git -c submodule."assets".update=checkout submodule update --init assets
7+
pnpm package
8+
echo 'Zipping up Avia build...'
9+
cd out
10+
zip -r AviaClient-linux-x64.zip AviaClient-linux-x64
11+
echo "Copying necessary files to the flatpak's project folder..."
12+
cp -v AviaClient-linux-x64.zip ../flatpak-avia/
13+
cd ..
14+
cp -v chat.avia.AviaClient.desktop ./flatpak-avia/
15+
cp -v ./avia_assets/icon.png ./flatpak-avia/
16+
echo "Building flatpak..."
17+
cd ./flatpak-avia/ || echo "Something went wrong. flatpak-avia folder does not exist, exiting..."
18+
flatpak-builder build --repo=flatpak_avia --user --install-deps-from=flathub --force-clean --ccache --install chat.avia.AviaClient.yml
19+
echo "Bundling flatpak..."
20+
flatpak build-bundle flatpak_avia aviaclient.flatpak chat.avia.AviaClient
21+
echo "Cleaning up..."
22+
rm -r ../out/AviaClient-linux-x64/
23+
rm -r ../out/AviaClient-linux-x64.zip
24+
rm -r flatpak_avia
25+
rm -r .flatpak-builder
26+
rm -r build
27+
rm chat.avia.AviaClient.desktop
28+
rm AviaClient-linux-x64.zip
29+
rm icon.png
30+
echo "Completed ! Please do not publish this flatpak on flathub under the Avia Client branding."
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<component type="desktop-application">
3+
<id>chat.avia.AviaClient</id>
4+
<name>Avia Client</name>
5+
<icon type="remote">https://raw.githubusercontent.com/AvaLilac/for-desktop/refs/heads/main/avia_assets/icon.ico</icon>
6+
<summary>Avia is an open-source modification of Stoat, an open-source, user-first chat platform</summary>
7+
<url type="bugtracker">https://stt.gg/2vNF0JzH</url>
8+
<url type="homepage">https://avalilac.github.io/AviaClient-Home/</url>
9+
<url type="contact">https://stt.gg/2vNF0JzH</url>
10+
<metadata_license>FSFAP</metadata_license>
11+
<project_license>AGPL-3.0</project_license>
12+
<requires>
13+
<internet>always</internet>
14+
</requires>
15+
<developer>
16+
<name>AvaLilac</name>
17+
</developer>
18+
<description>
19+
<p>The Stoat client you actually want</p>
20+
<p>Avia Client is a modification of Stoat, it allows for use of plugins and CSS themes with a bunch of pre-included features such as a menu for all your favorite gifs ! This Flatpak version is maintained by Raptor.</p>
21+
</description>
22+
<launchable type="desktop-id">chat.avia.AviaClient.desktop</launchable>
23+
<releases>
24+
<release version="1.6.0" date="2026-05-07">
25+
<url type="details">https://github.com/AvaLilac/for-desktop/compare/1.5.0...1.6.0</url>
26+
<description>
27+
<p>Changelog</p>
28+
<p>New</p>
29+
<ul>
30+
<li>Meet Aurora, our new mascot and logo (Created by Amelia in Procreate)</li>
31+
<li>There is now an integrated Repository for plugins and themes, allowing you to browse &amp; install them from within the client.</li>
32+
<li>With the new Headliner feature, you can change the titlebar of AviaClient to anything you like</li>
33+
<li>You can now fully backup and restore AviaClient's data (Themes, plugins, QuickCSS, etc)</li>
34+
<li>You can now Login with a session token</li>
35+
<li>Added a new About window, which can be access via the tray or by pressing F1</li>
36+
<li>Monaco is now used as the default editor for Plugins, Local Plugins, Themes, and QuickCSS</li>
37+
<li>Flatpak version</li>
38+
</ul>
39+
<p>Changes</p>
40+
<ul>
41+
<li>Many, many Quality-of-Life changes under the hood for developers</li>
42+
<li>Rebranded the desktop app</li>
43+
<li>Local plugins can now be imported directly from a .js file</li>
44+
<li>Themes can now be imported directly from a .txt or .css file (via Drag-n-Drop too!)</li>
45+
<li>The Settings UI now properly displays that this is AviaClient</li>
46+
<li>You can now display the custom titlebar with the system's native menu buttons (close, minimize, maximize)</li>
47+
<li>The tray icon menu now has "Restart App"</li>
48+
<li>There's now an option to disable the show/hide behaviour of the tray icon upon clicking it</li>
49+
<li>Plugin installation is no longer limited to GitHub URLs - we now support Codeberg as well</li>
50+
<li>DevTools can now be opened by pressing F12</li>
51+
<li>Exposed a method to get AviaClient version via js (window.native.versions.aviaClient())</li>
52+
<li>AviaClient version is now displayed in the tray, alongside Stoat's</li>
53+
<li>Discord RPC now displays AviaClient</li>
54+
<li>macOS only: the default about window now uses AviaClient's version as the buildId</li>
55+
<li>macOS only: Settings can now be opened and closed by pressing Cmd + ,</li>
56+
</ul>
57+
<p>Fixes</p>
58+
<ul>
59+
<li>Fix the chatbar buttons being placed incorrectly under specific circumstances (by 0simp#2291)</li>
60+
<li>Fix a rare race condition during app initialization</li>
61+
<li>Fixed app badges being unable to be displayed - still needs badge logic</li>
62+
</ul>
63+
</description>
64+
</release>
65+
</releases>
66+
<content_rating type="oars-1.0">
67+
<content_attribute id="social-chat">intense</content_attribute>
68+
<content_attribute id="social-audio">intense</content_attribute>
69+
<content_attribute id="social-contacts">intense</content_attribute>
70+
</content_rating>
71+
</component>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
id: chat.avia.AviaClient
2+
runtime: org.kde.Platform
3+
runtime-version: "6.10"
4+
sdk: org.kde.Sdk
5+
base: org.electronjs.Electron2.BaseApp
6+
base-version: "25.08"
7+
sdk-extensions:
8+
- org.freedesktop.Sdk.Extension.node24
9+
build-options:
10+
append-path: /usr/lib/sdk/node24/bin
11+
env:
12+
NPM_CONFIG_LOGLEVEL: info
13+
command: aviaclient-desktop
14+
finish-args:
15+
- --share=ipc
16+
- --device=dri
17+
- --socket=x11
18+
- --socket=pulseaudio
19+
- --share=network
20+
- --env=ELECTRON_TRASH=gio
21+
- --talk-name=org.kde.StatusNotifierWatcher
22+
desktop-file-name-suffix: " (FlatPak)"
23+
modules:
24+
- name: aviaclient-desktop
25+
buildsystem: simple
26+
build-commands:
27+
- cp -a aviaclient-desktop /app/
28+
- install -Dm755 aviaclient-desktop.sh /app/bin/aviaclient-desktop
29+
- install -Dm755 chat.avia.AviaClient.metainfo.xml /app/share/metainfo/chat.avia.AviaClient.metainfo.xml
30+
- install -D chat.avia.AviaClient.desktop -t /app/share/applications/
31+
- install -D icon.png /app/share/icons/hicolor/256x256/apps/chat.avia.AviaClient.png
32+
sources:
33+
- type: archive
34+
path: AviaClient-linux-x64.zip
35+
dest: aviaclient-desktop
36+
- type: script
37+
dest-filename: aviaclient-desktop.sh
38+
commands:
39+
- zypak-wrapper /app/aviaclient-desktop/aviaclient-desktop "$@"
40+
- type: file
41+
path: chat.avia.AviaClient.desktop
42+
- type: file
43+
path: icon.png
44+
- type: file
45+
path: chat.avia.AviaClient.metainfo.xml

0 commit comments

Comments
 (0)