[auth] linux fixes (#3334)

## Description

- fix #2563 #2564
- update binary name

## Tests
This commit is contained in:
Prateek Sunal
2024-10-25 22:31:16 +05:30
committed by GitHub
22 changed files with 239 additions and 151 deletions

View File

@@ -90,13 +90,14 @@ jobs:
- name: Install dependencies for desktop build
run: |
sudo apt-get update -y
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config libsqlite3-dev locate appindicator3-0.1 libappindicator3-dev libffi-dev libtiff5
sudo apt-get install -y libsecret-1-dev libsodium-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config libsqlite3-dev locate appindicator3-0.1 libappindicator3-dev libffi-dev libtiff5
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
- name: Build desktop app
run: |
flutter config --enable-linux-desktop
dart pub global activate flutter_distributor
# dart pub global activate flutter_distributor
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
flutter_distributor package --platform=linux --targets=deb --skip-clean
mv dist/**/*-*-linux.deb artifacts/ente-${{ github.ref_name }}-x86_64.deb
env:
@@ -104,7 +105,7 @@ jobs:
- name: Generate checksums and push to artifacts
run: |
sha256sum artifacts/ente-* > artifacts/sha256sum-apk-deb
sha256sum artifacts/ente-* > artifacts/sha256sum-apk-deb
- name: Create a draft GitHub release
uses: ncipollo/release-action@v1
@@ -125,65 +126,65 @@ jobs:
track: internal
build-fedora-etc:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
defaults:
run:
working-directory: auth
defaults:
run:
working-directory: auth
steps:
- name: Checkout code and submodules
uses: actions/checkout@v4
with:
submodules: recursive
steps:
- name: Checkout code and submodules
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
uses: subosito/flutter-action@v2
with:
channel: "stable"
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
uses: subosito/flutter-action@v2
with:
channel: "stable"
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Create artifacts directory
run: mkdir artifacts
- name: Create artifacts directory
run: mkdir artifacts
- name: Install dependencies for desktop build
run: |
sudo apt-get update -y
sudo apt-get install -y libsecret-1-dev libsodium-dev libwebkit2gtk-4.0-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5 xz-utils libarchive-tools
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
- name: Install dependencies for desktop build
run: |
sudo apt-get update -y
sudo apt-get install -y libsecret-1-dev libsodium-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5 xz-utils libarchive-tools
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
- name: Install appimagetool
run: |
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x appimagetool
mv appimagetool /usr/local/bin/
- name: Install appimagetool
run: |
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x appimagetool
mv appimagetool /usr/local/bin/
- name: Build desktop app
run: |
flutter config --enable-linux-desktop
# dart pub global activate flutter_distributor
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref pacman --git-path packages/flutter_distributor
# Run below command if it is a beta or nightly
if [[ ${{ github.ref }} =~ beta|nightly ]]; then
flutter_distributor package --platform=linux --targets=pacman --skip-clean
mv dist/**/*-*-linux.pacman artifacts/ente-${{ github.ref_name }}-x86_64.pacman
fi
flutter_distributor package --platform=linux --targets=rpm --skip-clean
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
flutter_distributor package --platform=linux --targets=appimage --skip-clean
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
- name: Build desktop app
run: |
flutter config --enable-linux-desktop
# dart pub global activate flutter_distributor
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
# Run below command if it is a beta or nightly
if [[ ${{ github.ref }} =~ beta|nightly ]]; then
flutter_distributor package --platform=linux --targets=pacman --skip-clean
mv dist/**/*-*-linux.pacman artifacts/ente-${{ github.ref_name }}-x86_64.pacman
fi
flutter_distributor package --platform=linux --targets=rpm --skip-clean
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
flutter_distributor package --platform=linux --targets=appimage --skip-clean
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
- name: Generate checksums
run: sha256sum artifacts/ente-* >> artifacts/sha256sum-rpm-appimage
- name: Generate checksums
run: sha256sum artifacts/ente-* >> artifacts/sha256sum-rpm-appimage
- name: Create a draft GitHub release
uses: ncipollo/release-action@v1
with:
artifacts: "auth/artifacts/*"
draft: true
allowUpdates: true
updateOnlyUnreleased: true
- name: Create a draft GitHub release
uses: ncipollo/release-action@v1
with:
artifacts: "auth/artifacts/*"
draft: true
allowUpdates: true
updateOnlyUnreleased: true
build-windows:
runs-on: windows-latest
@@ -211,10 +212,11 @@ jobs:
- name: Build Windows installer
run: |
flutter config --enable-windows-desktop
dart pub global activate flutter_distributor
# dart pub global activate flutter_distributor
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
make innoinstall
flutter_distributor package --platform=windows --targets=exe --skip-clean
mv dist/**/ente_auth-*-windows-setup.exe artifacts/ente-${{ github.ref_name }}-installer.exe
mv dist/**/*-windows-setup.exe artifacts/ente-${{ github.ref_name }}-installer.exe
- name: Retain Windows EXE and DLLs
run: cp -r build/windows/x64/runner/Release ente-${{ github.ref_name }}-windows
@@ -307,7 +309,7 @@ jobs:
flutter config --enable-macos-desktop
dart pub global activate flutter_distributor
flutter_distributor package --platform=macos --targets=dmg --skip-clean
mv dist/**/ente_auth-*-macos.dmg artifacts/ente-${{ github.ref_name }}.dmg
mv dist/**/*-macos.dmg artifacts/ente-${{ github.ref_name }}.dmg
- name: Code sign DMG
run: |

View File

@@ -13,11 +13,11 @@ import 'package:ente_auth/models/key_attributes.dart';
import 'package:ente_auth/models/key_gen_result.dart';
import 'package:ente_auth/models/private_key_attributes.dart';
import 'package:ente_auth/store/authenticator_db.dart';
import 'package:ente_auth/utils/directory_utils.dart';
import 'package:ente_auth/utils/lock_screen_settings.dart';
import 'package:ente_crypto_dart/ente_crypto_dart.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:logging/logging.dart';
import 'package:path_provider/path_provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
import 'package:tuple/tuple.dart';
@@ -56,7 +56,6 @@ class Configuration {
static final _logger = Logger("Configuration");
String? _cachedToken;
late String _documentsDirectory;
late SharedPreferences _preferences;
String? _key;
String? _secretKey;
@@ -75,8 +74,7 @@ class Configuration {
_preferences = await SharedPreferences.getInstance();
sqfliteFfiInit();
_secureStorage = const FlutterSecureStorage();
_documentsDirectory = (await getApplicationDocumentsDirectory()).path;
_tempDirectory = "$_documentsDirectory/temp/";
_tempDirectory = (await DirectoryUtils.getDirectoryForInit()).path;
final tempDirectory = io.Directory(_tempDirectory);
try {
final currentTime = DateTime.now().microsecondsSinceEpoch;

View File

@@ -22,6 +22,7 @@ import 'package:ente_auth/store/code_store.dart';
import 'package:ente_auth/ui/tools/app_lock.dart';
import 'package:ente_auth/ui/tools/lock_screen.dart';
import 'package:ente_auth/ui/utils/icon_utils.dart';
import 'package:ente_auth/utils/directory_utils.dart';
import 'package:ente_auth/utils/lock_screen_settings.dart';
import 'package:ente_auth/utils/platform_util.dart';
import 'package:ente_auth/utils/window_protocol_handler.dart';
@@ -72,6 +73,7 @@ void main() async {
size: WindowListenerService.instance.getWindowSize(),
);
await windowManager.waitUntilReadyToShow(windowOptions, () async {
await DirectoryUtils.migrateNamingChanges();
await windowManager.show();
await windowManager.focus();
initSystemTray().ignore();

View File

@@ -37,8 +37,9 @@ class AuthenticatorDB {
),
);
}
final Directory documentsDirectory =
await getApplicationDocumentsDirectory();
final Directory documentsDirectory = Platform.isMacOS
? await getApplicationSupportDirectory()
: await getApplicationDocumentsDirectory();
final String path = join(documentsDirectory.path, _databaseName);
debugPrint(path);
return await openDatabase(

View File

@@ -37,8 +37,9 @@ class OfflineAuthenticatorDB {
),
);
}
final Directory documentsDirectory =
await getApplicationDocumentsDirectory();
final Directory documentsDirectory = Platform.isMacOS
? await getApplicationSupportDirectory()
: await getApplicationDocumentsDirectory();
final String path = join(documentsDirectory.path, _databaseName);
debugPrint(path);
return await openDatabase(

View File

@@ -1,12 +1,137 @@
import 'dart:io';
import 'package:io/io.dart';
import 'package:logging/logging.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:xdg_directories/xdg_directories.dart';
class DirectoryUtils {
static Future<String> getDatabasePath(String databaseName) async => p.joinAll(
[
static final logger = Logger('DirectoryUtils');
static Future<String> getDatabasePath(String databaseName) async {
String? directoryPath;
directoryPath ??= (await getApplicationSupportDirectory()).path;
return p.joinAll(
[
directoryPath,
".$databaseName",
],
);
}
static Future<Directory> getDirectoryForInit() async {
Directory? directory;
if (Platform.isLinux) {
try {
return cacheHome;
} catch (e) {
logger.warning("Failed to get cacheHome: $e");
}
}
directory ??= await getApplicationDocumentsDirectory();
return Directory(p.join(directory.path, "enteauthinit"));
}
static Future<Directory> getTempsDir() async {
return await getTemporaryDirectory();
}
static String migratedNamingChanges = "migrated_naming_changes.b5";
static migrateNamingChanges() async {
try {
final sharedPrefs = await SharedPreferences.getInstance();
if (sharedPrefs.containsKey(migratedNamingChanges)) {
return;
}
var databaseFile = File(
p.join(
(await getApplicationDocumentsDirectory()).path,
"ente",
".$databaseName",
],
".ente.authenticator.db",
),
);
var offlineDatabaseFile = File(
p.join(
(await getApplicationDocumentsDirectory()).path,
"ente",
".ente.offline_authenticator.db",
),
);
Directory oldDataDir;
Directory newDataDir;
Directory? tempDir;
if (Platform.isLinux) {
oldDataDir = Directory(
p.join(dataHome.path, "ente_auth"),
);
tempDir = Directory(
p.join(dataHome.path, "enteauth"),
);
} else if (Platform.isWindows) {
oldDataDir = Directory(
p.join(
(await getApplicationDocumentsDirectory()).path,
"ente",
),
);
tempDir = Directory(
p.join(
(await getApplicationDocumentsDirectory()).path,
"enteauth",
),
);
} else {
oldDataDir = await getApplicationDocumentsDirectory();
databaseFile = File(
p.join(
(await getApplicationDocumentsDirectory()).path,
"ente.authenticator.db",
),
);
offlineDatabaseFile = File(
p.join(
(await getApplicationDocumentsDirectory()).path,
"ente.offline_authenticator.db",
),
);
}
if (tempDir?.existsSync() ?? false) {
oldDataDir = tempDir!;
}
newDataDir = await getApplicationSupportDirectory();
await newDataDir.create(recursive: true);
final prefix = Platform.isMacOS ? "" : ".";
File newDatabaseFile =
File(p.join(newDataDir.path, "${prefix}ente.authenticator.db"));
if (await databaseFile.exists() && !await newDatabaseFile.exists()) {
await databaseFile.copy(newDatabaseFile.path);
}
File newOfflineDatabaseFile = File(
p.join(newDataDir.path, "${prefix}ente.offline_authenticator.db"),
);
if (await offlineDatabaseFile.exists() &&
!await newOfflineDatabaseFile.exists()) {
await offlineDatabaseFile.copy(newOfflineDatabaseFile.path);
}
if (Platform.isLinux && await oldDataDir.exists()) {
await copyPath(oldDataDir.path, newDataDir.path);
}
sharedPrefs.setBool(migratedNamingChanges, true).ignore();
} catch (e, st) {
logger.warning("Migrating Database failed!", e, st);
rethrow;
}
}
}

View File

@@ -10,6 +10,7 @@ import 'package:ente_auth/ui/components/dialog_widget.dart';
import 'package:ente_auth/ui/components/models/button_type.dart';
import 'package:ente_auth/ui/tools/debug/log_file_viewer.dart';
import 'package:ente_auth/utils/dialog_util.dart';
import 'package:ente_auth/utils/directory_utils.dart';
import 'package:ente_auth/utils/platform_util.dart';
import 'package:ente_auth/utils/share_utils.dart';
import 'package:ente_auth/utils/toast_util.dart';
@@ -146,7 +147,7 @@ Future<String> getZippedLogsFile(BuildContext context) async {
await dialog.show();
final logsPath = (await getApplicationSupportDirectory()).path;
final logsDirectory = Directory("$logsPath/logs");
final tempPath = (await getTemporaryDirectory()).path;
final tempPath = (await DirectoryUtils.getTempsDir()).path;
final zipFilePath =
"$tempPath/logs-${Configuration.instance.getUserID() ?? 0}.zip";
final encoder = ZipFileEncoder();

View File

@@ -1,6 +1,5 @@
import 'dart:io';
import 'package:desktop_webview_window/desktop_webview_window.dart';
import 'package:ente_auth/ui/common/web_page.dart';
import 'package:file_saver/file_saver.dart';
import 'package:flutter/cupertino.dart';
@@ -31,17 +30,7 @@ class PlatformUtil {
static openWebView(BuildContext context, String title, String url) async {
if (PlatformUtil.isDesktop()) {
if (!await WebviewWindow.isWebviewAvailable()) {
await launchUrlString(url);
return;
}
final webview = await WebviewWindow.create(
configuration: CreateConfiguration(
title: title,
),
);
webview.launch(url);
await launchUrlString(url);
return;
}
await Navigator.of(context).push(

View File

@@ -4,7 +4,7 @@ project(runner LANGUAGES CXX)
# The name of the executable created for the application. Change this to change
# the on-disk name of your application.
set(BINARY_NAME "ente_auth")
set(BINARY_NAME "enteauth")
# The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
set(APPLICATION_ID "io.ente.auth")

View File

@@ -6,7 +6,6 @@
#include "generated_plugin_registrant.h"
#include <desktop_webview_window/desktop_webview_window_plugin.h>
#include <file_saver/file_saver_plugin.h>
#include <flutter_local_authentication/flutter_local_authentication_plugin.h>
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
@@ -20,9 +19,6 @@
#include <window_manager/window_manager_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) desktop_webview_window_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "DesktopWebviewWindowPlugin");
desktop_webview_window_plugin_register_with_registrar(desktop_webview_window_registrar);
g_autoptr(FlPluginRegistrar) file_saver_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSaverPlugin");
file_saver_plugin_register_with_registrar(file_saver_registrar);

View File

@@ -3,7 +3,6 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
desktop_webview_window
file_saver
flutter_local_authentication
flutter_secure_storage_linux

View File

@@ -1,7 +1,8 @@
display_name: Auth
display_name: Ente Auth
package_name: enteauth
license: GPLv3
metainfo: linux/packaging/ente_auth.appdata.xml
metainfo: linux/packaging/enteauth.appdata.xml
icon: assets/icons/auth-icon.png
@@ -25,10 +26,6 @@ startup_notify: false
#
# include:
# - libcurl.so.4
include:
- libffi.so.8
- libtiff.so.5
- libjpeg.so.8
supported_mime_type:
- x-scheme-handler/enteauth
- x-scheme-handler/enteauth

View File

@@ -1,5 +1,7 @@
display_name: Auth
package_name: auth
display_name: Ente Auth
package_name: enteauth
include_build_number: false
maintainer:
name: Ente.io Developers
email: auth@ente.io
@@ -10,10 +12,9 @@ license: GPLv3
icon: assets/icons/auth-icon.png
installed_size: 36000
metainfo: linux/packaging/ente_auth.appdata.xml
metainfo: linux/packaging/enteauth.appdata.xml
dependencies:
- libwebkit2gtk-4.0-37
- libsqlite3-0
- libsodium23
- libsecret-1-0
@@ -25,7 +26,7 @@ keywords:
- Authentication
- 2FA
generic_name: Ente Authentication
generic_name: Ente Authenticator
categories:
- Utility

View File

@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>ente_auth</id>
<id>enteauth</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>AGPL-3.0</project_license>
<name>Ente Auth</name>
<summary>Open source 2FA authenticator, with end-to-end encrypted backups</summary>
<summary>FOSS, cross-platform 2FA app</summary>
<description>
<p>Auth provides end-to-end encrypted cloud backups so you don't have to worry about losing your tokens. Our cryptography has been externally audited.</p>
<p>Auth has an app for every platform. Mobile, desktop and web. Your codes sync across all your devices, end-to-end encrypted.</p>
<p>Auth also comes with Offline mode, tags, icons, pins, import/export and more</p>
</description>
<launchable type="desktop-id">ente_auth.desktop</launchable>
<launchable type="desktop-id">enteauth.desktop</launchable>
<url type="homepage">https://ente.io/auth</url>
<screenshots>
<screenshot type="default">
@@ -18,14 +18,18 @@
</screenshot>
</screenshots>
<releases>
<release version="3.0.12" date="2024-06-17"/>
<release version="4.0.3" date="2024-10-08" />
</releases>
<provides>
<id>ente_auth.desktop</id>
<id>enteauth.desktop</id>
</provides>
<content_rating type="oars-1.0" />
<developer id="io.github.ente-io.ente">
<name>Ente.io Developers</name>
</developer>
<update_contact>auth@ente.io</update_contact>
<branding>
<color type="primary" scheme_preference="light">#ffffff</color>
<color type="primary" scheme_preference="dark">#000000</color>
</branding>
</component>

View File

@@ -1,5 +1,5 @@
display_name: Auth
package_name: auth
display_name: Ente Auth
package_name: enteauth
maintainer:
name: Ente.io Developers
email: auth@ente.io
@@ -8,29 +8,18 @@ licenses:
icon: assets/icons/auth-icon.png
installed_size: 36000
metainfo: linux/packaging/ente_auth.appdata.xml
metainfo: linux/packaging/enteauth.appdata.xml
dependencies:
- c-ares
- ffmpeg
- gtk3
- http-parser
- libevent
- libvpx
- libxslt
- libxss
- minizip
- nss
- re2
- snappy
- libnotify
- sqlite
- libsecret
- libappindicator-gtk3
keywords:
- Authentication
- 2FA
generic_name: Ente Authentication
generic_name: Ente Authenticator
categories:
- Utility
@@ -47,12 +36,12 @@ postinstall_scripts:
postupgrade_scripts:
- post_install
postremove_scripts:
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
- update-desktop-database -q
- if [ -e /usr/lib/libsodium.so.23 ]; then
- rm /usr/lib/libsodium.so.23
- rm /usr/lib/libsodium.so.23
- fi
startup_notify: false
startup_notify: false

View File

@@ -6,15 +6,15 @@ packager: Ente.io Developers
packagerEmail: auth@ente.io
license: GPLv3
url: https://github.com/ente-io/ente
package_name: enteauth
include_build_number: false
display_name: Auth
metainfo: linux/packaging/ente_auth.appdata.xml
metainfo: linux/packaging/enteauth.appdata.xml
requires:
- libsqlite3x
- webkit2gtk4.0
- libsodium
- libsecret
- libappindicator
@@ -22,7 +22,7 @@ keywords:
- Authentication
- 2FA
generic_name: Ente Authentication
generic_name: Ente Authenticator
categories:
- Utility

View File

@@ -7,7 +7,6 @@ import Foundation
import app_links
import connectivity_plus
import desktop_webview_window
import device_info_plus
import file_saver
import flutter_inappwebview_macos
@@ -31,7 +30,6 @@ import window_manager
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin"))
DesktopWebviewWindowPlugin.register(with: registry.registrar(forPlugin: "DesktopWebviewWindowPlugin"))
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FileSaverPlugin.register(with: registry.registrar(forPlugin: "FileSaverPlugin"))
InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin"))

View File

@@ -326,15 +326,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.7.10"
desktop_webview_window:
dependency: "direct main"
description:
path: "packages/desktop_webview_window"
ref: main
resolved-ref: "3e4247ba5b71049704395b70b5a827fb113b88ea"
url: "https://github.com/MixinNetwork/flutter-plugins"
source: git
version: "0.2.4"
device_info_plus:
dependency: "direct main"
description:
@@ -879,7 +870,7 @@ packages:
source: hosted
version: "0.19.0"
io:
dependency: transitive
dependency: "direct main"
description:
name: io
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
@@ -1821,7 +1812,7 @@ packages:
source: hosted
version: "0.4.2"
xdg_directories:
dependency: transitive
dependency: "direct main"
description:
name: xdg_directories
sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"

View File

@@ -1,6 +1,6 @@
name: ente_auth
description: ente two-factor authenticator
version: 4.0.2+402
version: 4.0.3+403
publish_to: none
environment:
@@ -19,11 +19,6 @@ dependencies:
confetti: ^0.8.0
connectivity_plus: ^6.0.5
convert: ^3.1.1
desktop_webview_window:
git:
url: https://github.com/MixinNetwork/flutter-plugins
ref: main
path: packages/desktop_webview_window
device_info_plus: ^9.1.1
dio: ^5.4.0
dotted_border: ^2.0.0+2
@@ -67,6 +62,7 @@ dependencies:
gradient_borders: ^1.0.0
http: ^1.1.0
intl: ^0.19.0
io: ^1.0.4
json_annotation: ^4.5.0
local_auth: ^2.3.0
local_auth_android: ^1.0.37
@@ -105,6 +101,7 @@ dependencies:
uuid: ^4.2.2
win32: ^5.1.1
window_manager: ^0.4.2
xdg_directories: ^1.0.4
dependency_overrides:
flutter_secure_storage_linux:

View File

@@ -8,7 +8,6 @@
#include <app_links/app_links_plugin_c_api.h>
#include <connectivity_plus/connectivity_plus_windows_plugin.h>
#include <desktop_webview_window/desktop_webview_window_plugin.h>
#include <file_saver/file_saver_plugin.h>
#include <flutter_inappwebview_windows/flutter_inappwebview_windows_plugin_c_api.h>
#include <flutter_local_authentication/flutter_local_authentication_plugin_c_api.h>
@@ -27,8 +26,6 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
registry->GetRegistrarForPlugin("AppLinksPluginCApi"));
ConnectivityPlusWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
DesktopWebviewWindowPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("DesktopWebviewWindowPlugin"));
FileSaverPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FileSaverPlugin"));
FlutterInappwebviewWindowsPluginCApiRegisterWithRegistrar(

View File

@@ -5,7 +5,6 @@
list(APPEND FLUTTER_PLUGIN_LIST
app_links
connectivity_plus
desktop_webview_window
file_saver
flutter_inappwebview_windows
flutter_local_authentication

View File

@@ -1,4 +1,5 @@
app_id: 9E5F0C93-96A3-4DA9-AE52-1AA6339851FC
package_name: enteauth
publisher: ente.io
publisher_url: https://github.com/ente-io/ente
display_name: Ente Auth