Merge branch 'main' into feat/tenorkeyboard
This commit is contained in:
commit
228a855409
15 changed files with 9297 additions and 9222 deletions
20
CHANGELOG.md
20
CHANGELOG.md
|
|
@ -1,3 +1,23 @@
|
|||
## v2.1.1
|
||||
Bugfix release to trigger flatpak arm64 release again.
|
||||
|
||||
- build: (deps): bump actions/checkout from 4 to 5 (dependabot[bot])
|
||||
- build: (deps): bump app_links from 6.4.0 to 6.4.1 (dependabot[bot])
|
||||
- build: (deps): bump file_picker from 10.2.3 to 10.3.1 (dependabot[bot])
|
||||
- build: (deps): bump msix from 3.16.10 to 3.16.12 (dependabot[bot])
|
||||
- build: (deps): bump package_info_plus from 8.3.0 to 8.3.1 (dependabot[bot])
|
||||
- build: (deps): bump share_plus from 11.0.0 to 11.1.0 (dependabot[bot])
|
||||
- build: Also build linux on github runners (Christian Kußowski)
|
||||
- build: Update macos podfile (Christian Kußowski)
|
||||
- chore: Follow up subtitle font style (Christian Kußowski)
|
||||
- chore: Slightly adjust font sizes and design (Christian Kußowski)
|
||||
- chore(translations): Translated using Weblate (Chinese (Traditional Han script)) (miullu)
|
||||
- chore(translations): Translated using Weblate (Norwegian Bokmål) (Frank Paul Silye)
|
||||
- chore(translations): Translated using Weblate (Polish) (Piotr Orzechowski)
|
||||
- feat: support xdp selector for linux (ShootingStarDragons)
|
||||
- fix: Follow up fix rectangle avatars (Christian Kußowski)
|
||||
- refactor: Remove broken push error reporter (Christian Kußowski)
|
||||
|
||||
## v2.1.0
|
||||
FluffyChat 2.1.0 brings support for room version 12 and a lot of bugfixes, updated translations and performance improvements. Also chat state events are now collapsed by default.
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
FluffyChat 2.1.0 brings support for room version 12 and a lot of bugfixes, updated translations and performance improvements. Also chat state events are now collapsed by default.
|
||||
Fixes broken error reporter for push notifications and wrong clipped avatars. Also updates dependencies and translations.
|
||||
4882
lib/l10n/intl_nb.arb
4882
lib/l10n/intl_nb.arb
File diff suppressed because it is too large
Load diff
6770
lib/l10n/intl_pl.arb
6770
lib/l10n/intl_pl.arb
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -78,8 +78,10 @@ class ChatAppBarTitle extends StatelessWidget {
|
|||
builder: (context, presence) {
|
||||
final lastActiveTimestamp =
|
||||
presence?.lastActiveTimestamp;
|
||||
final style =
|
||||
Theme.of(context).textTheme.bodySmall;
|
||||
final style = TextStyle(
|
||||
fontSize: 12,
|
||||
color: Theme.of(context).colorScheme.outline,
|
||||
);
|
||||
if (presence?.currentlyActive == true) {
|
||||
return Text(
|
||||
L10n.of(context).currentlyActive,
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
|||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/pages/chat_list/chat_list_view.dart';
|
||||
import 'package:fluffychat/utils/error_reporter.dart';
|
||||
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
|
|
@ -421,8 +420,6 @@ class ChatListController extends State<ChatList>
|
|||
|
||||
_checkTorBrowser();
|
||||
|
||||
ErrorReporter(context).consumeTemporaryErrorLogFile();
|
||||
|
||||
super.initState();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ class PresenceAvatar extends StatelessWidget {
|
|||
overflow: TextOverflow.ellipsis,
|
||||
style: const TextStyle(
|
||||
color: Colors.black,
|
||||
fontSize: 10.5,
|
||||
fontSize: 9,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -254,7 +254,7 @@ class PresenceAvatar extends StatelessWidget {
|
|||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: const TextStyle(
|
||||
fontSize: 13,
|
||||
fontSize: 11,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,13 +1,9 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:flutter_highlighter/flutter_highlighter.dart';
|
||||
import 'package:flutter_highlighter/themes/shades-of-purple.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
|
|
@ -28,31 +24,6 @@ class ErrorReporter {
|
|||
"HandshakeException",
|
||||
};
|
||||
|
||||
Future<File> _getTemporaryErrorLogFile() async {
|
||||
final tempDir = await getTemporaryDirectory();
|
||||
return File(path.join(tempDir.path, 'error_log.txt'));
|
||||
}
|
||||
|
||||
Future<void> writeToTemporaryErrorLogFile(
|
||||
Object error, [
|
||||
StackTrace? stackTrace,
|
||||
]) async {
|
||||
if (ingoredTypes.contains(error.runtimeType.toString())) return;
|
||||
final file = await _getTemporaryErrorLogFile();
|
||||
if (await file.exists()) await file.delete();
|
||||
await file.writeAsString(
|
||||
'[${DateTime.now().toIso8601String()}] $message - $error\n$stackTrace',
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> consumeTemporaryErrorLogFile() async {
|
||||
final file = await _getTemporaryErrorLogFile();
|
||||
if (!(await file.exists())) return;
|
||||
final content = await file.readAsString();
|
||||
_onErrorCallback(content);
|
||||
await file.delete();
|
||||
}
|
||||
|
||||
void onErrorCallback(Object error, [StackTrace? stackTrace]) {
|
||||
if (ingoredTypes.contains(error.runtimeType.toString())) return;
|
||||
Logs().e(message ?? 'Error caught', error, stackTrace);
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import 'package:fluffychat/config/app_config.dart';
|
|||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/utils/client_download_content_extension.dart';
|
||||
import 'package:fluffychat/utils/client_manager.dart';
|
||||
import 'package:fluffychat/utils/error_reporter.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
|
||||
|
|
@ -38,9 +37,6 @@ Future<void> pushHelper(
|
|||
} catch (e, s) {
|
||||
Logs().e('Push Helper has crashed! Writing into temporary file', e, s);
|
||||
|
||||
const ErrorReporter(null, 'Push Helper has crashed!')
|
||||
.writeToTemporaryErrorLogFile(e, s);
|
||||
|
||||
l10n ??= await lookupL10n(const Locale('en'));
|
||||
flutterLocalNotificationsPlugin.show(
|
||||
notification.roomId?.hashCode ?? 0,
|
||||
|
|
|
|||
|
|
@ -146,7 +146,20 @@ class _ShareScaffoldDialogState extends State<ShareScaffoldDialog> {
|
|||
name: displayname,
|
||||
size: Avatar.defaultSize * 0.75,
|
||||
),
|
||||
title: Text(displayname),
|
||||
title: Text(
|
||||
displayname,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
subtitle: Text(
|
||||
room.directChatMatrixID ??
|
||||
L10n.of(context).countParticipants(
|
||||
(room.summary.mJoinedMemberCount ?? 0) +
|
||||
(room.summary.mInvitedMemberCount ?? 0),
|
||||
),
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
value: selectedRoomId == room.id,
|
||||
onChanged: (_) => _toggleRoom(room.id),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
PODS:
|
||||
- app_links (1.0.0):
|
||||
- app_links (6.4.1):
|
||||
- FlutterMacOS
|
||||
- audio_session (0.0.1):
|
||||
- FlutterMacOS
|
||||
|
|
@ -25,9 +25,9 @@ PODS:
|
|||
- FlutterMacOS
|
||||
- flutter_web_auth_2 (3.0.0):
|
||||
- FlutterMacOS
|
||||
- flutter_webrtc (0.12.6):
|
||||
- flutter_webrtc (1.0.0):
|
||||
- FlutterMacOS
|
||||
- WebRTC-SDK (= 125.6422.06)
|
||||
- WebRTC-SDK (= 137.7151.02)
|
||||
- FlutterMacOS (1.0.0)
|
||||
- geolocator_apple (1.2.0):
|
||||
- Flutter
|
||||
|
|
@ -37,8 +37,6 @@ PODS:
|
|||
- FlutterMacOS
|
||||
- package_info_plus (0.0.1):
|
||||
- FlutterMacOS
|
||||
- pasteboard (0.0.1):
|
||||
- FlutterMacOS
|
||||
- path_provider_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
|
|
@ -49,17 +47,14 @@ PODS:
|
|||
- shared_preferences_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- sqflite_darwin (0.0.4):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- SQLCipher (4.8.0):
|
||||
- SQLCipher/standard (= 4.8.0)
|
||||
- SQLCipher/common (4.8.0)
|
||||
- SQLCipher/standard (4.8.0):
|
||||
- SQLCipher (4.10.0):
|
||||
- SQLCipher/standard (= 4.10.0)
|
||||
- SQLCipher/common (4.10.0)
|
||||
- SQLCipher/standard (4.10.0):
|
||||
- SQLCipher/common
|
||||
- sqlcipher_flutter_libs (0.0.1):
|
||||
- FlutterMacOS
|
||||
- SQLCipher (~> 4.8.0)
|
||||
- SQLCipher (~> 4.10.0)
|
||||
- url_launcher_macos (0.0.1):
|
||||
- FlutterMacOS
|
||||
- video_compress (0.3.0):
|
||||
|
|
@ -69,7 +64,7 @@ PODS:
|
|||
- FlutterMacOS
|
||||
- wakelock_plus (0.0.1):
|
||||
- FlutterMacOS
|
||||
- WebRTC-SDK (125.6422.06)
|
||||
- WebRTC-SDK (137.7151.02)
|
||||
- window_to_front (0.0.1):
|
||||
- FlutterMacOS
|
||||
|
||||
|
|
@ -92,12 +87,10 @@ DEPENDENCIES:
|
|||
- geolocator_apple (from `Flutter/ephemeral/.symlinks/plugins/geolocator_apple/darwin`)
|
||||
- just_audio (from `Flutter/ephemeral/.symlinks/plugins/just_audio/darwin`)
|
||||
- package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`)
|
||||
- pasteboard (from `Flutter/ephemeral/.symlinks/plugins/pasteboard/macos`)
|
||||
- path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
|
||||
- record_macos (from `Flutter/ephemeral/.symlinks/plugins/record_macos/macos`)
|
||||
- share_plus (from `Flutter/ephemeral/.symlinks/plugins/share_plus/macos`)
|
||||
- shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
|
||||
- sqflite_darwin (from `Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin`)
|
||||
- sqlcipher_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/sqlcipher_flutter_libs/macos`)
|
||||
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
|
||||
- video_compress (from `Flutter/ephemeral/.symlinks/plugins/video_compress/macos`)
|
||||
|
|
@ -147,8 +140,6 @@ EXTERNAL SOURCES:
|
|||
:path: Flutter/ephemeral/.symlinks/plugins/just_audio/darwin
|
||||
package_info_plus:
|
||||
:path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos
|
||||
pasteboard:
|
||||
:path: Flutter/ephemeral/.symlinks/plugins/pasteboard/macos
|
||||
path_provider_foundation:
|
||||
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
|
||||
record_macos:
|
||||
|
|
@ -157,8 +148,6 @@ EXTERNAL SOURCES:
|
|||
:path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos
|
||||
shared_preferences_foundation:
|
||||
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
|
||||
sqflite_darwin:
|
||||
:path: Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin
|
||||
sqlcipher_flutter_libs:
|
||||
:path: Flutter/ephemeral/.symlinks/plugins/sqlcipher_flutter_libs/macos
|
||||
url_launcher_macos:
|
||||
|
|
@ -173,37 +162,35 @@ EXTERNAL SOURCES:
|
|||
:path: Flutter/ephemeral/.symlinks/plugins/window_to_front/macos
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
app_links: afe860c55c7ef176cea7fb630a2b7d7736de591d
|
||||
app_links: 05a6ec2341985eb05e9f97dc63f5837c39895c3f
|
||||
audio_session: eaca2512cf2b39212d724f35d11f46180ad3a33e
|
||||
desktop_drop: e0b672a7d84c0a6cbc378595e82cdb15f2970a43
|
||||
device_info_plus: a56e6e74dbbd2bb92f2da12c64ddd4f67a749041
|
||||
dynamic_color: b820c000cc68df65e7ba7ff177cb98404ce56651
|
||||
desktop_drop: 248706031734554504f939cab1ad4c5fbc9c9c72
|
||||
device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76
|
||||
dynamic_color: cb7c2a300ee67ed3bd96c3e852df3af0300bf610
|
||||
emoji_picker_flutter: 51ca408e289d84d1e460016b2a28721ec754fcf7
|
||||
file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a
|
||||
file_selector_macos: 6280b52b459ae6c590af5d78fc35c7267a3c4b31
|
||||
flutter_local_notifications: 7e5a17a1dbc00d83dc10d43c2c4c05f2ceed233c
|
||||
flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0
|
||||
flutter_new_badger: 6fe9bf7e42793a164032c21f164c0ad9985cd0f2
|
||||
flutter_secure_storage_macos: 7f45e30f838cf2659862a4e4e3ee1c347c2b3b54
|
||||
flutter_vodozemac: fd2ea9cb3e2a37beaac883a369811fbfe042fc53
|
||||
flutter_web_auth_2: 62b08da29f15a20fa63f144234622a1488d45b65
|
||||
flutter_webrtc: 377dbcebdde6fed0fc40de87bcaaa2bffcec9a88
|
||||
flutter_webrtc: 0d70bd8782c19bde286dc52f766eebbea26de201
|
||||
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
|
||||
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
|
||||
just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
|
||||
package_info_plus: f0052d280d17aa382b932f399edf32507174e870
|
||||
pasteboard: 278d8100149f940fb795d6b3a74f0720c890ecb7
|
||||
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
|
||||
record_macos: 295d70bd5fb47145df78df7b80e6697cd18403c0
|
||||
share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc
|
||||
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
|
||||
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
|
||||
SQLCipher: 908f846ca79d74be4e1776b3b86c6ad9e6c0b04f
|
||||
sqlcipher_flutter_libs: 72569ed27a3f8d3502571be15fdc3e28f8f8570c
|
||||
SQLCipher: eb79c64049cb002b4e9fcb30edb7979bf4706dfc
|
||||
sqlcipher_flutter_libs: 01ead34db27ae5e49987cae46c8a34199eb22cfe
|
||||
url_launcher_macos: 0fba8ddabfc33ce0a9afe7c5fef5aab3d8d2d673
|
||||
video_compress: 752b161da855df2492dd1a8fa899743cc8fe9534
|
||||
video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b
|
||||
wakelock_plus: 21ddc249ac4b8d018838dbdabd65c5976c308497
|
||||
WebRTC-SDK: 79942c006ea64f6fb48d7da8a4786dfc820bc1db
|
||||
WebRTC-SDK: d20de357dcbf7c9696b124b39f3ff62125107e4b
|
||||
window_to_front: 9e76fd432e36700a197dac86a0011e49c89abe0a
|
||||
|
||||
PODFILE CHECKSUM: d0975b16fbdecb73b109d8fbc88aa77ffe4c7a8d
|
||||
|
|
|
|||
28
pubspec.lock
28
pubspec.lock
|
|
@ -1091,26 +1091,26 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker
|
||||
sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0"
|
||||
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "11.0.1"
|
||||
version: "10.0.9"
|
||||
leak_tracker_flutter_testing:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker_flutter_testing
|
||||
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
|
||||
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.10"
|
||||
version: "3.0.9"
|
||||
leak_tracker_testing:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker_testing
|
||||
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
|
||||
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
version: "3.0.1"
|
||||
license_checker:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
|
|
@ -1920,26 +1920,26 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: test
|
||||
sha256: "65e29d831719be0591f7b3b1a32a3cda258ec98c58c7b25f7b84241bc31215bb"
|
||||
sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.26.2"
|
||||
version: "1.25.15"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
|
||||
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.6"
|
||||
version: "0.7.4"
|
||||
test_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_core
|
||||
sha256: "80bf5a02b60af04b09e14f6fe68b921aad119493e26e490deaca5993fef1b05a"
|
||||
sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.6.11"
|
||||
version: "0.6.8"
|
||||
timezone:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -2128,10 +2128,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: vector_math
|
||||
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
|
||||
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
version: "2.1.4"
|
||||
video_compress:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ name: fluffychat
|
|||
description: Chat with your friends.
|
||||
publish_to: none
|
||||
# On version bump also increase the build number for F-Droid
|
||||
version: 2.1.0+3542
|
||||
version: 2.1.1+3543
|
||||
|
||||
environment:
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
name: fluffychat
|
||||
title: FluffyChat
|
||||
base: core24
|
||||
version: 2.1.0
|
||||
version: 2.1.1
|
||||
license: AGPL-3.0
|
||||
summary: The cutest messenger in the Matrix network
|
||||
description: |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue