diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index c331c84a25..94a792d6fa 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -31,7 +31,7 @@ jobs: sudo apt-get install -y ninja-build libgtk-3-dev sudo apt-get install libsdl2-dev sudo apt-get install webkit2gtk-4.0 - sudo apt-get install libopus-dev + sudo apt-get install libopus-dev libogg-dev flutter doctor - name: Install dependencies diff --git a/.github/workflows/manual-build.yml b/.github/workflows/manual-build.yml index 16bf918636..03726a24c9 100644 --- a/.github/workflows/manual-build.yml +++ b/.github/workflows/manual-build.yml @@ -28,7 +28,7 @@ jobs: sudo apt-get install -y ninja-build libgtk-3-dev sudo apt-get install libsdl2-dev sudo apt-get install webkit2gtk-4.0 - sudo apt-get install libopus-dev + sudo apt-get install libopus-dev libogg-dev flutter doctor - run: flutter config --enable-linux-desktop @@ -38,28 +38,96 @@ jobs: - name: Build APP run: flutter build linux + - name: Compress Flutter build + run: tar -C build/linux/x64/release/bundle -cvf mixin-desktop-linux-portable.tar.gz . + + - name: Upload app archive for next steps + uses: actions/upload-artifact@v2 + with: + name: mixin-desktop-linux-portable-archive + path: mixin-desktop-linux-portable.tar.gz + + - name: Package APP + run: ./dist/linux_deb.sh + + - name: Upload Artifact + uses: actions/upload-artifact@v2 + with: + name: mixin_desktop_amd64.deb.zip + path: build/mixin_desktop_amd64.deb + + build-linux-flatpak: + needs: build-linux + runs-on: ubuntu-latest + container: + image: bilelmoussaoui/flatpak-github-actions:gnome-42 + options: --privileged + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Download app archive + uses: actions/download-artifact@v3 + with: + name: mixin-desktop-linux-portable-archive + path: dist/flatpak + + - name: Build .flatpak + uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v4 + with: + bundle: mixin-desktop-flatpak.flatpak + cache-key: flatpak-builder-${{ github.sha }} + manifest-path: dist/flatpak/one.mixin.messenger.desktop.yml + + build-linux-snap: + needs: build-linux + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Download app archive + uses: actions/download-artifact@v3 + with: + name: mixin-desktop-linux-portable-archive + + - name: uncompress app archive + run: | + mkdir -p build/linux/x64/release/bundle + tar -C build/linux/x64/release/bundle -xvf mixin-desktop-linux-portable.tar.gz + - name: Prepare snap build run: ./dist/linux_snap_prepare.sh - - uses: snapcore/action-build@v1 + - name: Build .snap + uses: snapcore/action-build@v1 id: build-snap with: snapcraft-args: '--enable-experimental-extensions' path: dist/snap - - uses: actions/upload-artifact@v3 + - name: Upload snap + uses: actions/upload-artifact@v3 with: name: mixin-desktop-snap path: ${{ steps.build-snap.outputs.snap }} - - name: Package APP - run: ./dist/linux_deb.sh + build-linux-appimage: + needs: build-linux + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 - - name: Upload Artifact - uses: actions/upload-artifact@v2 + - name: Download app archive + uses: actions/download-artifact@v3 with: - name: mixin_desktop_amd64.deb.zip - path: build/mixin_desktop_amd64.deb + name: mixin-desktop-linux-portable-archive + + - name: uncompress app archive + run: | + mkdir -p build/linux/x64/release/bundle + tar -C build/linux/x64/release/bundle -xvf mixin-desktop-linux-portable.tar.gz - name: Build AppImage unsing appimage-builder uses: docker://appimagecrafters/appimage-builder:0.9.1 diff --git a/.gitignore b/.gitignore index 27aabaf3c6..655d772bf2 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,7 @@ gradlew gradlew.bat local.properties -dist/snap/mixin_desktop \ No newline at end of file +dist/snap/mixin_desktop +dist/flatpak/build-dir* +dist/flatpak/.flatpak-builder +dist/flatpak/mixin-desktop-linux-portable.tar.gz \ No newline at end of file diff --git a/README.md b/README.md index f815018723..b959f69e59 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ there are some addition library needed. sudo apt-get install libsqlite3-dev sudo apt-get install webkit2gtk-4.0 sudo apt-get install libsdl2-dev -sudo apt-get install libopus-dev +sudo apt-get install libopus-dev libogg-dev ``` diff --git a/dist/flatpak/mixin_desktop.desktop b/dist/flatpak/mixin_desktop.desktop new file mode 100644 index 0000000000..61acb6a1a9 --- /dev/null +++ b/dist/flatpak/mixin_desktop.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=Mixin Messenger +Comment=An encrypted messenger with Signal protocol and cryptocurrency wallet +GenericName=Internet Messenger +Categories=InstantMessaging +Version=1.0 +Exec=mixin_desktop +Terminal=false +Icon=mixin_desktop diff --git a/dist/flatpak/mixin_desktop.metainfo.xml b/dist/flatpak/mixin_desktop.metainfo.xml new file mode 100644 index 0000000000..140d2979ee --- /dev/null +++ b/dist/flatpak/mixin_desktop.metainfo.xml @@ -0,0 +1,32 @@ + + + + one.mixin.messenger.desktop + Mixin Messenger + Mixin Messenger + Mixin Team + https://mixin.one/mm + GPL-3.0 + GPL-3.0 + + pointing + keyboard + touch + + +

Mixin Messenger is an open-source signal protocol messenger.

+
+ one.mixin.messenger.desktop.desktop + + + https://mixin.one/assets/cd25391eaca31876c588.webp + + + + + + +
\ No newline at end of file diff --git a/dist/flatpak/mixin_desktop.png b/dist/flatpak/mixin_desktop.png new file mode 100644 index 0000000000..09a4eabd2b Binary files /dev/null and b/dist/flatpak/mixin_desktop.png differ diff --git a/dist/flatpak/one.mixin.messenger.desktop.yml b/dist/flatpak/one.mixin.messenger.desktop.yml new file mode 100644 index 0000000000..557d76926b --- /dev/null +++ b/dist/flatpak/one.mixin.messenger.desktop.yml @@ -0,0 +1,50 @@ +id: one.mixin.messenger.desktop +runtime: org.gnome.Platform +runtime-version: '42' +sdk: org.gnome.Sdk +command: mixin_desktop +rename-desktop-file: mixin_desktop.desktop +rename-icon: mixin_desktop +rename-appdata-file: mixin_desktop.metainfo.xml +finish-args: + - --share=ipc + - --socket=fallback-x11 + - --socket=wayland + - --device=dri + - --socket=pulseaudio + - --share=network + - --filesystem=home + - --talk-name=org.freedesktop.Notifications + - --talk-name=org.kde.StatusNotifierWatcher + - --device=all + - --env=PATH=/app/bin:/usr/bin + +modules: + - name: mixin_desktop + buildsystem: simple + only-arches: + - x86_64 + build-commands: + - mkdir -p FlutterApp + - tar -xf mixin-desktop-linux-portable.tar.gz -C FlutterApp + - cp -r FlutterApp /app/ + - chmod +x /app/FlutterApp/mixin_desktop + - mkdir -p /app/bin + - ln -s /app/FlutterApp/mixin_desktop /app/bin/mixin_desktop + - mkdir -p /app/share/metainfo + - cp -r mixin_desktop.metainfo.xml /app/share/metainfo/ + - mkdir -p /app/share/icons/hicolor/256x256/apps + - cp -r mixin_desktop.png /app/share/icons/hicolor/256x256/apps/mixin_desktop.png + - mkdir -p /app/share/applications + - cp -r mixin_desktop.desktop /app/share/applications/mixin_desktop.desktop + - mkdir -p /app/share/appdata + - cp -r mixin_desktop.metainfo.xml /app/share/appdata/ + sources: + - type: file + path: mixin_desktop.desktop + - type: file + path: mixin_desktop.png + - type: file + path: mixin-desktop-linux-portable.tar.gz + - type: file + path: mixin_desktop.metainfo.xml \ No newline at end of file diff --git a/lib/ui/home/bloc/message_bloc.dart b/lib/ui/home/bloc/message_bloc.dart index e3fa880172..ba8d3bb83a 100644 --- a/lib/ui/home/bloc/message_bloc.dart +++ b/lib/ui/home/bloc/message_bloc.dart @@ -176,6 +176,7 @@ class MessageState extends Equatable { ); } + // ignore: avoid_returning_this return this; } } diff --git a/pubspec.lock b/pubspec.lock index e013c0c063..b088748f40 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1026,10 +1026,10 @@ packages: dependency: "direct main" description: name: ogg_opus_player - sha256: a3d5cde18fdc376fd322a57404cd8c8446f75f61acaf659058119a4b091c3592 + sha256: "9d3f813d3ed39dc9bd58e599ed835ce9c06018d48c58237ee5c5ed85411aa8fb" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.5.1" open_file: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 33f5782273..59f44195b7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -69,7 +69,7 @@ dependencies: mime: ^1.0.2 mixin_bot_sdk_dart: ^0.3.7 octo_image: ^1.0.2 - ogg_opus_player: ^0.5.0 + ogg_opus_player: ^0.5.1 open_file: git: url: https://github.com/crazecoder/open_file.git