diff --git a/.github/workflows/main_deploy.yaml b/.github/workflows/main_deploy.yaml index b17e5bf3d..6bda0c1db 100644 --- a/.github/workflows/main_deploy.yaml +++ b/.github/workflows/main_deploy.yaml @@ -28,6 +28,7 @@ jobs: run: ./scripts/prepare-web.sh - name: Build Release Web run: ./scripts/build-web.sh + - name: Upload files uses: actions/upload-artifact@v3 with: @@ -64,19 +65,19 @@ jobs: environment: staging env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_BASE_TOKEN: ${{ secrets.SENTRY_BASE_TOKEN }} - SENTRY_ORG: ${{ secrets.SENTRY_ORG }} - SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - CI_COMMIT_SHA: ${{ github.sha }} + SENTRY_RELEASE: ${{ github.sha }} + SENTRY_PROJECT: ${{ vars.SENTRY_PROJECT }} + SENTRY_ORG: ${{ vars.SENTRY_ORG }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + - run: cat .github/workflows/versions.env >> $GITHUB_ENV + - uses: subosito/flutter-action@v2 + with: + flutter-version: ${{ env.FLUTTER_VERSION }} - name: Download web uses: actions/download-artifact@v3 with: name: web path: build/web - - name: Install sentry CLI - run: | - curl -sL https://sentry.io/get-cli/ | bash - name: Update sentry - run: ./scripts/upload-sentry.sh + run: flutter packages pub run sentry_dart_plugin diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index e971e6215..4a27fd6da 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -3996,8 +3996,14 @@ "conversationBotDiscussionZone_discussionKeywordsHintText": "Comma separated list of keywords to guide the discussion", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel": "Send discussion prompt on a schedule", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel": "Hours between discussion prompts", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Send discussion prompt when user reacts ⏩ to bot message", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Responds on ⏩ reaction", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel": "Reaction to send discussion prompt", + "addConversationBotDialogTitleInvite": "Confirm inviting conversation bot", + "addConversationBotButtonInvite": "Invite", + "addConversationBotDialogInviteConfirmation": "Invite", + "addConversationBotButtonTitleRemove": "Confirm removing conversation bot", + "addConversationBotButtonRemove": "Remove", + "addConversationBotDialogRemoveConfirmation": "Remove", "studentAnalyticsNotAvailable": "Student data not currently available", "roomDataMissing": "Some data may be missing from rooms in which you are not a member.", "updatePhoneOS": "You may need to update your device's OS version.", diff --git a/assets/l10n/intl_es.arb b/assets/l10n/intl_es.arb index 905248dd1..0658bff50 100644 --- a/assets/l10n/intl_es.arb +++ b/assets/l10n/intl_es.arb @@ -4592,7 +4592,7 @@ "conversationBotDiscussionZone_discussionKeywordsHintText": "Lista de palabras clave separadas por comas para orientar el debate", "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel": "Enviar mensajes de debate según un calendario", "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel": "Horas entre temas de debate", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Enviar aviso de discusión cuando el usuario reacciona ⏩ al mensaje del bot.", + "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Responde a la reacción de ⏩", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel": "Reacción al envío del aviso de debate", "studentAnalyticsNotAvailable": "Datos de los estudiantes no disponibles actualmente", "roomDataMissing": "Es posible que falten algunos datos de las salas de las que no es miembro.", diff --git a/lib/pages/chat/chat_event_list.dart b/lib/pages/chat/chat_event_list.dart index 3fc1aac9c..fed94554a 100644 --- a/lib/pages/chat/chat_event_list.dart +++ b/lib/pages/chat/chat_event_list.dart @@ -5,6 +5,7 @@ import 'package:fluffychat/pages/chat/seen_by_row.dart'; import 'package:fluffychat/pages/chat/typing_indicators.dart'; import 'package:fluffychat/pages/user_bottom_sheet/user_bottom_sheet.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; +import 'package:fluffychat/pangea/utils/instructions.dart'; import 'package:fluffychat/pangea/widgets/chat/locked_chat_message.dart'; import 'package:fluffychat/utils/account_config.dart'; import 'package:fluffychat/utils/adaptive_bottom_sheet.dart'; @@ -40,6 +41,19 @@ class ChatEventList extends StatelessWidget { final hasWallpaper = controller.room.client.applicationAccountConfig.wallpaperUrl != null; + // #Pangea + // after the chat event list mounts, if the user hasn't yet seen this instruction + // card, attach it on top of the first shown message + WidgetsBinding.instance.addPostFrameCallback((_) { + controller.pangeaController.instructions.show( + context, + InstructionsEnum.clickMessage, + events[0].eventId, + true, + ); + }); + // Pangea# + return SelectionArea( child: ListView.custom( padding: EdgeInsets.only( diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart index 6a1b93889..e6c85a617 100644 --- a/lib/pages/chat_list/space_view.dart +++ b/lib/pages/chat_list/space_view.dart @@ -239,7 +239,9 @@ class _SpaceViewState extends State { room?.getLocalizedDisplayname( MatrixLocals(L10n.of(context)!), ), - message: spaceChild?.topic ?? room?.topic, + // #Pangea + // message: spaceChild?.topic ?? room?.topic, + // Pangea# actions: [ // #Pangea // if (room == null) diff --git a/lib/pangea/extensions/client_extension/client_analytics_extension.dart b/lib/pangea/extensions/client_extension/client_analytics_extension.dart index 9956359a0..fde4d8e54 100644 --- a/lib/pangea/extensions/client_extension/client_analytics_extension.dart +++ b/lib/pangea/extensions/client_extension/client_analytics_extension.dart @@ -133,7 +133,8 @@ extension AnalyticsClientExtension on Client { // Checks for invites to any student analytics rooms // Handles case of analytics rooms that can't be added to some space(s) Future _joinInvitedAnalyticsRooms() async { - for (final Room room in rooms) { + final List allRooms = List.from(rooms); + for (final Room room in allRooms) { if (room.membership == Membership.invite && room.isAnalyticsRoom) { try { await room.join(); diff --git a/lib/pangea/extensions/pangea_room_extension/events_extension.dart b/lib/pangea/extensions/pangea_room_extension/events_extension.dart index f878bc3cb..2d67db5b2 100644 --- a/lib/pangea/extensions/pangea_room_extension/events_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension/events_extension.dart @@ -60,11 +60,15 @@ extension EventsRoomExtension on Room { future: () async { final List children = await getChildRooms(); for (final Room child in children) { - if (!child.isAnalyticsRoom) { + if (!child.isAnalyticsRoom && !child.isArchived) { if (child.membership != Membership.join) { child.join; } - await child.archive(); + if (child.isSpace) { + await child.archiveSubspace(); + } else { + await child.archive(); + } } } await _archive(); @@ -77,6 +81,23 @@ extension EventsRoomExtension on Room { return success.error == null; } + Future _archiveSubspace() async { + final List children = await getChildRooms(); + for (final Room child in children) { + if (!child.isAnalyticsRoom && !child.isArchived) { + if (child.membership != Membership.join) { + child.join; + } + if (child.isSpace) { + await child.archiveSubspace(); + } else { + await child.archive(); + } + } + } + await _archive(); + } + Future _leaveSpace(BuildContext context, Client client) async { final confirmed = await showOkCancelAlertDialog( useRootNavigator: false, @@ -94,12 +115,18 @@ extension EventsRoomExtension on Room { try { final List children = await getChildRooms(); for (final Room child in children) { - if (!child.isSpace && - child.membership == Membership.join && - child.isUnread) { - await child.markUnread(false); + if (!child.isAnalyticsRoom && !child.isArchived) { + if (!child.isSpace && + child.membership == Membership.join && + child.isUnread) { + await child.markUnread(false); + } + if (child.isSpace) { + await child.leaveSubspace(); + } else { + await child.leave(); + } } - await child.leave(); } await leave(); } catch (err, stack) { @@ -116,6 +143,25 @@ extension EventsRoomExtension on Room { return success.error == null; } + Future _leaveSubspace() async { + final List children = await getChildRooms(); + for (final Room child in children) { + if (!child.isAnalyticsRoom && !child.isArchived) { + if (!child.isSpace && + child.membership == Membership.join && + child.isUnread) { + await child.markUnread(false); + } + if (child.isSpace) { + await child.leaveSubspace(); + } else { + await child.leave(); + } + } + } + await leave(); + } + Future _sendPangeaEvent({ required Map content, required String parentEventId, diff --git a/lib/pangea/extensions/pangea_room_extension/pangea_room_extension.dart b/lib/pangea/extensions/pangea_room_extension/pangea_room_extension.dart index 0b303d7bc..6219c62d2 100644 --- a/lib/pangea/extensions/pangea_room_extension/pangea_room_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension/pangea_room_extension.dart @@ -141,9 +141,13 @@ extension PangeaRoom on Room { }) async => await _archiveSpace(context, client, onlyAdmin: onlyAdmin); + Future archiveSubspace() async => await _archiveSubspace(); + Future leaveSpace(BuildContext context, Client client) async => await _leaveSpace(context, client); + Future leaveSubspace() async => await _leaveSubspace(); + Future sendPangeaEvent({ required Map content, required String parentEventId, diff --git a/lib/pangea/models/bot_options_model.dart b/lib/pangea/models/bot_options_model.dart index 0b437159e..00eaddc1b 100644 --- a/lib/pangea/models/bot_options_model.dart +++ b/lib/pangea/models/bot_options_model.dart @@ -32,7 +32,7 @@ class BotOptionsModel { this.discussionKeywords, this.discussionTriggerScheduleEnabled, this.discussionTriggerScheduleHourInterval, - this.discussionTriggerReactionEnabled, + this.discussionTriggerReactionEnabled = true, this.discussionTriggerReactionKey, }); diff --git a/lib/pangea/models/choreo_record.dart b/lib/pangea/models/choreo_record.dart index 3422a76a2..413f00716 100644 --- a/lib/pangea/models/choreo_record.dart +++ b/lib/pangea/models/choreo_record.dart @@ -247,22 +247,27 @@ class ChoreoRecord { choreoSteps.isNotEmpty ? choreoSteps.last.text : ""; } -/// new step are saved +/// A new ChoreoRecordStep is saved in the following cases: /// 1) before every system-provided text is accepted, if final text is different /// from last step /// 2) on the acceptance of system-provided text /// 3) on message send, if final text is different from last step +/// 4) on the acceptance of an it step +/// 5) on the start of it /// -/// user edit -/// "hey ther" +/// Example 1: +/// the user types "hey ther" +/// IGC suggests "there" /// user accepts "there" correction -/// "hey there" -/// step made for user edits and step made for system suggestion -/// user goes through IT, chooses "hola" -/// "hola" -/// step saved -/// adds "amigo" -/// step saved +/// text is now "hey there" +/// A step is made for the original input 'hey there' and a step is made for system suggestion +/// +/// Example 2: +/// user write "hi friend" +/// a step is made for the original input 'hi friend' +/// the user selects IT and a step is made +/// the user chooses "hola" and a step is saved +/// adds "amigo" and a step saved class ChoreoRecordStep { /// text after changes have been made String text; diff --git a/lib/pangea/pages/p_user_age/p_user_age_view.dart b/lib/pangea/pages/p_user_age/p_user_age_view.dart index e3eac4d12..1438cf0fe 100644 --- a/lib/pangea/pages/p_user_age/p_user_age_view.dart +++ b/lib/pangea/pages/p_user_age/p_user_age_view.dart @@ -1,3 +1,4 @@ +import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/pages/p_user_age/p_user_age.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; @@ -18,11 +19,15 @@ class PUserAgeView extends StatelessWidget { children: [ Container( margin: const EdgeInsets.only(top: 10), - padding: const EdgeInsets.all(12), + padding: const EdgeInsets.all(15), child: Text( L10n.of(context)!.yourBirthdayPlease, textAlign: TextAlign.justify, - style: const TextStyle(color: Colors.white), + style: const TextStyle( + color: Colors.black, + fontSize: 14, + fontWeight: FontWeight.bold, + ), ), ), const SizedBox( @@ -41,23 +46,25 @@ class PUserAgeView extends StatelessWidget { ListTile( title: Text( L10n.of(context)!.certifyAge(13), - style: const TextStyle(color: Colors.white, fontSize: 14), + style: const TextStyle(color: Colors.black, fontSize: 14), ), leading: Radio( value: 13, groupValue: controller.selectedAge, onChanged: controller.setSelectedAge, + activeColor: AppConfig.primaryColor, ), ), ListTile( title: Text( L10n.of(context)!.certifyAge(18), - style: const TextStyle(color: Colors.white, fontSize: 14), + style: const TextStyle(color: Colors.black, fontSize: 14), ), leading: Radio( value: 18, groupValue: controller.selectedAge, onChanged: controller.setSelectedAge, + activeColor: AppConfig.primaryColor, ), ), ], diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart index 9024e41bb..fa08a860d 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_keywords_input.dart @@ -30,6 +30,9 @@ class ConversationBotDiscussionKeywordsInput extends StatelessWidget { .conversationBotDiscussionZone_discussionKeywordsLabel, ), content: TextField( + minLines: 1, + maxLines: 10, + maxLength: 1000, controller: textFieldController, onChanged: (value) { discussionKeywords = value; diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart index 72caa3839..c2d4eefcc 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_topic_input.dart @@ -30,6 +30,9 @@ class ConversationBotDiscussionTopicInput extends StatelessWidget { .conversationBotDiscussionZone_discussionTopicLabel, ), content: TextField( + minLines: 1, + maxLines: 10, + maxLength: 1000, controller: textFieldController, onChanged: (value) { discussionTopic = value; diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart index 57c25e133..ed642a391 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart @@ -17,14 +17,6 @@ class ConversationBotDiscussionZone extends StatelessWidget { @override Widget build(BuildContext context) { - final String discussionTopic = initialBotOptions.discussionTopic ?? ""; - final String discussionKeywords = - initialBotOptions.discussionKeywords ?? ""; - // int discussionTriggerScheduleHourInterval = - // initialBotOptions.discussionTriggerScheduleHourInterval ?? 24; - // String discussionTriggerReactionKey = - // initialBotOptions.discussionTriggerReactionKey ?? "⏩"; - // List reactionKeyOptions = ["⏩"]; return Column( children: [ const SizedBox(height: 12), @@ -84,56 +76,12 @@ class ConversationBotDiscussionZone extends StatelessWidget { ), ), const SizedBox(height: 12), - // CheckboxListTile( - // title: Text( - // L10n.of(context)! - // .conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel, - // ), - // value: initialBotOptions.discussionTriggerScheduleEnabled ?? false, - // onChanged: (value) { - // initialBotOptions.discussionTriggerScheduleEnabled = value ?? false; - // onChanged?.call(initialBotOptions); - // }, - // ), - // if (initialBotOptions.discussionTriggerScheduleEnabled == true) - // Padding( - // padding: const EdgeInsets.all(8), - // child: TextField( - // keyboardType: TextInputType.number, - // controller: TextEditingController( - // text: discussionTriggerScheduleHourInterval.toString(), - // ), - // onChanged: (value) { - // discussionTriggerScheduleHourInterval = - // int.tryParse(value) ?? 0; - // }, - // decoration: InputDecoration( - // labelText: L10n.of(context)! - // .conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel, - // floatingLabelBehavior: FloatingLabelBehavior.auto, - // suffixIcon: IconButton( - // icon: const Icon(Icons.check), - // onPressed: () { - // if (discussionTriggerScheduleHourInterval != - // initialBotOptions - // .discussionTriggerScheduleHourInterval) { - // initialBotOptions.discussionTriggerScheduleHourInterval = - // discussionTriggerScheduleHourInterval; - // onChanged?.call( - // initialBotOptions, - // ); - // } - // }, - // ), - // ), - // ), - // ), - // const SizedBox(height: 12), CheckboxListTile( title: Text( L10n.of(context)! .conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel, ), + enabled: false, value: initialBotOptions.discussionTriggerReactionEnabled ?? false, onChanged: (value) { initialBotOptions.discussionTriggerReactionEnabled = value ?? false; @@ -141,83 +89,8 @@ class ConversationBotDiscussionZone extends StatelessWidget { "⏩"; // hard code this for now onChanged.call(initialBotOptions); }, + // make this input disabled always ), - // if (initialBotOptions.discussionTriggerReactionEnabled == true) - // Padding( - // padding: const EdgeInsets.all(8), - // child: Column( - // children: [ - // Text( - // L10n.of(context)! - // .conversationBotDiscussionZone_discussionTriggerReactionKeyLabel, - // style: TextStyle( - // color: Theme.of(context).colorScheme.secondary, - // fontWeight: FontWeight.bold, - // ), - // textAlign: TextAlign.left, - // ), - // Container( - // decoration: BoxDecoration( - // border: Border.all( - // color: Theme.of(context).colorScheme.secondary, - // width: 0.5, - // ), - // borderRadius: const BorderRadius.all(Radius.circular(10)), - // ), - // child: DropdownButton( - // // Initial Value - // hint: Padding( - // padding: const EdgeInsets.only(left: 15), - // child: Text( - // reactionKeyOptions[0], - // style: const TextStyle().copyWith( - // color: Theme.of(context).textTheme.bodyLarge!.color, - // fontSize: 14, - // ), - // overflow: TextOverflow.clip, - // textAlign: TextAlign.center, - // ), - // ), - // isExpanded: true, - // underline: Container(), - // // Down Arrow Icon - // icon: const Icon(Icons.keyboard_arrow_down), - // // Array list of items - // items: [ - // for (final entry in reactionKeyOptions) - // DropdownMenuItem( - // value: entry, - // child: Padding( - // padding: const EdgeInsets.only(left: 15), - // child: Text( - // entry, - // style: const TextStyle().copyWith( - // color: Theme.of(context) - // .textTheme - // .bodyLarge! - // .color, - // fontSize: 14, - // ), - // overflow: TextOverflow.clip, - // textAlign: TextAlign.center, - // ), - // ), - // ), - // ], - // onChanged: (String? value) { - // if (value != - // initialBotOptions.discussionTriggerReactionKey) { - // initialBotOptions.discussionTriggerReactionKey = value; - // onChanged?.call( - // initialBotOptions, - // ); - // } - // }, - // ), - // ), - // ], - // ), - // ), const SizedBox(height: 12), ], ); diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart index 506760d17..f1f9816bc 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart @@ -1,6 +1,5 @@ import 'dart:developer'; -import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/models/bot_options_model.dart'; import 'package:fluffychat/pangea/utils/bot_name.dart'; import 'package:fluffychat/pangea/widgets/common/bot_face_svg.dart'; @@ -121,7 +120,7 @@ class ConversationBotSettingsState extends State { children: [ Padding( padding: const EdgeInsets.only(left: 16), - child: SwitchListTile.adaptive( + child: ListTile( title: Text( L10n.of(context)!.addConversationBot, style: TextStyle( @@ -130,7 +129,7 @@ class ConversationBotSettingsState extends State { ), ), subtitle: Text(L10n.of(context)!.addConversationBotDesc), - secondary: CircleAvatar( + leading: CircleAvatar( backgroundColor: Theme.of(context).scaffoldBackgroundColor, foregroundColor: @@ -140,85 +139,68 @@ class ConversationBotSettingsState extends State { expression: BotExpression.right, ), ), - activeColor: AppConfig.activeToggleColor, - value: addBot, - onChanged: (bool add) { - setState(() => addBot = add); - add - ? widget.room?.invite(BotName.byEnvironment) - : widget.room?.kick(BotName.byEnvironment); - }, + trailing: ElevatedButton( + onPressed: () async { + final bool? confirm = await showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: addBot + ? Text( + L10n.of(context)! + .addConversationBotButtonTitleRemove, + ) + : Text( + L10n.of(context)! + .addConversationBotDialogTitleInvite, + ), + actions: [ + TextButton( + onPressed: () { + Navigator.of(context).pop(false); + }, + child: Text(L10n.of(context)!.cancel), + ), + TextButton( + onPressed: () { + Navigator.of(context).pop(!addBot); + }, + child: addBot + ? Text( + L10n.of(context)! + .addConversationBotDialogRemoveConfirmation, + ) + : Text( + L10n.of(context)! + .addConversationBotDialogInviteConfirmation, + ), + ), + ], + ); + }, + ); + + if (confirm == true) { + setState(() => addBot = true); + widget.room?.invite(BotName.byEnvironment); + } else { + setState(() => addBot = false); + widget.room?.kick(BotName.byEnvironment); + } + }, + child: addBot + ? Text( + L10n.of(context)! + .addConversationBotButtonRemove, + ) + : Text( + L10n.of(context)! + .addConversationBotButtonInvite, + ), + ), ), ), if (addBot) ...[ - // Padding( - // padding: const EdgeInsets.only(left: 16), - // child: ListTile( - // onTap: () async { - // final topic = await showTextInputDialog( - // context: context, - // textFields: [ - // DialogTextField( - // initialText: botOptions.topic.isEmpty - // ? "" - // : botOptions.topic, - // hintText: - // L10n.of(context)!.enterAConversationTopic, - // ), - // ], - // title: L10n.of(context)!.conversationTopic, - // ); - // if (topic == null) return; - // updateBotOption(() { - // botOptions.topic = topic.single; - // }); - // }, - // leading: CircleAvatar( - // backgroundColor: - // Theme.of(context).scaffoldBackgroundColor, - // foregroundColor: - // Theme.of(context).textTheme.bodyLarge!.color, - // child: const Icon(Icons.topic_outlined), - // ), - // subtitle: Text( - // botOptions.topic.isEmpty - // ? L10n.of(context)!.enterAConversationTopic - // : botOptions.topic, - // ), - // title: Text( - // L10n.of(context)!.conversationTopic, - // style: TextStyle( - // color: Theme.of(context).colorScheme.secondary, - // fontWeight: FontWeight.bold, - // ), - // ), - // ), - // ), - // Padding( - // padding: const EdgeInsets.only(left: 16), - // child: SwitchListTile.adaptive( - // title: Text( - // L10n.of(context)!.enableModeration, - // style: TextStyle( - // color: Theme.of(context).colorScheme.secondary, - // fontWeight: FontWeight.bold, - // ), - // ), - // subtitle: Text(L10n.of(context)!.enableModerationDesc), - // secondary: CircleAvatar( - // backgroundColor: - // Theme.of(context).scaffoldBackgroundColor, - // foregroundColor: - // Theme.of(context).textTheme.bodyLarge!.color, - // child: const Icon(Icons.shield_outlined), - // ), - // activeColor: AppConfig.activeToggleColor, - // value: botOptions.safetyModeration, - // onChanged: (bool newValue) => updateBotOption(() { - // botOptions.safetyModeration = newValue; - // }), - // ), - // ), Padding( padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), child: Text( diff --git a/lib/pangea/widgets/igc/pangea_rich_text.dart b/lib/pangea/widgets/igc/pangea_rich_text.dart index 41f31bc31..d1a6c205b 100644 --- a/lib/pangea/widgets/igc/pangea_rich_text.dart +++ b/lib/pangea/widgets/igc/pangea_rich_text.dart @@ -121,13 +121,6 @@ class PangeaRichTextState extends State { InstructionsEnum.blurMeansTranslate, widget.pangeaMessageEvent.eventId, ); - } else { - pangeaController.instructions.show( - context, - InstructionsEnum.clickMessage, - widget.pangeaMessageEvent.eventId, - true, - ); } //TODO - take out of build function of every message diff --git a/lib/pangea/widgets/igc/paywall_card.dart b/lib/pangea/widgets/igc/paywall_card.dart index a6707222b..78f7b6985 100644 --- a/lib/pangea/widgets/igc/paywall_card.dart +++ b/lib/pangea/widgets/igc/paywall_card.dart @@ -25,7 +25,7 @@ class PaywallCard extends StatelessWidget { botExpression: BotExpression.addled, ), Padding( - padding: const EdgeInsets.all(20), + padding: const EdgeInsets.all(17), child: Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -54,7 +54,7 @@ class PaywallCard extends StatelessWidget { MatrixState.pAnyState.closeOverlay(); }, style: ButtonStyle( - backgroundColor: MaterialStateProperty.all( + backgroundColor: WidgetStateProperty.all( (AppConfig.primaryColor).withOpacity(0.1), ), ), @@ -70,7 +70,7 @@ class PaywallCard extends StatelessWidget { width: double.infinity, child: TextButton( style: ButtonStyle( - backgroundColor: MaterialStateProperty.all( + backgroundColor: WidgetStateProperty.all( AppConfig.primaryColor.withOpacity(0.1), ), ), diff --git a/needed-translations.txt b/needed-translations.txt index a2d9d0330..6dae1ed19 100644 --- a/needed-translations.txt +++ b/needed-translations.txt @@ -819,6 +819,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -2305,6 +2311,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -3792,6 +3804,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -5283,6 +5301,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -6177,6 +6201,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -7152,6 +7182,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -8014,6 +8050,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -9451,6 +9493,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -10592,6 +10640,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -10636,6 +10690,12 @@ "es": [ "searchIn", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "suggestToSpace", "suggestToSpaceDesc" ], @@ -11460,6 +11520,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -12318,6 +12384,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -13313,6 +13385,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -14274,6 +14352,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -15591,6 +15675,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -16587,6 +16677,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -17712,6 +17808,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -18574,6 +18676,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -19814,6 +19922,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -21297,6 +21411,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -22235,6 +22355,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -23111,6 +23237,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -24585,6 +24717,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -25452,6 +25590,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -26698,6 +26842,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -27613,6 +27763,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -28639,6 +28795,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -29984,6 +30146,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -30846,6 +31014,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -31870,6 +32044,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -32738,6 +32918,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -33925,6 +34111,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -34880,6 +35072,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -35843,6 +36041,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -37311,6 +37515,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -38178,6 +38388,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -39367,6 +39583,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -40365,6 +40587,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -41231,6 +41459,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -42485,6 +42719,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -43873,6 +44113,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -45033,6 +45279,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -45929,6 +46181,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -47416,6 +47674,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -48858,6 +49122,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -49721,6 +49991,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -50612,6 +50888,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -51955,6 +52237,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -52817,6 +53105,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", @@ -53951,6 +54245,12 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", + "addConversationBotDialogTitleInvite", + "addConversationBotButtonInvite", + "addConversationBotDialogInviteConfirmation", + "addConversationBotButtonTitleRemove", + "addConversationBotButtonRemove", + "addConversationBotDialogRemoveConfirmation", "studentAnalyticsNotAvailable", "roomDataMissing", "updatePhoneOS", diff --git a/pubspec.lock b/pubspec.lock index afe372a2f..655752eda 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -975,6 +975,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.2" + globbing: + dependency: transitive + description: + name: globbing + sha256: "4f89cfaf6fa74c9c1740a96259da06bd45411ede56744e28017cc534a12b6e2d" + url: "https://pub.dev" + source: hosted + version: "1.0.0" go_router: dependency: "direct main" description: @@ -1167,6 +1175,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.8+1" + injector: + dependency: transitive + description: + name: injector + sha256: ed389bed5b48a699d5b9561c985023d0d5cc88dd5ff2237aadcce5a5ab433e4e + url: "https://pub.dev" + source: hosted + version: "3.0.0" integration_test: dependency: "direct dev" description: flutter @@ -1749,6 +1765,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + properties: + dependency: transitive + description: + name: properties + sha256: "333f427dd4ed07bdbe8c75b9ff864a1e70b5d7a8426a2e8bdd457b65ae5ac598" + url: "https://pub.dev" + source: hosted + version: "2.1.1" provider: dependency: "direct main" description: @@ -1949,6 +1973,14 @@ packages: url: "https://pub.dev" source: hosted version: "8.2.0" + sentry_dart_plugin: + dependency: "direct dev" + description: + name: sentry_dart_plugin + sha256: e81fa3e0ffabd04fdcfbfecd6468d4a342f02ab33edca09708c61bcd2be42b7d + url: "https://pub.dev" + source: hosted + version: "1.7.1" sentry_flutter: dependency: "direct main" description: @@ -2234,6 +2266,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.0+1" + system_info2: + dependency: transitive + description: + name: system_info2 + sha256: "65206bbef475217008b5827374767550a5420ce70a04d2d7e94d1d2253f3efc9" + url: "https://pub.dev" + source: hosted + version: "4.0.0" tar: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index bf5fc3b2d..398a2f15b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -132,6 +132,7 @@ dev_dependencies: sdk: flutter license_checker: ^1.6.0 msix: ^3.6.2 + sentry_dart_plugin: ^1.0.0 translations_cleaner: ^0.0.5 flutter_native_splash: diff --git a/scripts/upload-sentry.sh b/scripts/upload-sentry.sh deleted file mode 100755 index 13f6f47d3..000000000 --- a/scripts/upload-sentry.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -ve - -# Build a release version of the app for a platform and upload symbols -export OUTPUT_FOLDER_WEB=./build/web/ -export SENTRY_RELEASE=$CI_COMMIT_SHA -export SENTRY_PROJECT="${SENTRY_PROJECT:-client}" -export SENTRY_ORG="${SENTRY_ORG:-pangea-chat}" - -echo "[run] Uploading sourcemaps for $SENTRY_RELEASE" -echo "[run] $SENTRY_PROJECT @ $SENTRY_ORG / $OUTPUT_FOLDER_WEB" -sentry-cli releases new $SENTRY_RELEASE --org $SENTRY_ORG -sentry-cli releases set-commits $CI_COMMIT_SHA --auto -sentry-cli releases files $SENTRY_RELEASE upload-sourcemaps . \ - --ext dart \ - --rewrite - -(cd $OUTPUT_FOLDER_WEB -sentry-cli releases files $SENTRY_RELEASE upload-sourcemaps . \ - --ext map \ - --ext js \ - --rewrite) - -sentry-cli releases finalize $SENTRY_RELEASE diff --git a/sentry.properties b/sentry.properties new file mode 100644 index 000000000..876598ba5 --- /dev/null +++ b/sentry.properties @@ -0,0 +1,6 @@ +upload_debug_symbols=true +upload_source_maps=true +upload_sources=true +wait_for_processing=false +log_level=info +commits=auto