From 35c3f7211f999af6f15b59ea95578dcffa1fd37e Mon Sep 17 00:00:00 2001 From: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Date: Fri, 9 May 2025 17:46:51 +0530 Subject: [PATCH] pragma update and WAL checkpoint feat --- .../repositories/db.repository.dart | 3 ++- .../pages/feat_in_development.page.dart | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/mobile/lib/infrastructure/repositories/db.repository.dart b/mobile/lib/infrastructure/repositories/db.repository.dart index bc5dfe376b..dd92563083 100644 --- a/mobile/lib/infrastructure/repositories/db.repository.dart +++ b/mobile/lib/infrastructure/repositories/db.repository.dart @@ -58,8 +58,9 @@ class Drift extends $Drift implements IDatabaseRepository { @override MigrationStrategy get migration => MigrationStrategy( beforeOpen: (details) async { - await customStatement('PRAGMA journal_mode = WAL'); await customStatement('PRAGMA foreign_keys = ON'); + await customStatement('PRAGMA synchronous = NORMAL'); + await customStatement('PRAGMA journal_mode = WAL'); }, ); } diff --git a/mobile/lib/presentation/pages/feat_in_development.page.dart b/mobile/lib/presentation/pages/feat_in_development.page.dart index adc7ca7fb3..98a4b0d933 100644 --- a/mobile/lib/presentation/pages/feat_in_development.page.dart +++ b/mobile/lib/presentation/pages/feat_in_development.page.dart @@ -4,18 +4,26 @@ import 'package:auto_route/auto_route.dart'; import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/providers/background_sync.provider.dart'; +import 'package:immich_mobile/providers/infrastructure/db.provider.dart'; final _features = [ - _Features( + _Feature( name: 'Sync Local', icon: Icons.photo_album_rounded, onTap: (ref) => ref.read(backgroundSyncProvider).syncLocal(), ), - _Features( + _Feature( name: 'Sync Remote', icon: Icons.refresh_rounded, onTap: (ref) => ref.read(backgroundSyncProvider).syncRemote(), ), + _Feature( + name: 'WAL Checkpoint', + icon: Icons.save_rounded, + onTap: (ref) => ref + .read(driftProvider) + .customStatement("pragma wal_checkpoint(truncate)"), + ), ]; @RoutePage() @@ -46,8 +54,8 @@ class FeatInDevPage extends StatelessWidget { } } -class _Features { - const _Features({ +class _Feature { + const _Feature({ required this.name, required this.icon, required this.onTap,