mirror of
https://github.com/immich-app/immich.git
synced 2025-10-25 15:52:33 -04:00
* feat: improved update messaging on app bar server info * chore: message improvements * chore: failed to fetch version error message * feat: open latest release when tapping "Update" on server out of date message * fix: text alignment states * chore: code review updates * Apply suggestion from @alextran1502 Co-authored-by: Alex <alex.tran1502@gmail.com> * Apply suggestion from @alextran1502 Co-authored-by: Alex <alex.tran1502@gmail.com> * chore: lots of rework of the version checking code to be cleaner Added a semver utility class to simplify comparisons, broke the update notification logic into own widget, reworked view construction and colors. * fix: show warnign without having to tap on app bar icon * chore: colors --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
56 lines
2.0 KiB
Dart
56 lines
2.0 KiB
Dart
import 'dart:io';
|
|
|
|
const int noDbId = -9223372036854775808; // from Isar
|
|
const double downloadCompleted = -1;
|
|
const double downloadFailed = -2;
|
|
|
|
// Number of log entries to retain on app start
|
|
const int kLogTruncateLimit = 2000;
|
|
|
|
// Sync
|
|
const int kSyncEventBatchSize = 5000;
|
|
const int kFetchLocalAssetsBatchSize = 40000;
|
|
|
|
// Hash batch limits
|
|
final int kBatchHashFileLimit = Platform.isIOS ? 32 : 512;
|
|
const int kBatchHashSizeLimit = 1024 * 1024 * 1024; // 1GB
|
|
|
|
// Secure storage keys
|
|
const String kSecuredPinCode = "secured_pin_code";
|
|
|
|
// background_downloader task groups
|
|
const String kManualUploadGroup = 'manual_upload_group';
|
|
const String kBackupGroup = 'backup_group';
|
|
const String kBackupLivePhotoGroup = 'backup_live_photo_group';
|
|
const String kDownloadGroupImage = 'group_image';
|
|
const String kDownloadGroupVideo = 'group_video';
|
|
const String kDownloadGroupLivePhoto = 'group_livephoto';
|
|
|
|
// Timeline constants
|
|
const int kTimelineNoneSegmentSize = 120;
|
|
const int kTimelineAssetLoadBatchSize = 1024;
|
|
const int kTimelineAssetLoadOppositeSize = 64;
|
|
|
|
// Widget keys
|
|
const String appShareGroupId = "group.app.immich.share";
|
|
const String kWidgetAuthToken = "widget_auth_token";
|
|
const String kWidgetServerEndpoint = "widget_server_url";
|
|
const String kWidgetCustomHeaders = "widget_custom_headers";
|
|
|
|
// add widget identifiers here for new widgets
|
|
// these are used to force a widget refresh
|
|
// (iOSName, androidFQDN)
|
|
const List<(String, String)> kWidgetNames = [
|
|
('com.immich.widget.random', 'app.alextran.immich.widget.RandomReceiver'),
|
|
('com.immich.widget.memory', 'app.alextran.immich.widget.MemoryReceiver'),
|
|
];
|
|
|
|
const double kUploadStatusFailed = -1.0;
|
|
const double kUploadStatusCanceled = -2.0;
|
|
|
|
const int kMinMonthsToEnableScrubberSnap = 12;
|
|
|
|
const String kImmichAppStoreLink = "https://apps.apple.com/app/immich/id6449244941";
|
|
const String kImmichPlayStoreLink = "https://play.google.com/store/apps/details?id=app.alextran.immich";
|
|
const String kImmichLatestRelease = "https://github.com/immich-app/immich/releases/latest";
|