You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fluffychat/lib/pages/chat/input_bar.dart

625 lines
22 KiB
Dart

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:emojis/emoji.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_typeahead/flutter_typeahead.dart';
import 'package:matrix/matrix.dart';
import 'package:pasteboard/pasteboard.dart';
import 'package:slugify/slugify.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/choreographer/widgets/igc/pangea_text_controller.dart';
1125 merge upstream fluffychat into main (#1184) * chore: Nicer invite selection view * chore: Do not request thousands of users on invite page * build(deps): bump rexml from 3.3.6 to 3.3.9 in /ios Bumps [rexml](https://github.com/ruby/rexml) from 3.3.6 to 3.3.9. - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](https://github.com/ruby/rexml/compare/v3.3.6...v3.3.9) --- updated-dependencies: - dependency-name: rexml dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * design: Highlight emoji only messages * chore: Follow up emoji only messages * Translated using Weblate (Galician) Currently translated at 100.0% (672 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Russian) Currently translated at 99.7% (670 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/ * design: New login design * chore: Improve spaces design * chore: Improve spaces design * chore: Improved UX for creating groups and spaces * Translated using Weblate (German) Currently translated at 100.0% (672 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * feat: Better wallpapers with blur and opacity sliders and improved styles page * chore: Follow up wallpaper configs * chore: Add max length to state messages * chore: Follow up wallpaper design * feat: Open account manage url when using MAS * chore: follow up wellknown fetch * Translated using Weblate (Arabic) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Finnish) Currently translated at 79.0% (533 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fi/ * Translated using Weblate (Latvian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * build: Add links to snapcraft.yaml file * chore: Nicer empty page * chore: Polish chat bubble colors * chore: Follow up chat bubble design * refactor: Remove unnecessary builder widget * chore: Design adjustments * chore: Follow up design * refactor: Display two lines on new messages * chore: Design follow up * Translated using Weblate (Arabic) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (German) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Estonian) Currently translated at 99.7% (676 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * chore: Follow up message bubbles * chore: Follow up design * chore: Follow up design * chore: Follow up colors * chore: Follow up homeserverpicker UX * chore: Design follow up * feat: Add about server page * chore: Follow up update snackbar * chore: Polish login design * chore: Follow up login page * chore: Follow up homeserver picker * chore: Follow up appbar shadow * refactor: Performance boost for avatar widget * Revert "refactor: Performance boost for avatar widget" This reverts commit 58577bb9e8c65df64f1dd44ba908372e742f928e. * Translated using Weblate (Estonian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Latvian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Arabic) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Galician) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Latvian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Korean) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * chore: Follow up homeserver input field * refactor: Move to upstream geolocator * chore: Follow up send file dialog * Translated using Weblate (Spanish) Currently translated at 74.6% (513 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/ * refactor: Migrate to newer keyboard shortcuts package * refactor: Remove keyboard shortcuts This package right now makes the web app nearly unusable as it throws multiple errors on every key press. The package seems to be unmaintained. I tried two other packages and none of them worked. * build: Update matrix dart sdk to 0.35.0 * chore: Better FluffyChat Logo for PWA * build: (deps): bump samuelmeuli/action-snapcraft from 2 to 3 Bumps [samuelmeuli/action-snapcraft](https://github.com/samuelmeuli/action-snapcraft) from 2 to 3. - [Release notes](https://github.com/samuelmeuli/action-snapcraft/releases) - [Commits](https://github.com/samuelmeuli/action-snapcraft/compare/v2...v3) --- updated-dependencies: - dependency-name: samuelmeuli/action-snapcraft dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * chore: Follow up send file dialog * feat: Add markdown context actions for text input * build: Update flutter to 3.24.5 * build: Remove snapcraft build workaround * chore: Better error message when join room failed * chore: Follow up join room * chore: Make error dialog show full error * chore: Follow up loading dialog * chore: Follow up loading dialog * build: Snapcraft from local build file * chore: Follow up build snap * chore: Follow up snapcraft in ci * build: Revert build snapcraft changes * build: Try downgrading flutter web auth * chore: add hint in pubspec.yaml regarding flutter_web_auth_2 * Translated using Weblate (Estonian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Galician) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Irish) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Arabic) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Basque) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Latvian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Italian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Estonian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Arabic) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Basque) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Irish) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Latvian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Arabic) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Irish) Currently translated at 99.8% (694 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (German) Currently translated at 99.5% (692 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * fix: dont use thumbnails for emoticons * chore: Improve presence performance * Translated using Weblate (Basque) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Galician) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Italian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Irish) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Russian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Catalan) Currently translated at 95.1% (661 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ca/ * build: Bump version * chore: Follow up send file dialog for images * chore: Follow up send multiple images * build: Add android build workaround for new flutter version * build: Use file selector to save files * chore: Follow up save file on desktop * chore: Adjust default linux window height * refactor: Update to new receive sharing intent package * fluffychat merge * fluffychat merge * fluffychat merge * fix android build * fluffychat merge * fluffychat merge --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Krille <c.kussowski@famedly.com> Co-authored-by: Krille-chan <christian-kussowski@posteo.de> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: josé m <correoxm@disroot.org> Co-authored-by: v1s7 <v1s7@users.noreply.hosted.weblate.org> Co-authored-by: Christian <christian-pauly@posteo.de> Co-authored-by: Rex_sa <rex.sa@pm.me> Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com> Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org> Co-authored-by: Linerly <linerly@proton.me> Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv> Co-authored-by: xabirequejo <xabi.rn@gmail.com> Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com> Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com> Co-authored-by: Bruno Roh <kane.roh429@gmail.com> Co-authored-by: Kimby <kimisaes@naver.com> Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com> Co-authored-by: Angelo Schirinzi <muten619@hotmail.it> Co-authored-by: Marek Vospěl <marek@vospel.cz> Co-authored-by: Александр (Alexandr1995) <stupino19951406@gmail.com>
11 months ago
import 'package:fluffychat/utils/markdown_context_builder.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/mxc_image.dart';
import '../../widgets/avatar.dart';
import '../../widgets/matrix.dart';
import 'command_hints.dart';
class InputBar extends StatelessWidget {
final Room room;
final int? minLines;
final int? maxLines;
final TextInputType? keyboardType;
final TextInputAction? textInputAction;
final ValueChanged<String>? onSubmitted;
final ValueChanged<Uint8List?>? onSubmitImage;
final FocusNode? focusNode;
2 years ago
// #Pangea
// final TextEditingController? controller;
final PangeaTextController? controller;
// Pangea#
final InputDecoration? decoration;
final ValueChanged<String>? onChanged;
final bool? autofocus;
final bool readOnly;
const InputBar({
required this.room,
this.minLines,
this.maxLines,
this.keyboardType,
this.onSubmitted,
this.onSubmitImage,
this.focusNode,
this.controller,
this.decoration,
this.onChanged,
this.autofocus,
this.textInputAction,
this.readOnly = false,
super.key,
});
List<Map<String, String?>> getSuggestions(String text) {
if (controller!.selection.baseOffset !=
controller!.selection.extentOffset ||
controller!.selection.baseOffset < 0) {
return []; // no entries if there is selected text
}
6 years ago
final searchText =
controller!.text.substring(0, controller!.selection.baseOffset);
final ret = <Map<String, String?>>[];
const maxResults = 30;
final commandMatch = RegExp(r'^/(\w*)$').firstMatch(searchText);
if (commandMatch != null) {
final commandSearch = commandMatch[1]!.toLowerCase();
for (final command in room.client.commands.keys) {
if (command.contains(commandSearch)) {
ret.add({
'type': 'command',
'name': command,
});
}
if (ret.length > maxResults) return ret;
}
}
6 years ago
final emojiMatch =
RegExp(r'(?:\s|^):(?:([-\w]+)~)?([-\w]+)$').firstMatch(searchText);
if (emojiMatch != null) {
final packSearch = emojiMatch[1];
final emoteSearch = emojiMatch[2]!.toLowerCase();
final emotePacks = room.getImagePacks(ImagePackUsage.emoticon);
if (packSearch == null || packSearch.isEmpty) {
for (final pack in emotePacks.entries) {
for (final emote in pack.value.images.entries) {
if (emote.key.toLowerCase().contains(emoteSearch)) {
ret.add({
'type': 'emote',
'name': emote.key,
'pack': pack.key,
'pack_avatar_url': pack.value.pack.avatarUrl?.toString(),
'pack_display_name': pack.value.pack.displayName ?? pack.key,
'mxc': emote.value.url.toString(),
});
}
if (ret.length > maxResults) {
break;
}
}
if (ret.length > maxResults) {
break;
}
}
} else if (emotePacks[packSearch] != null) {
for (final emote in emotePacks[packSearch]!.images.entries) {
if (emote.key.toLowerCase().contains(emoteSearch)) {
ret.add({
'type': 'emote',
'name': emote.key,
'pack': packSearch,
'pack_avatar_url':
emotePacks[packSearch]!.pack.avatarUrl?.toString(),
'pack_display_name':
emotePacks[packSearch]!.pack.displayName ?? packSearch,
'mxc': emote.value.url.toString(),
});
}
if (ret.length > maxResults) {
break;
}
}
}
// aside of emote packs, also propose normal (tm) unicode emojis
final matchingUnicodeEmojis = Emoji.all()
.where(
(element) => [element.name, ...element.keywords]
.any((element) => element.toLowerCase().contains(emoteSearch)),
)
.toList();
// sort by the index of the search term in the name in order to have
// best matches first
// (thanks for the hint by github.com/nextcloud/circles devs)
matchingUnicodeEmojis.sort((a, b) {
final indexA = a.name.indexOf(emoteSearch);
final indexB = b.name.indexOf(emoteSearch);
if (indexA == -1 || indexB == -1) {
if (indexA == indexB) return 0;
if (indexA == -1) {
return 1;
} else {
return 0;
}
}
return indexA.compareTo(indexB);
});
for (final emoji in matchingUnicodeEmojis) {
ret.add({
'type': 'emoji',
'emoji': emoji.char,
// don't include sub-group names, splitting at `:` hence
'label': '${emoji.char} - ${emoji.name.split(':').first}',
'current_word': ':$emoteSearch',
});
if (ret.length > maxResults) {
break;
}
}
}
final userMatch = RegExp(r'(?:\s|^)@([-\w]+)$').firstMatch(searchText);
if (userMatch != null) {
final userSearch = userMatch[1]!.toLowerCase();
for (final user in room.getParticipants()) {
if ((user.displayName != null &&
(user.displayName!.toLowerCase().contains(userSearch) ||
slugify(user.displayName!.toLowerCase())
.contains(userSearch))) ||
user.id.split(':')[0].toLowerCase().contains(userSearch)) {
ret.add({
'type': 'user',
'mxid': user.id,
'mention': user.mention,
'displayname': user.displayName,
'avatar_url': user.avatarUrl?.toString(),
});
}
if (ret.length > maxResults) {
break;
}
}
}
final roomMatch = RegExp(r'(?:\s|^)#([-\w]+)$').firstMatch(searchText);
if (roomMatch != null) {
final roomSearch = roomMatch[1]!.toLowerCase();
for (final r in room.client.rooms) {
if (r.getState(EventTypes.RoomTombstone) != null) {
continue; // we don't care about tombstoned rooms
}
final state = r.getState(EventTypes.RoomCanonicalAlias);
if ((state != null &&
((state.content['alias'] is String &&
state.content
.tryGet<String>('alias')!
.split(':')[0]
.toLowerCase()
.contains(roomSearch)) ||
(state.content['alt_aliases'] is List &&
(state.content['alt_aliases'] as List).any(
(l) =>
l is String &&
l
.split(':')[0]
.toLowerCase()
.contains(roomSearch),
)))) ||
(r.name.toLowerCase().contains(roomSearch))) {
ret.add({
'type': 'room',
'mxid': (r.canonicalAlias.isNotEmpty) ? r.canonicalAlias : r.id,
'displayname': r.getLocalizedDisplayname(),
'avatar_url': r.avatar?.toString(),
});
}
if (ret.length > maxResults) {
break;
}
}
}
return ret;
}
Widget buildSuggestion(
BuildContext context,
Map<String, String?> suggestion,
Client? client,
) {
final theme = Theme.of(context);
const size = 30.0;
// #Pangea
// const padding = EdgeInsets.all(4.0);
const padding = EdgeInsets.all(8.0);
// Pangea#
if (suggestion['type'] == 'command') {
final command = suggestion['name']!;
1125 merge upstream fluffychat into main (#1184) * chore: Nicer invite selection view * chore: Do not request thousands of users on invite page * build(deps): bump rexml from 3.3.6 to 3.3.9 in /ios Bumps [rexml](https://github.com/ruby/rexml) from 3.3.6 to 3.3.9. - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](https://github.com/ruby/rexml/compare/v3.3.6...v3.3.9) --- updated-dependencies: - dependency-name: rexml dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * design: Highlight emoji only messages * chore: Follow up emoji only messages * Translated using Weblate (Galician) Currently translated at 100.0% (672 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Russian) Currently translated at 99.7% (670 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/ * design: New login design * chore: Improve spaces design * chore: Improve spaces design * chore: Improved UX for creating groups and spaces * Translated using Weblate (German) Currently translated at 100.0% (672 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * feat: Better wallpapers with blur and opacity sliders and improved styles page * chore: Follow up wallpaper configs * chore: Add max length to state messages * chore: Follow up wallpaper design * feat: Open account manage url when using MAS * chore: follow up wellknown fetch * Translated using Weblate (Arabic) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Finnish) Currently translated at 79.0% (533 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fi/ * Translated using Weblate (Latvian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * build: Add links to snapcraft.yaml file * chore: Nicer empty page * chore: Polish chat bubble colors * chore: Follow up chat bubble design * refactor: Remove unnecessary builder widget * chore: Design adjustments * chore: Follow up design * refactor: Display two lines on new messages * chore: Design follow up * Translated using Weblate (Arabic) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (German) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Estonian) Currently translated at 99.7% (676 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * chore: Follow up message bubbles * chore: Follow up design * chore: Follow up design * chore: Follow up colors * chore: Follow up homeserverpicker UX * chore: Design follow up * feat: Add about server page * chore: Follow up update snackbar * chore: Polish login design * chore: Follow up login page * chore: Follow up homeserver picker * chore: Follow up appbar shadow * refactor: Performance boost for avatar widget * Revert "refactor: Performance boost for avatar widget" This reverts commit 58577bb9e8c65df64f1dd44ba908372e742f928e. * Translated using Weblate (Estonian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Latvian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Arabic) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Galician) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Latvian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Korean) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * chore: Follow up homeserver input field * refactor: Move to upstream geolocator * chore: Follow up send file dialog * Translated using Weblate (Spanish) Currently translated at 74.6% (513 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/ * refactor: Migrate to newer keyboard shortcuts package * refactor: Remove keyboard shortcuts This package right now makes the web app nearly unusable as it throws multiple errors on every key press. The package seems to be unmaintained. I tried two other packages and none of them worked. * build: Update matrix dart sdk to 0.35.0 * chore: Better FluffyChat Logo for PWA * build: (deps): bump samuelmeuli/action-snapcraft from 2 to 3 Bumps [samuelmeuli/action-snapcraft](https://github.com/samuelmeuli/action-snapcraft) from 2 to 3. - [Release notes](https://github.com/samuelmeuli/action-snapcraft/releases) - [Commits](https://github.com/samuelmeuli/action-snapcraft/compare/v2...v3) --- updated-dependencies: - dependency-name: samuelmeuli/action-snapcraft dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * chore: Follow up send file dialog * feat: Add markdown context actions for text input * build: Update flutter to 3.24.5 * build: Remove snapcraft build workaround * chore: Better error message when join room failed * chore: Follow up join room * chore: Make error dialog show full error * chore: Follow up loading dialog * chore: Follow up loading dialog * build: Snapcraft from local build file * chore: Follow up build snap * chore: Follow up snapcraft in ci * build: Revert build snapcraft changes * build: Try downgrading flutter web auth * chore: add hint in pubspec.yaml regarding flutter_web_auth_2 * Translated using Weblate (Estonian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Galician) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Irish) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Arabic) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Basque) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Latvian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Italian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Estonian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Arabic) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Basque) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Irish) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Latvian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Arabic) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Irish) Currently translated at 99.8% (694 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (German) Currently translated at 99.5% (692 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * fix: dont use thumbnails for emoticons * chore: Improve presence performance * Translated using Weblate (Basque) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Galician) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Italian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Irish) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Russian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Catalan) Currently translated at 95.1% (661 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ca/ * build: Bump version * chore: Follow up send file dialog for images * chore: Follow up send multiple images * build: Add android build workaround for new flutter version * build: Use file selector to save files * chore: Follow up save file on desktop * chore: Adjust default linux window height * refactor: Update to new receive sharing intent package * fluffychat merge * fluffychat merge * fluffychat merge * fix android build * fluffychat merge * fluffychat merge --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Krille <c.kussowski@famedly.com> Co-authored-by: Krille-chan <christian-kussowski@posteo.de> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: josé m <correoxm@disroot.org> Co-authored-by: v1s7 <v1s7@users.noreply.hosted.weblate.org> Co-authored-by: Christian <christian-pauly@posteo.de> Co-authored-by: Rex_sa <rex.sa@pm.me> Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com> Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org> Co-authored-by: Linerly <linerly@proton.me> Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv> Co-authored-by: xabirequejo <xabi.rn@gmail.com> Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com> Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com> Co-authored-by: Bruno Roh <kane.roh429@gmail.com> Co-authored-by: Kimby <kimisaes@naver.com> Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com> Co-authored-by: Angelo Schirinzi <muten619@hotmail.it> Co-authored-by: Marek Vospěl <marek@vospel.cz> Co-authored-by: Александр (Alexandr1995) <stupino19951406@gmail.com>
11 months ago
final hint = commandHint(L10n.of(context), command);
return Tooltip(
message: hint,
waitDuration: const Duration(days: 1), // don't show on hover
child: Container(
padding: padding,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
commandExample(command),
Fluffychat merge (#2055) * Translated using Weblate (Tamil) Currently translated at 100.0% (696 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ta/ * Translated using Weblate (Italian) Currently translated at 100.0% (696 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Czech) Currently translated at 77.5% (540 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/cs/ * Translated using Weblate (Tamil) Currently translated at 100.0% (696 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ta/ * build: Bump version to v1.24.0 * fix: Only try again load mxc image on io exception * fix: swipe_to_action upgrade to 0.3.0 Fixes #1415 * Update Mastodon Link in README.md * feat: Swipe to next or previous image in image viewer * chore: Follow up image viewer swipe * chore: Follow up image viewer * chore: Follow up imageviewer * chore: Follow up image viewer * chore: Try out new matrix dart sdk * build: Update matrix dart sdk * fix: Do not leave old room if join new room failed * feat: Display file description on all file events * chore: Show close icon for device verification warning * feat: Prevent sending messages if other party has no encryption keys * chore: Follow up other party has no keys * build: Update flutter to 3.27.2 * chore: Update matrix dart sdk * chore: Update lastEvent after redaction * chore: Follow up reply color * chore: Follow up colors reply * chore: Follow up snackbar theme * build: Update Flutter Version * chore: Design adjustments * chore: Adjust emoji picker design * chore: Follow up emoji picker design * chore: Follow up design * chore: adjust design * chore: Adjust colors * build: Update matrix dart sdk * fix: Textfields in dialogs on iOS * chore: UX Feedback when selecting files needs some time * chore: Do only show fileDescription if filename is not null * chore: Follow up format * refactor: Improve sso login UX on web * refactor: New html rendering * refactor: Switch to ubuntu font * refactor: Remove unused class * chore: Design adjustments * chore: Follow up html rendering * chore: Follow up html rendering * chore: Adjust share scaffold dialog design * chore: Better connection status indicator * chore: Follow up connection status * chore: Follow up sync status * chore: Slightly adjust welcome screen * chore: Adjust button icon colors * chore: Follow up connection status * chore: Add start to ordered list * chore: Follow up html lists * chore: Follow up html rendering * chore: Add tooltip to links in html * chore: Add explanation for PlayStore Safety Standards * chore: Use UbuntuMono * feat: Pick share keys with * chore: Adjust design * chore: Add medium font * chore: Follow up title spacing * chore: Follow up colors * chore: Adjust design of adaptive dialogs * chore: Follow up colors * chore: Follow up colors * chore: Design follow up * chore: Follow up colors * feat: Display all push rules and allow to enable disable them * feat: Inspect and delete push rules * Translated using Weblate (Italian) Currently translated at 99.8% (695 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Arabic) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Slovak) Currently translated at 29.3% (205 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/sk/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Dutch) Currently translated at 86.5% (604 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/ * Translated using Weblate (Galician) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Dutch) Currently translated at 88.1% (615 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/ * Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 91.8% (641 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hant/ * Translated using Weblate (Estonian) Currently translated at 99.4% (694 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Korean) Currently translated at 98.8% (690 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * Translated using Weblate (Estonian) Currently translated at 99.2% (696 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (701 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Galician) Currently translated at 99.8% (700 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (701 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Korean) Currently translated at 100.0% (701 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * Translated using Weblate (Estonian) Currently translated at 100.0% (704 of 704 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (704 of 704 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Irish) Currently translated at 100.0% (704 of 704 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Latvian) Currently translated at 100.0% (704 of 704 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * chore: Adjust navrail design * chore: Follow up push rules * chore: Follow up push rule settings * feat: Select share keys with property in security settings * feat: Use dynamic gradient for chat bubbles * chore: follow up chat bubble colors * chore: Follow up message bubble colors * fix: Image search rendering problem * chore: Follow up bubble color * chore: Message bubble color follow up * chore: Follow up bubble color * chore: Follow up message bubble color * chore: Follow up linebreak formatting * chore: Follow up code blocks * build: Update to flutter 3.27.4 * docs: Fix snap store icon * refactor: Display navigationrail in settings page * build: Add locale config for android * build: Fix ios debug build * Translated using Weblate (German) Currently translated at 99.5% (702 of 705 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Estonian) Currently translated at 100.0% (705 of 705 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (705 of 705 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (German) Currently translated at 94.6% (713 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Estonian) Currently translated at 100.0% (753 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 95.0% (716 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 92.8% (699 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (753 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Latvian) Currently translated at 100.0% (753 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Estonian) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Catalan) Currently translated at 99.8% (758 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ca/ * Translated using Weblate (Latvian) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Korean) Currently translated at 92.8% (705 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * Translated using Weblate (Irish) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * chore: Follow up linebreaks in html rendering * chore: Follow up html rendering br tag * Translated using Weblate (Ukrainian) Currently translated at 92.0% (699 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Galician) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Spanish) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/ * Translated using Weblate (Croatian) Currently translated at 83.2% (632 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/hr/ * Translated using Weblate (Ukrainian) Currently translated at 93.5% (710 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * refactor: Update arb file types * build: Upgrade gradle * refactor: Follow up fix types in localization files * build: Automerge weblate PRs * build: Follow up auto merge weblate * build: Update PAT * build: Update weblate auto merge * build: Add missing permissions * build: Update weblate auto merge * build: remove weblate auto merge * Translated using Weblate (German) Currently translated at 94.0% (714 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Spanish) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/ * Translated using Weblate (Ukrainian) Currently translated at 93.8% (712 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * build: Update flutter web uild * chore: Follow up connection status header * build: Switch to flutter_shortcuts_new * refactor: Remove broken callkeep implementation * refactor: Migrate uni_links to app_links * refactor: Migrate to maintained badge package * build: Update flutter_olm to 2.0.0 * build: Update native-imaging * chore: Remove gradle workaround * build: Update dependencies for flutter * build: Update dependencies to remove more flutter android v1 references * build: Update gradle version * refactor: Switch to maintained qr code package * chore: Make login with matrix id more prominent again * build: Update fcm_shared_isolate * build: Update native_imaging * build: Add changelog for v1.25.0 * Translated using Weblate (French) Currently translated at 84.4% (641 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fr/ * Translated using Weblate (French) Currently translated at 84.5% (642 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fr/ * Translated using Weblate (French) Currently translated at 86.6% (658 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fr/ * build: Use correct flutter version in snapcraft * build: Detect flutter path better * build: Update snapcraft * build: Follow up snapcraft build * build: Install flutter via git in snapcraft * chore: Follow up typo * fix: Request notification permissions on iOS before getToken * chore: Follow up request iOS permissions * Revert "chore: Follow up request iOS permissions" This reverts commit 2625e89a33421ba189dd96cd84bb7a2311a5e1b9. * chore: Combine mimetype types in send file dialog logic * build: Update flutter to 3.29.0 * Revert "build: Update flutter to 3.29.0" * fix: Crash in settings when using MAS * build: Fix build tailwindcss for website * fix pubspec * update index.html * generated * fluffychat merge * update matrix SDK * generated * fix message bubble background color * generated --------- Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com> Co-authored-by: Angelo Schirinzi <Odi-3@users.noreply.hosted.weblate.org> Co-authored-by: Erin <erin@erindesu.cz> Co-authored-by: Christian <christian-pauly@posteo.de> Co-authored-by: Krille-chan <christian-kussowski@posteo.de> Co-authored-by: Krille <c.kussowski@famedly.com> Co-authored-by: EpicKiwi <me@epickiwi.fr> Co-authored-by: Christian Tietze <me@christiantietze.de> Co-authored-by: Rex_sa <rex.sa@pm.me> Co-authored-by: Anonymous <noreply@weblate.org> Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org> Co-authored-by: Jelv <post@jelv.nl> Co-authored-by: josé m <correoxm@disroot.org> Co-authored-by: 玖然 <noctiro@gmail.com> Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com> Co-authored-by: xabirequejo <xabi.rn@gmail.com> Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com> Co-authored-by: kdh8219 <kdh8219@monamo.dev> Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com> Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv> Co-authored-by: Jana <j.kussowski@gmail.com> Co-authored-by: Ettore Atalan <atalanttore@googlemail.com> Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com> Co-authored-by: fadelkon <fadelkon@posteo.net> Co-authored-by: Linerly <linerly@proton.me> Co-authored-by: Alfredo Sola <alfredo@sola.es> Co-authored-by: Milo Ivir <mail@milotype.de> Co-authored-by: Antonin Del Fabbro <message@antonin.one> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
8 months ago
style: const TextStyle(fontFamily: 'UbuntuMono'),
),
Text(
hint,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: theme.textTheme.bodySmall,
),
],
),
),
);
}
if (suggestion['type'] == 'emoji') {
final label = suggestion['label']!;
return Tooltip(
message: label,
waitDuration: const Duration(days: 1), // don't show on hover
child: Container(
padding: padding,
Fluffychat merge (#2055) * Translated using Weblate (Tamil) Currently translated at 100.0% (696 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ta/ * Translated using Weblate (Italian) Currently translated at 100.0% (696 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Czech) Currently translated at 77.5% (540 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/cs/ * Translated using Weblate (Tamil) Currently translated at 100.0% (696 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ta/ * build: Bump version to v1.24.0 * fix: Only try again load mxc image on io exception * fix: swipe_to_action upgrade to 0.3.0 Fixes #1415 * Update Mastodon Link in README.md * feat: Swipe to next or previous image in image viewer * chore: Follow up image viewer swipe * chore: Follow up image viewer * chore: Follow up imageviewer * chore: Follow up image viewer * chore: Try out new matrix dart sdk * build: Update matrix dart sdk * fix: Do not leave old room if join new room failed * feat: Display file description on all file events * chore: Show close icon for device verification warning * feat: Prevent sending messages if other party has no encryption keys * chore: Follow up other party has no keys * build: Update flutter to 3.27.2 * chore: Update matrix dart sdk * chore: Update lastEvent after redaction * chore: Follow up reply color * chore: Follow up colors reply * chore: Follow up snackbar theme * build: Update Flutter Version * chore: Design adjustments * chore: Adjust emoji picker design * chore: Follow up emoji picker design * chore: Follow up design * chore: adjust design * chore: Adjust colors * build: Update matrix dart sdk * fix: Textfields in dialogs on iOS * chore: UX Feedback when selecting files needs some time * chore: Do only show fileDescription if filename is not null * chore: Follow up format * refactor: Improve sso login UX on web * refactor: New html rendering * refactor: Switch to ubuntu font * refactor: Remove unused class * chore: Design adjustments * chore: Follow up html rendering * chore: Follow up html rendering * chore: Adjust share scaffold dialog design * chore: Better connection status indicator * chore: Follow up connection status * chore: Follow up sync status * chore: Slightly adjust welcome screen * chore: Adjust button icon colors * chore: Follow up connection status * chore: Add start to ordered list * chore: Follow up html lists * chore: Follow up html rendering * chore: Add tooltip to links in html * chore: Add explanation for PlayStore Safety Standards * chore: Use UbuntuMono * feat: Pick share keys with * chore: Adjust design * chore: Add medium font * chore: Follow up title spacing * chore: Follow up colors * chore: Adjust design of adaptive dialogs * chore: Follow up colors * chore: Follow up colors * chore: Design follow up * chore: Follow up colors * feat: Display all push rules and allow to enable disable them * feat: Inspect and delete push rules * Translated using Weblate (Italian) Currently translated at 99.8% (695 of 696 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Arabic) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Slovak) Currently translated at 29.3% (205 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/sk/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Dutch) Currently translated at 86.5% (604 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/ * Translated using Weblate (Galician) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Dutch) Currently translated at 88.1% (615 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/ * Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 91.8% (641 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hant/ * Translated using Weblate (Estonian) Currently translated at 99.4% (694 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (698 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Korean) Currently translated at 98.8% (690 of 698 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * Translated using Weblate (Estonian) Currently translated at 99.2% (696 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (701 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Galician) Currently translated at 99.8% (700 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (701 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Korean) Currently translated at 100.0% (701 of 701 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * Translated using Weblate (Estonian) Currently translated at 100.0% (704 of 704 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (704 of 704 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Irish) Currently translated at 100.0% (704 of 704 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Latvian) Currently translated at 100.0% (704 of 704 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * chore: Adjust navrail design * chore: Follow up push rules * chore: Follow up push rule settings * feat: Select share keys with property in security settings * feat: Use dynamic gradient for chat bubbles * chore: follow up chat bubble colors * chore: Follow up message bubble colors * fix: Image search rendering problem * chore: Follow up bubble color * chore: Message bubble color follow up * chore: Follow up bubble color * chore: Follow up message bubble color * chore: Follow up linebreak formatting * chore: Follow up code blocks * build: Update to flutter 3.27.4 * docs: Fix snap store icon * refactor: Display navigationrail in settings page * build: Add locale config for android * build: Fix ios debug build * Translated using Weblate (German) Currently translated at 99.5% (702 of 705 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Estonian) Currently translated at 100.0% (705 of 705 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (705 of 705 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (German) Currently translated at 94.6% (713 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Estonian) Currently translated at 100.0% (753 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 95.0% (716 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 92.8% (699 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (753 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Latvian) Currently translated at 100.0% (753 of 753 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Estonian) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Catalan) Currently translated at 99.8% (758 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ca/ * Translated using Weblate (Latvian) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Korean) Currently translated at 92.8% (705 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * Translated using Weblate (Irish) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * chore: Follow up linebreaks in html rendering * chore: Follow up html rendering br tag * Translated using Weblate (Ukrainian) Currently translated at 92.0% (699 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Galician) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Spanish) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/ * Translated using Weblate (Croatian) Currently translated at 83.2% (632 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/hr/ * Translated using Weblate (Ukrainian) Currently translated at 93.5% (710 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * refactor: Update arb file types * build: Upgrade gradle * refactor: Follow up fix types in localization files * build: Automerge weblate PRs * build: Follow up auto merge weblate * build: Update PAT * build: Update weblate auto merge * build: Add missing permissions * build: Update weblate auto merge * build: remove weblate auto merge * Translated using Weblate (German) Currently translated at 94.0% (714 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Spanish) Currently translated at 100.0% (759 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/ * Translated using Weblate (Ukrainian) Currently translated at 93.8% (712 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * build: Update flutter web uild * chore: Follow up connection status header * build: Switch to flutter_shortcuts_new * refactor: Remove broken callkeep implementation * refactor: Migrate uni_links to app_links * refactor: Migrate to maintained badge package * build: Update flutter_olm to 2.0.0 * build: Update native-imaging * chore: Remove gradle workaround * build: Update dependencies for flutter * build: Update dependencies to remove more flutter android v1 references * build: Update gradle version * refactor: Switch to maintained qr code package * chore: Make login with matrix id more prominent again * build: Update fcm_shared_isolate * build: Update native_imaging * build: Add changelog for v1.25.0 * Translated using Weblate (French) Currently translated at 84.4% (641 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fr/ * Translated using Weblate (French) Currently translated at 84.5% (642 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fr/ * Translated using Weblate (French) Currently translated at 86.6% (658 of 759 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fr/ * build: Use correct flutter version in snapcraft * build: Detect flutter path better * build: Update snapcraft * build: Follow up snapcraft build * build: Install flutter via git in snapcraft * chore: Follow up typo * fix: Request notification permissions on iOS before getToken * chore: Follow up request iOS permissions * Revert "chore: Follow up request iOS permissions" This reverts commit 2625e89a33421ba189dd96cd84bb7a2311a5e1b9. * chore: Combine mimetype types in send file dialog logic * build: Update flutter to 3.29.0 * Revert "build: Update flutter to 3.29.0" * fix: Crash in settings when using MAS * build: Fix build tailwindcss for website * fix pubspec * update index.html * generated * fluffychat merge * update matrix SDK * generated * fix message bubble background color * generated --------- Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com> Co-authored-by: Angelo Schirinzi <Odi-3@users.noreply.hosted.weblate.org> Co-authored-by: Erin <erin@erindesu.cz> Co-authored-by: Christian <christian-pauly@posteo.de> Co-authored-by: Krille-chan <christian-kussowski@posteo.de> Co-authored-by: Krille <c.kussowski@famedly.com> Co-authored-by: EpicKiwi <me@epickiwi.fr> Co-authored-by: Christian Tietze <me@christiantietze.de> Co-authored-by: Rex_sa <rex.sa@pm.me> Co-authored-by: Anonymous <noreply@weblate.org> Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org> Co-authored-by: Jelv <post@jelv.nl> Co-authored-by: josé m <correoxm@disroot.org> Co-authored-by: 玖然 <noctiro@gmail.com> Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com> Co-authored-by: xabirequejo <xabi.rn@gmail.com> Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com> Co-authored-by: kdh8219 <kdh8219@monamo.dev> Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com> Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv> Co-authored-by: Jana <j.kussowski@gmail.com> Co-authored-by: Ettore Atalan <atalanttore@googlemail.com> Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com> Co-authored-by: fadelkon <fadelkon@posteo.net> Co-authored-by: Linerly <linerly@proton.me> Co-authored-by: Alfredo Sola <alfredo@sola.es> Co-authored-by: Milo Ivir <mail@milotype.de> Co-authored-by: Antonin Del Fabbro <message@antonin.one> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
8 months ago
child: Text(label, style: const TextStyle(fontFamily: 'UbuntuMono')),
),
);
}
if (suggestion['type'] == 'emote') {
return Container(
padding: padding,
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
MxcImage(
// ensure proper ordering ...
key: ValueKey(suggestion['name']),
uri: suggestion['mxc'] is String
? Uri.parse(suggestion['mxc'] ?? '')
: null,
width: size,
height: size,
1125 merge upstream fluffychat into main (#1184) * chore: Nicer invite selection view * chore: Do not request thousands of users on invite page * build(deps): bump rexml from 3.3.6 to 3.3.9 in /ios Bumps [rexml](https://github.com/ruby/rexml) from 3.3.6 to 3.3.9. - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](https://github.com/ruby/rexml/compare/v3.3.6...v3.3.9) --- updated-dependencies: - dependency-name: rexml dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * design: Highlight emoji only messages * chore: Follow up emoji only messages * Translated using Weblate (Galician) Currently translated at 100.0% (672 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Russian) Currently translated at 99.7% (670 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/ * design: New login design * chore: Improve spaces design * chore: Improve spaces design * chore: Improved UX for creating groups and spaces * Translated using Weblate (German) Currently translated at 100.0% (672 of 672 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * feat: Better wallpapers with blur and opacity sliders and improved styles page * chore: Follow up wallpaper configs * chore: Add max length to state messages * chore: Follow up wallpaper design * feat: Open account manage url when using MAS * chore: follow up wellknown fetch * Translated using Weblate (Arabic) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Finnish) Currently translated at 79.0% (533 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fi/ * Translated using Weblate (Latvian) Currently translated at 100.0% (674 of 674 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * build: Add links to snapcraft.yaml file * chore: Nicer empty page * chore: Polish chat bubble colors * chore: Follow up chat bubble design * refactor: Remove unnecessary builder widget * chore: Design adjustments * chore: Follow up design * refactor: Display two lines on new messages * chore: Design follow up * Translated using Weblate (Arabic) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (German) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * Translated using Weblate (Estonian) Currently translated at 99.7% (676 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * chore: Follow up message bubbles * chore: Follow up design * chore: Follow up design * chore: Follow up colors * chore: Follow up homeserverpicker UX * chore: Design follow up * feat: Add about server page * chore: Follow up update snackbar * chore: Polish login design * chore: Follow up login page * chore: Follow up homeserver picker * chore: Follow up appbar shadow * refactor: Performance boost for avatar widget * Revert "refactor: Performance boost for avatar widget" This reverts commit 58577bb9e8c65df64f1dd44ba908372e742f928e. * Translated using Weblate (Estonian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Latvian) Currently translated at 100.0% (678 of 678 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Arabic) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Basque) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Galician) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Latvian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Korean) Currently translated at 100.0% (687 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ko/ * chore: Follow up homeserver input field * refactor: Move to upstream geolocator * chore: Follow up send file dialog * Translated using Weblate (Spanish) Currently translated at 74.6% (513 of 687 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/ * refactor: Migrate to newer keyboard shortcuts package * refactor: Remove keyboard shortcuts This package right now makes the web app nearly unusable as it throws multiple errors on every key press. The package seems to be unmaintained. I tried two other packages and none of them worked. * build: Update matrix dart sdk to 0.35.0 * chore: Better FluffyChat Logo for PWA * build: (deps): bump samuelmeuli/action-snapcraft from 2 to 3 Bumps [samuelmeuli/action-snapcraft](https://github.com/samuelmeuli/action-snapcraft) from 2 to 3. - [Release notes](https://github.com/samuelmeuli/action-snapcraft/releases) - [Commits](https://github.com/samuelmeuli/action-snapcraft/compare/v2...v3) --- updated-dependencies: - dependency-name: samuelmeuli/action-snapcraft dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * chore: Follow up send file dialog * feat: Add markdown context actions for text input * build: Update flutter to 3.24.5 * build: Remove snapcraft build workaround * chore: Better error message when join room failed * chore: Follow up join room * chore: Make error dialog show full error * chore: Follow up loading dialog * chore: Follow up loading dialog * build: Snapcraft from local build file * chore: Follow up build snap * chore: Follow up snapcraft in ci * build: Revert build snapcraft changes * build: Try downgrading flutter web auth * chore: add hint in pubspec.yaml regarding flutter_web_auth_2 * Translated using Weblate (Estonian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Galician) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Irish) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Arabic) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Basque) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Latvian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Italian) Currently translated at 100.0% (688 of 688 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Estonian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Arabic) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Basque) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Irish) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Indonesian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/id/ * Translated using Weblate (Latvian) Currently translated at 100.0% (694 of 694 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/lv/ * Translated using Weblate (Arabic) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ar/ * Translated using Weblate (Estonian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/ * Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/zh_Hans/ * Translated using Weblate (Irish) Currently translated at 99.8% (694 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (German) Currently translated at 99.5% (692 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/ * fix: dont use thumbnails for emoticons * chore: Improve presence performance * Translated using Weblate (Basque) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/ * Translated using Weblate (Galician) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/ * Translated using Weblate (Italian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/it/ * Translated using Weblate (Irish) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ga/ * Translated using Weblate (Russian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/ * Translated using Weblate (Ukrainian) Currently translated at 100.0% (695 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/ * Translated using Weblate (Catalan) Currently translated at 95.1% (661 of 695 strings) Translation: FluffyChat/Translations Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ca/ * build: Bump version * chore: Follow up send file dialog for images * chore: Follow up send multiple images * build: Add android build workaround for new flutter version * build: Use file selector to save files * chore: Follow up save file on desktop * chore: Adjust default linux window height * refactor: Update to new receive sharing intent package * fluffychat merge * fluffychat merge * fluffychat merge * fix android build * fluffychat merge * fluffychat merge --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Krille <c.kussowski@famedly.com> Co-authored-by: Krille-chan <christian-kussowski@posteo.de> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: josé m <correoxm@disroot.org> Co-authored-by: v1s7 <v1s7@users.noreply.hosted.weblate.org> Co-authored-by: Christian <christian-pauly@posteo.de> Co-authored-by: Rex_sa <rex.sa@pm.me> Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com> Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org> Co-authored-by: Linerly <linerly@proton.me> Co-authored-by: Edgars Andersons <Edgars+Weblate@gaitenis.id.lv> Co-authored-by: xabirequejo <xabi.rn@gmail.com> Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com> Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com> Co-authored-by: Bruno Roh <kane.roh429@gmail.com> Co-authored-by: Kimby <kimisaes@naver.com> Co-authored-by: Aindriú Mac Giolla Eoin <aindriu80@gmail.com> Co-authored-by: Angelo Schirinzi <muten619@hotmail.it> Co-authored-by: Marek Vospěl <marek@vospel.cz> Co-authored-by: Александр (Alexandr1995) <stupino19951406@gmail.com>
11 months ago
isThumbnail: false,
),
const SizedBox(width: 6),
Text(suggestion['name']!),
Expanded(
child: Align(
alignment: Alignment.centerRight,
child: Opacity(
opacity: suggestion['pack_avatar_url'] != null ? 0.8 : 0.5,
child: suggestion['pack_avatar_url'] != null
? Avatar(
mxContent: Uri.tryParse(
suggestion.tryGet<String>('pack_avatar_url') ?? '',
),
name: suggestion.tryGet<String>('pack_display_name'),
size: size * 0.9,
client: client,
)
: Text(suggestion['pack_display_name']!),
),
),
),
],
),
);
}
if (suggestion['type'] == 'user' || suggestion['type'] == 'room') {
final url = Uri.parse(suggestion['avatar_url'] ?? '');
return Container(
padding: padding,
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Avatar(
mxContent: url,
name: suggestion.tryGet<String>('displayname') ??
suggestion.tryGet<String>('mxid'),
size: size,
client: client,
),
const SizedBox(width: 6),
// #Pangea
// Text(suggestion['displayname'] ?? suggestion['mxid']!),
Flexible(
child: Text(
suggestion['displayname'] ?? suggestion['mxid']!,
overflow: TextOverflow.ellipsis,
),
),
// Pangea#
],
),
);
}
return const SizedBox.shrink();
}
void insertSuggestion(_, Map<String, String?> suggestion) {
final replaceText =
controller!.text.substring(0, controller!.selection.baseOffset);
var startText = '';
final afterText = replaceText == controller!.text
? ''
: controller!.text.substring(controller!.selection.baseOffset + 1);
var insertText = '';
if (suggestion['type'] == 'command') {
insertText = '${suggestion['name']!} ';
startText = replaceText.replaceAllMapped(
RegExp(r'^(/\w*)$'),
(Match m) => '/$insertText',
);
}
if (suggestion['type'] == 'emoji') {
insertText = '${suggestion['emoji']!} ';
startText = replaceText.replaceAllMapped(
// #Pangea
RegExp(suggestion['current_word']!, caseSensitive: false),
// suggestion['current_word']!,
// Pangea#
(Match m) => insertText,
);
}
if (suggestion['type'] == 'emote') {
var isUnique = true;
final insertEmote = suggestion['name'];
final insertPack = suggestion['pack'];
final emotePacks = room.getImagePacks(ImagePackUsage.emoticon);
for (final pack in emotePacks.entries) {
if (pack.key == insertPack) {
continue;
}
for (final emote in pack.value.images.entries) {
if (emote.key == insertEmote) {
isUnique = false;
break;
}
}
if (!isUnique) {
break;
}
}
insertText = ':${isUnique ? '' : '${insertPack!}~'}$insertEmote: ';
startText = replaceText.replaceAllMapped(
RegExp(r'(\s|^)(:(?:[-\w]+~)?[-\w]+)$'),
(Match m) => '${m[1]}$insertText',
);
}
if (suggestion['type'] == 'user') {
insertText = '${suggestion['mention']!} ';
startText = replaceText.replaceAllMapped(
RegExp(r'(\s|^)(@[-\w]+)$'),
(Match m) => '${m[1]}$insertText',
);
}
if (suggestion['type'] == 'room') {
insertText = '${suggestion['mxid']!} ';
startText = replaceText.replaceAllMapped(
RegExp(r'(\s|^)(#[-\w]+)$'),
(Match m) => '${m[1]}$insertText',
);
}
if (insertText.isNotEmpty && startText.isNotEmpty) {
controller!.text = startText + afterText;
controller!.selection = TextSelection(
baseOffset: startText.length,
extentOffset: startText.length,
);
}
}
@override
Widget build(BuildContext context) {
final useShortCuts = (AppConfig.sendOnEnter ?? !PlatformInfos.isMobile);
// #Pangea
final enableAutocorrect = MatrixState
.pangeaController.userController.profile.toolSettings.enableAutocorrect;
// Pangea#
return Shortcuts(
shortcuts: !useShortCuts
? {}
: {
LogicalKeySet(LogicalKeyboardKey.shift, LogicalKeyboardKey.enter):
NewLineIntent(),
LogicalKeySet(LogicalKeyboardKey.enter): SubmitLineIntent(),
LogicalKeySet(
LogicalKeyboardKey.controlLeft,
LogicalKeyboardKey.keyM,
): PasteLineIntent(),
},
child: Actions(
actions: !useShortCuts
? {}
: {
NewLineIntent: CallbackAction(
onInvoke: (i) {
final val = controller!.value;
final selection = val.selection.start;
final messageWithoutNewLine =
'${controller!.text.substring(0, val.selection.start)}\n${controller!.text.substring(val.selection.end)}';
controller!.value = TextEditingValue(
text: messageWithoutNewLine,
selection: TextSelection.fromPosition(
TextPosition(offset: selection + 1),
),
);
return null;
},
),
SubmitLineIntent: CallbackAction(
onInvoke: (i) {
onSubmitted!(controller!.text);
return null;
},
),
PasteLineIntent: CallbackAction(
onInvoke: (i) async {
final image = await Pasteboard.image;
if (image != null) {
onSubmitImage!(image);
return null;
}
return null;
},
),
},
child: TypeAheadField<Map<String, String?>>(
direction: VerticalDirection.up,
hideOnEmpty: true,
hideOnLoading: true,
// #Pangea
// if should obscure text (to make it looks that a message has been sent after sending fake message),
// use hideTextController
// controller: controller,
controller:
(controller?.choreographer.chatController.obscureText) ?? false
? controller?.choreographer.chatController.hideTextController
: controller,
// Pangea#
focusNode: focusNode,
hideOnSelect: false,
debounceDuration: const Duration(milliseconds: 50),
// show suggestions after 50ms idle time (default is 300)
// #Pangea
builder: (context, _, focusNode) {
final textField = TextField(
enableSuggestions: enableAutocorrect,
readOnly:
controller != null && controller!.choreographer.isRunningIT,
autocorrect: enableAutocorrect,
controller: (controller
?.choreographer.chatController.obscureText) ??
false
? controller?.choreographer.chatController.hideTextController
: controller,
focusNode: focusNode,
contextMenuBuilder: (c, e) => markdownContextBuilder(
c,
e,
_,
),
contentInsertionConfiguration: ContentInsertionConfiguration(
onContentInserted: (KeyboardInsertedContent content) {
final data = content.data;
if (data == null) return;
final file = MatrixFile(
mimeType: content.mimeType,
bytes: data,
name: content.uri.split('/').last,
);
room.sendFileEvent(
file,
shrinkImageMaxDimension: 1600,
);
},
),
minLines: minLines,
maxLines: maxLines,
keyboardType: keyboardType!,
textInputAction: textInputAction,
autofocus: autofocus!,
inputFormatters: [
//LengthLimitingTextInputFormatter((maxPDUSize / 3).floor()),
//setting max character count to 1000
//after max, nothing else can be typed
LengthLimitingTextInputFormatter(1000),
],
onSubmitted: (text) {
// fix for library for now
// it sets the types for the callback incorrectly
onSubmitted!(text);
},
style: controller?.exceededMaxLength ?? false
? const TextStyle(color: Colors.red)
: null,
onTap: () {
controller?.onInputTap(
context,
fNode: focusNode,
);
},
decoration: decoration!,
onChanged: (text) {
// fix for the library for now
// it sets the types for the callback incorrectly
onChanged!(text);
},
textCapitalization: TextCapitalization.sentences,
);
// fix for issue with typing not working sometimes on Firefox and Safari
return kIsWeb ? SelectionArea(child: textField) : textField;
},
// builder: (context, controller, focusNode) => TextField(
// controller: controller,
// focusNode: focusNode,
// contextMenuBuilder: (c, e) =>
// markdownContextBuilder(c, e, controller),
// contentInsertionConfiguration: ContentInsertionConfiguration(
// onContentInserted: (KeyboardInsertedContent content) {
// final data = content.data;
// if (data == null) return;
// final file = MatrixFile(
// mimeType: content.mimeType,
// bytes: data,
// name: content.uri.split('/').last,
// );
// room.sendFileEvent(
// file,
// shrinkImageMaxDimension: 1600,
// );
// },
// ),
// minLines: minLines,
// maxLines: maxLines,
// keyboardType: keyboardType!,
// textInputAction: textInputAction,
// autofocus: autofocus!,
// inputFormatters: [
// LengthLimitingTextInputFormatter((maxPDUSize / 3).floor()),
// ],
// onSubmitted: (text) {
// // fix for library for now
// // it sets the types for the callback incorrectly
// onSubmitted!(text);
// },
// decoration: decoration!,
// onChanged: (text) {
// // fix for the library for now
// // it sets the types for the callback incorrectly
// onChanged!(text);
// },
// textCapitalization: TextCapitalization.sentences,
// ),
// Pangea#
suggestionsCallback: getSuggestions,
itemBuilder: (c, s) =>
buildSuggestion(c, s, Matrix.of(context).client),
onSelected: (Map<String, String?> suggestion) =>
insertSuggestion(context, suggestion),
errorBuilder: (BuildContext context, Object? error) =>
const SizedBox.shrink(),
loadingBuilder: (BuildContext context) => const SizedBox.shrink(),
// fix loading briefly flickering a dark box
emptyBuilder: (BuildContext context) => const SizedBox
.shrink(), // fix loading briefly showing no suggestions
),
),
);
}
}
class NewLineIntent extends Intent {}
class SubmitLineIntent extends Intent {}
class PasteLineIntent extends Intent {}