Merge branch 'main' into sentry-fixes
This commit is contained in:
commit
b298afd5cf
24 changed files with 195 additions and 120 deletions
53
.github/workflows/main_deploy.yaml
vendored
53
.github/workflows/main_deploy.yaml
vendored
|
|
@ -6,11 +6,10 @@ on:
|
|||
- main
|
||||
|
||||
env:
|
||||
# Setting an environment variable with the value of a configuration variable
|
||||
WEB_APP_ENV: ${{ vars.WEB_APP_ENV }}
|
||||
|
||||
jobs:
|
||||
deploy_web:
|
||||
build_web:
|
||||
runs-on: ubuntu-latest
|
||||
environment: staging
|
||||
steps:
|
||||
|
|
@ -27,7 +26,23 @@ jobs:
|
|||
run: ./scripts/prepare-web.sh
|
||||
- name: Build Release Web
|
||||
run: ./scripts/build-web.sh
|
||||
- name: Build Website
|
||||
- name: Upload files
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: web
|
||||
path: build/web
|
||||
|
||||
deploy_web:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build_web
|
||||
environment: staging
|
||||
steps:
|
||||
- name: Download web
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: web
|
||||
path: build/web
|
||||
- name: Update Website files
|
||||
run: |
|
||||
mv build/web public
|
||||
touch public/.env
|
||||
|
|
@ -39,21 +54,27 @@ jobs:
|
|||
personal_token: ${{ secrets.PAGES_DEPLOY_TOKEN }}
|
||||
publish_dir: ./public
|
||||
publish_branch: gh-pages
|
||||
# cname: app.staging.pangea.chat
|
||||
cname: app.staging.pangea.chat
|
||||
|
||||
update_sentry:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build_web
|
||||
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 }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
- name: Download web
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Create Sentry release
|
||||
uses: getsentry/action-release@v1
|
||||
env:
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
||||
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
|
||||
# SENTRY_URL: https://sentry.io/
|
||||
with:
|
||||
environment: staging
|
||||
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
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import 'dart:ui';
|
||||
|
||||
import 'package:fluffychat/pangea/config/environment.dart';
|
||||
// Project imports:
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/config/environment.dart';
|
||||
|
||||
abstract class AppConfig {
|
||||
// #Pangea
|
||||
// static String _applicationName = 'FluffyChat';
|
||||
|
|
|
|||
|
|
@ -108,6 +108,16 @@ abstract class AppRoutes {
|
|||
const LogViewer(),
|
||||
),
|
||||
),
|
||||
// #Pangea
|
||||
GoRoute(
|
||||
path: '/user_age',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
const PUserAge(),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
),
|
||||
// Pangea#
|
||||
ShellRoute(
|
||||
pageBuilder: (context, state, child) => defaultPageBuilder(
|
||||
context,
|
||||
|
|
@ -159,14 +169,6 @@ abstract class AppRoutes {
|
|||
),
|
||||
routes: [
|
||||
// #Pangea
|
||||
GoRoute(
|
||||
path: 'user_age',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
const PUserAge(),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'mylearning',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
|
|
|
|||
|
|
@ -1,3 +1,10 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pages/chat_details/chat_details.dart';
|
||||
import 'package:fluffychat/pages/chat_details/participant_list_item.dart';
|
||||
|
|
@ -19,11 +26,6 @@ import 'package:fluffychat/widgets/avatar.dart';
|
|||
import 'package:fluffychat/widgets/chat_settings_popup_menu.dart';
|
||||
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
class ChatDetailsView extends StatelessWidget {
|
||||
final ChatDetailsController controller;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,19 @@
|
|||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
// Project imports:
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||
import 'package:uni_links/uni_links.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/config/themes.dart';
|
||||
import 'package:fluffychat/pages/chat_list/chat_list_view.dart';
|
||||
|
|
@ -19,18 +29,6 @@ import 'package:fluffychat/utils/localized_exception_extension.dart';
|
|||
import 'package:fluffychat/utils/matrix_sdk_extensions/client_stories_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
import 'package:fluffychat/utils/tor_stub.dart'
|
||||
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||
import 'package:uni_links/uni_links.dart';
|
||||
|
||||
import '../../../utils/account_bundles.dart';
|
||||
import '../../utils/matrix_sdk_extensions/matrix_file_extension.dart';
|
||||
import '../../utils/url_launcher.dart';
|
||||
|
|
@ -38,6 +36,9 @@ import '../../utils/voip/callkeep_manager.dart';
|
|||
import '../../widgets/fluffy_chat_app.dart';
|
||||
import '../../widgets/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/utils/tor_stub.dart'
|
||||
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
|
||||
|
||||
enum SelectMode {
|
||||
normal,
|
||||
share,
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
// Flutter imports:
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/utils/password_forgotten.dart';
|
||||
import 'package:fluffychat/widgets/layouts/login_scaffold.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
import 'login.dart';
|
||||
|
||||
class LoginView extends StatelessWidget {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,15 @@
|
|||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:http/http.dart';
|
||||
import 'package:purchases_flutter/purchases_flutter.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/constants/local.key.dart';
|
||||
import 'package:fluffychat/pangea/controllers/base_controller.dart';
|
||||
|
|
@ -15,12 +23,6 @@ import 'package:fluffychat/pangea/utils/error_handler.dart';
|
|||
import 'package:fluffychat/pangea/utils/firebase_analytics.dart';
|
||||
import 'package:fluffychat/pangea/widgets/subscription/subscription_paywall.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:http/http.dart';
|
||||
import 'package:purchases_flutter/purchases_flutter.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
||||
class SubscriptionController extends BaseController {
|
||||
late PangeaController _pangeaController;
|
||||
|
|
|
|||
|
|
@ -2,15 +2,14 @@ import 'dart:async';
|
|||
import 'dart:developer';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:jwt_decode/jwt_decode.dart';
|
||||
import 'package:matrix/matrix.dart' as matrix;
|
||||
|
||||
import 'package:fluffychat/pangea/constants/language_keys.dart';
|
||||
import 'package:fluffychat/pangea/constants/model_keys.dart';
|
||||
import 'package:fluffychat/pangea/controllers/base_controller.dart';
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/widgets/fluffy_chat_app.dart';
|
||||
// Project imports:
|
||||
import 'package:jwt_decode/jwt_decode.dart';
|
||||
import 'package:matrix/matrix.dart' as matrix;
|
||||
|
||||
import '../constants/local.key.dart';
|
||||
import '../models/user_model.dart';
|
||||
import '../repo/user_repo.dart';
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class PAuthGaurd {
|
|||
final bool setDob = await pController!
|
||||
.userController.isUserDataAvailableAndDateOfBirthSet;
|
||||
if (Matrix.of(context).client.isLogged()) {
|
||||
return !setDob ? '/rooms/user_age' : '/rooms';
|
||||
return !setDob ? '/user_age' : '/rooms';
|
||||
}
|
||||
return null;
|
||||
} else {
|
||||
|
|
@ -39,7 +39,7 @@ class PAuthGaurd {
|
|||
return !Matrix.of(context).client.isLogged()
|
||||
? '/home'
|
||||
: !setDob
|
||||
? '/rooms/user_age'
|
||||
? '/user_age'
|
||||
: null;
|
||||
} else {
|
||||
debugPrint("controller is null in pguard check");
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
// Project imports:
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import 'dart:io';
|
||||
|
||||
// Package imports:
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:purchases_flutter/purchases_flutter.dart';
|
||||
import 'package:sentry_flutter/sentry_flutter.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/config/environment.dart';
|
||||
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
|
||||
import 'package:fluffychat/pangea/models/base_subscription_info.dart';
|
||||
import 'package:fluffychat/pangea/utils/error_handler.dart';
|
||||
// Project imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:purchases_flutter/purchases_flutter.dart';
|
||||
import 'package:sentry_flutter/sentry_flutter.dart';
|
||||
|
||||
class MobileSubscriptionInfo extends SubscriptionInfo {
|
||||
MobileSubscriptionInfo({required super.pangeaController}) : super();
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
import 'dart:developer';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
import 'package:fluffychat/config/themes.dart';
|
||||
import 'package:fluffychat/pangea/pages/analytics/bar_chart_placeholder_data.dart';
|
||||
import 'package:fluffychat/pangea/utils/error_handler.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
import '../../enum/time_span.dart';
|
||||
import '../../enum/use_type.dart';
|
||||
import '../../models/chart_analytics_model.dart';
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:syncfusion_flutter_datepicker/datepicker.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/pages/p_user_age/p_user_age.dart';
|
||||
import '../../../widgets/layouts/login_scaffold.dart';
|
||||
|
|
@ -12,7 +13,6 @@ class PUserAgeView extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
controller.dobController.text = "";
|
||||
return LoginScaffold(
|
||||
appBar: AppBar(
|
||||
automaticallyImplyLeading: !controller.loading,
|
||||
|
|
@ -45,21 +45,52 @@ class PUserAgeView extends StatelessWidget {
|
|||
controller.loading ? null : [AutofillHints.birthday],
|
||||
validator: controller.dobFieldValidator,
|
||||
onTap: () async {
|
||||
final DateTime? pickedDate = await showDatePicker(
|
||||
initialDatePickerMode: DatePickerMode.year,
|
||||
showDialog(
|
||||
context: context,
|
||||
initialDate: controller.initialDate,
|
||||
firstDate: DateTime(1940),
|
||||
lastDate: DateTime.now(),
|
||||
builder: (BuildContext context) {
|
||||
return Center(
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(25),
|
||||
color: Theme.of(context).colorScheme.background,
|
||||
),
|
||||
padding: const EdgeInsets.all(12),
|
||||
// height: 350,
|
||||
width: 500,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: <Widget>[
|
||||
Card(
|
||||
child: SfDateRangePicker(
|
||||
view: DateRangePickerView.month,
|
||||
showNavigationArrow: true,
|
||||
showActionButtons: true,
|
||||
selectionMode:
|
||||
DateRangePickerSelectionMode.single,
|
||||
initialDisplayDate: controller.initialDate,
|
||||
initialSelectedDate: controller.initialDate,
|
||||
onSubmit: (val) {
|
||||
final DateTime? pickedDate =
|
||||
val as DateTime?;
|
||||
if (pickedDate != null) {
|
||||
controller.dobController.text =
|
||||
DateFormat.yMd().format(pickedDate);
|
||||
controller.error = null;
|
||||
} else {
|
||||
controller.error =
|
||||
L10n.of(context)!.invalidDob;
|
||||
}
|
||||
Navigator.pop(context);
|
||||
},
|
||||
onCancel: () => Navigator.pop(context),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
if (pickedDate != null) {
|
||||
controller.dobController.text =
|
||||
DateFormat.yMd().format(pickedDate);
|
||||
controller.error = null;
|
||||
} else {
|
||||
controller.error = L10n.of(context)!.invalidDob;
|
||||
}
|
||||
},
|
||||
// onChanged: (String newValue) {
|
||||
// try {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
import 'dart:async';
|
||||
|
||||
// Project imports:
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/config/environment.dart';
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
|
|
@ -9,11 +13,6 @@ import 'package:fluffychat/pangea/pages/settings_subscription/settings_subscript
|
|||
import 'package:fluffychat/pangea/utils/subscription_app_id.dart';
|
||||
import 'package:fluffychat/pangea/widgets/subscription/subscription_snackbar.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
// Project imports:
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
// Package imports:
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
|
||||
class SubscriptionManagement extends StatefulWidget {
|
||||
const SubscriptionManagement({super.key});
|
||||
|
|
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
// Flutter imports:
|
||||
// Project imports:
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
|
||||
import 'package:fluffychat/pangea/pages/settings_subscription/change_subscription.dart';
|
||||
import 'package:fluffychat/pangea/pages/settings_subscription/settings_subscription.dart';
|
||||
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class SettingsSubscriptionView extends StatelessWidget {
|
||||
final SubscriptionManagementController controller;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
import 'package:collection/collection.dart';
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
|
||||
import 'package:fluffychat/pangea/utils/error_handler.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
|
||||
import 'package:fluffychat/pangea/utils/error_handler.dart';
|
||||
import '../../../widgets/matrix.dart';
|
||||
import '../../utils/firebase_analytics.dart';
|
||||
import 'add_class_and_invite.dart';
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
// Flutter imports:
|
||||
// Project imports:
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/pangea/controllers/subscription_controller.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
// Package imports:
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
class SubscriptionOptions extends StatelessWidget {
|
||||
final PangeaController pangeaController;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
// Flutter imports:
|
||||
// Project imports:
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/controllers/pangea_controller.dart';
|
||||
import 'package:fluffychat/pangea/widgets/subscription/subscription_options.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
||||
class SubscriptionPaywall extends StatelessWidget {
|
||||
final PangeaController pangeaController;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
|
||||
void showSubscribedSnackbar(BuildContext context) {
|
||||
final Widget text = RichText(
|
||||
text: TextSpan(
|
||||
|
|
|
|||
|
|
@ -353,7 +353,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
|
|||
routeDestination = await pangeaController
|
||||
.userController.isUserDataAvailableAndDateOfBirthSet
|
||||
? '/rooms'
|
||||
: "/rooms/user_age";
|
||||
: "/user_age";
|
||||
} else {
|
||||
routeDestination = '/home';
|
||||
}
|
||||
|
|
|
|||
20
pubspec.lock
20
pubspec.lock
|
|
@ -2047,26 +2047,34 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: syncfusion_flutter_core
|
||||
sha256: "9f0a4593f7642b2f106e329734d0e5fc746baf8d0a59495eec586cd0d9ba7d02"
|
||||
sha256: a2427697bfad5b611db78ea4c4daef82d3350b83c729a8dc37959662a31547f9
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "22.2.12"
|
||||
version: "23.2.7"
|
||||
syncfusion_flutter_datepicker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: syncfusion_flutter_datepicker
|
||||
sha256: b3340a7786f674d18bd22c226358648985e7631734dfc4aae09fdcfb71c09156
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "23.2.7"
|
||||
syncfusion_flutter_xlsio:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: syncfusion_flutter_xlsio
|
||||
sha256: "66b009fce91e10cfa5d9b3cdf2c4aa3fdf7430dab159626f4c67297638da2caf"
|
||||
sha256: "84c771ce3684820e930d27604e801991efaa0e7a72ee1df4ba4c843258f16285"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "22.2.12"
|
||||
version: "23.2.7"
|
||||
syncfusion_officecore:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: syncfusion_officecore
|
||||
sha256: "66d0a0faba40f043bba4ef102474213d3145ffeca2b3f2351a98c0cc10079c27"
|
||||
sha256: a037c8a72748332ba28723eaed2fd1656b9acdaf03c23c6a08e87f7c31dbed18
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "22.2.12"
|
||||
version: "23.2.7"
|
||||
synchronized:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -99,7 +99,8 @@ dependencies:
|
|||
shared_preferences: ^2.2.0 # Pinned because https://github.com/flutter/flutter/issues/118401
|
||||
slugify: ^2.0.0
|
||||
swipe_to_action: ^0.2.0
|
||||
syncfusion_flutter_xlsio: ^22.2.9
|
||||
syncfusion_flutter_datepicker: ^23.2.7
|
||||
syncfusion_flutter_xlsio: ^23.2.7
|
||||
tor_detector_web: ^1.1.0
|
||||
uni_links: ^0.5.1
|
||||
unifiedpush: ^5.0.1
|
||||
|
|
|
|||
|
|
@ -2,5 +2,4 @@
|
|||
flutter config --enable-web
|
||||
flutter clean
|
||||
flutter pub get
|
||||
flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --profile --source-maps --base-href "/client/"
|
||||
# flutter build web --release --verbose --source-maps --dart-define=SENTRY_RELEASE=$CI_COMMIT_SHA
|
||||
flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --profile --source-maps
|
||||
|
|
@ -1,13 +1,14 @@
|
|||
#!/bin/sh -ve
|
||||
|
||||
# Build a release version of the app for a platform and upload symbols
|
||||
OUTPUT_FOLDER_WEB=./build/web/
|
||||
SENTRY_RELEASE=$CI_COMMIT_SHA
|
||||
SENTRY_PROJECT="client"
|
||||
SENTRY_ORG="pangea-chat"
|
||||
export OUTPUT_FOLDER_WEB=./build/web/
|
||||
export SENTRY_RELEASE=$CI_COMMIT_SHA
|
||||
export SENTRY_PROJECT="${SENTRY_ORG:-client}"
|
||||
export SENTRY_ORG="${SENTRY_ORG:-pangea-chat}"
|
||||
|
||||
echo "[run] Uploading sourcemaps for $SENTRY_RELEASE"
|
||||
sentry-cli releases new $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 \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue