fluffychat merge
This commit is contained in:
commit
5105b58e39
6 changed files with 70 additions and 22 deletions
|
|
@ -6,6 +6,7 @@ major performance leak and introduces polls and threads.
|
|||
- feat: Implement polls (Christian Kußowski)
|
||||
- feat: Implement threads (krille-chan)
|
||||
- fix: Database corruption because notification tab isolate starts too late (Christian Kußowski)
|
||||
- fix: Import sticker packs (Christian Kußowski)
|
||||
- refactor: Improved UIA support for OIDC and SSO (Christian Kußowski)
|
||||
- refactor: Invite users when upgrading private room (Christian Kußowski)
|
||||
- build: (deps): bump cross_file from 0.3.4+2 to 0.3.5 (dependabot[bot])
|
||||
|
|
@ -18,6 +19,7 @@ major performance leak and introduces polls and threads.
|
|||
- build: Switch back to stable web auth package (krille-chan)
|
||||
- build: Use matrix sdk 4.0.0 (Christian Kußowski)
|
||||
- build: Use secure storage from pub.dev again (krille-chan)
|
||||
- chore: Remove Notification actions when using UnifiedPush (Christian Kußowski)
|
||||
- chore(translations): Added translation using Weblate (Uzbek) (bahrom04)
|
||||
- chore(translations): Translated using Weblate (Basque) (xabirequejo)
|
||||
- chore(translations): Translated using Weblate (Belarusian) (Alex Katon)
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
FluffyChat 2.3.0 fixes a possible database corruption bug, also fixes a
|
||||
major performance leak and introduces polls and threads.
|
||||
major performance leak and introduces polls and threads.
|
||||
Several other bugs have also been fixed including importing sticker packgs.
|
||||
|
|
@ -3440,6 +3440,61 @@
|
|||
"@donate": {},
|
||||
"resume": "Fortsetzen",
|
||||
"@resume": {},
|
||||
"startedAPoll": "{username} hat eine Umfrage gestartet.",
|
||||
"@startedAPoll": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"poll": "Umfrage",
|
||||
"@poll": {},
|
||||
"startPoll": "Umfrage starten",
|
||||
"@startPoll": {},
|
||||
"endPoll": "Umfrage beenden",
|
||||
"@endPoll": {},
|
||||
"answersVisible": "Antworten sichtbar",
|
||||
"@answersVisible": {},
|
||||
"answersHidden": "Antworten sind verborgen",
|
||||
"@answersHidden": {},
|
||||
"pollQuestion": "Frage",
|
||||
"@pollQuestion": {},
|
||||
"answerOption": "Antwortmöglichkeit",
|
||||
"@answerOption": {},
|
||||
"addAnswerOption": "Antwortoption hinzufügen",
|
||||
"@addAnswerOption": {},
|
||||
"allowMultipleAnswers": "Mehrere Antworten zulassen",
|
||||
"@allowMultipleAnswers": {},
|
||||
"pollHasBeenEnded": "Umfrage ist beendet",
|
||||
"@pollHasBeenEnded": {},
|
||||
"countVotes": "{count, plural, =1{Eine Stimme} other{{count} Stimmen}}",
|
||||
"@countVotes": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"answersWillBeVisibleWhenPollHasEnded": "Die Antworten werden nach Ende der Umfrage sichtbar sein",
|
||||
"@answersWillBeVisibleWhenPollHasEnded": {},
|
||||
"replyInThread": "Im Thread antworten",
|
||||
"@replyInThread": {},
|
||||
"countReplies": "{count, plural, =1{Eine Antwort} other{{count} Antworten}}",
|
||||
"@countReplies": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"thread": "Thread",
|
||||
"@thread": {},
|
||||
"backToMainChat": "Zurück zum Hauptchat",
|
||||
"@backToMainChat": {},
|
||||
"writeAMessageLangCodes": "Geben Sie in {l1} oder {l2} ein...",
|
||||
"requests": "Anfragen",
|
||||
"holdForInfo": "Klicken und halten für Wortinformationen.",
|
||||
|
|
|
|||
|
|
@ -280,26 +280,16 @@ class EmotesSettingsController extends State<EmotesSettings> {
|
|||
}
|
||||
|
||||
Future<void> importEmojiZip() async {
|
||||
final result = await showFutureLoadingDialog<Archive?>(
|
||||
context: context,
|
||||
future: () async {
|
||||
final result = await selectFiles(
|
||||
context,
|
||||
type: FileSelectorType.zip,
|
||||
);
|
||||
|
||||
if (result.isEmpty) return null;
|
||||
|
||||
final buffer = InputMemoryStream(await result.first.readAsBytes());
|
||||
|
||||
final archive = ZipDecoder().decodeStream(buffer);
|
||||
|
||||
return archive;
|
||||
},
|
||||
final result = await selectFiles(
|
||||
context,
|
||||
type: FileSelectorType.zip,
|
||||
);
|
||||
|
||||
final archive = result.result;
|
||||
if (archive == null) return;
|
||||
if (result.isEmpty) return;
|
||||
|
||||
final buffer = InputMemoryStream(await result.single.readAsBytes());
|
||||
|
||||
final archive = ZipDecoder().decodeStream(buffer);
|
||||
|
||||
await showDialog(
|
||||
context: context,
|
||||
|
|
|
|||
|
|
@ -45,10 +45,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: animations
|
||||
sha256: a8031b276f0a7986ac907195f10ca7cd04ecf2a8a566bd6dbe03018a9b02b427
|
||||
sha256: "18938cefd7dcc04e1ecac0db78973761a01e4bc2d6bfae0cfa596bfeac9e96ab"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
version: "2.1.1"
|
||||
ansicolor:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ environment:
|
|||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
dependencies:
|
||||
animations: ^2.1.0
|
||||
animations: ^2.1.1
|
||||
app_links: ^6.4.1
|
||||
archive: ^4.0.7
|
||||
async: ^2.11.0
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue