Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import 'package:icarus/providers/ability_provider.dart';
import 'package:icarus/providers/agent_provider.dart';
import 'package:icarus/providers/collab/cloud_media_cache_provider.dart';
import 'package:icarus/providers/collab/cloud_media_upload_queue_provider.dart';
import 'package:icarus/providers/collab/strategy_op_queue_provider.dart';
import 'package:icarus/providers/share_link_provider.dart';
import 'package:icarus/providers/folder_provider.dart';
import 'package:icarus/providers/map_provider.dart';
Expand All @@ -39,7 +40,9 @@ import 'package:icarus/providers/user_preferences_provider.dart';
import 'package:icarus/share/share_link_format.dart';
import 'package:icarus/services/app_error_reporter.dart';
import 'package:icarus/services/analytics_service.dart';
import 'package:icarus/services/cloud_sign_out_coordinator.dart';
import 'package:icarus/services/discord_presence_service.dart';
import 'package:icarus/services/guarded_sign_out.dart';
import 'package:icarus/strategy/strategy_import_export.dart';
import 'package:icarus/strategy/strategy_migrator.dart';
import 'package:icarus/strategy/strategy_models.dart';
Expand Down Expand Up @@ -113,7 +116,11 @@ Future<void> main(List<String> args) async {
() async {
WidgetsFlutterBinding.ensureInitialized();

appProviderContainer = ProviderContainer();
appProviderContainer = ProviderContainer(overrides: [
guardedSignOutRequestProvider.overrideWith(
(ref) => ref.watch(cloudSignOutRequestProvider),
),
]);
await _initializePersistedDebugLog();
_installGlobalErrorHandlers();

Expand Down Expand Up @@ -390,6 +397,7 @@ class _MyAppState extends ConsumerState<MyApp> {
void initState() {
super.initState();
ref.read(authProvider);
ref.read(strategyOpQueueProvider);
ref.read(cloudMediaUploadQueueProvider);
ref.read(cloudMediaCacheProvider);

Expand Down
5 changes: 4 additions & 1 deletion lib/providers/auth_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:icarus/const/app_navigator.dart';
import 'package:icarus/const/settings.dart';
import 'package:icarus/services/app_error_reporter.dart';
import 'package:icarus/services/guarded_sign_out.dart';
import 'package:shadcn_ui/shadcn_ui.dart';
import 'package:supabase_flutter/supabase_flutter.dart';

Expand Down Expand Up @@ -1251,7 +1252,9 @@ class AuthProvider extends Notifier<AppAuthState> {
await reinitializeConvexAuth(source: 'incident_prompt_retry');
break;
case _AuthIncidentAction.signOut:
await signOut();
if (navCtx.mounted) {
await ref.read(guardedSignOutRequestProvider)(navCtx);
}
break;
case _AuthIncidentAction.dismiss:
case null:
Expand Down
6 changes: 5 additions & 1 deletion lib/providers/collab/active_page_live_sync_models.dart
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ class ActivePageOverlayEntry {
required this.desiredSortIndex,
required this.deletion,
required this.baseRevision,
required this.baseDeleted,
required this.dirtyAt,
});

Expand All @@ -145,14 +146,16 @@ class ActivePageOverlayEntry {
final Object? desiredPayload;
final int? desiredSortIndex;
final bool deletion;
final int baseRevision;
final int? baseRevision;
final bool baseDeleted;
final DateTime dirtyAt;

ActivePageOverlayEntry copyWith({
Object? desiredPayload,
int? desiredSortIndex,
bool? deletion,
int? baseRevision,
bool? baseDeleted,
DateTime? dirtyAt,
}) {
return ActivePageOverlayEntry(
Expand All @@ -162,6 +165,7 @@ class ActivePageOverlayEntry {
desiredSortIndex: desiredSortIndex ?? this.desiredSortIndex,
deletion: deletion ?? this.deletion,
baseRevision: baseRevision ?? this.baseRevision,
baseDeleted: baseDeleted ?? this.baseDeleted,
dirtyAt: dirtyAt ?? this.dirtyAt,
);
}
Expand Down
Loading
Loading