chore(deps): update Flutter and Go dependencies

This commit is contained in:
zarzet
2026-08-19 11:59:28 +07:00
parent 4b75555dd5
commit bdb10a2ae6
10 changed files with 209 additions and 114 deletions
+10 -10
View File
@@ -6,25 +6,25 @@ module github.com/zarz/spotiflac_android/go_backend
go 1.26.5
require (
github.com/dop251/goja v0.0.0-20260723142020-b4aef50fa347
github.com/dop251/goja v0.0.0-20260806115107-493f22071ef6
github.com/go-flac/flacpicture/v2 v2.0.2
github.com/go-flac/flacvorbis/v2 v2.0.2
github.com/go-flac/go-flac/v2 v2.0.4
github.com/refraction-networking/utls v1.8.2
golang.org/x/crypto v0.54.0
golang.org/x/mobile v0.0.0-20260730202154-c700fe717e6e
golang.org/x/net v0.57.0
golang.org/x/text v0.40.0
golang.org/x/crypto v0.55.0
golang.org/x/mobile v0.0.0-20260818145002-f020ddb2de58
golang.org/x/net v0.58.0
golang.org/x/text v0.41.0
)
require (
github.com/andybalholm/brotli v1.2.2 // indirect
github.com/dlclark/regexp2/v2 v2.5.2 // indirect
github.com/dlclark/regexp2/v2 v2.7.1 // indirect
github.com/go-sourcemap/sourcemap v2.1.4+incompatible // indirect
github.com/google/pprof v0.0.0-20260709232956-b9395ee17fa0 // indirect
github.com/klauspost/compress v1.19.1 // indirect
golang.org/x/mod v0.38.0 // indirect
github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3 // indirect
github.com/klauspost/compress v1.19.2 // indirect
golang.org/x/mod v0.40.0 // indirect
golang.org/x/sync v0.22.0 // indirect
golang.org/x/sys v0.47.0 // indirect
golang.org/x/tools v0.48.0 // indirect
golang.org/x/tools v0.49.0 // indirect
)
+20 -20
View File
@@ -4,10 +4,10 @@ github.com/andybalholm/brotli v1.2.2 h1:HzTuoo2ErYQqf5qvcJInB8uvqSVxRttzkFexPWtn
github.com/andybalholm/brotli v1.2.2/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dlclark/regexp2/v2 v2.5.2 h1:HAsucWRhsqcDzl6Ua9aR8JwYOTzrZyPrF0/FNxJVAI0=
github.com/dlclark/regexp2/v2 v2.5.2/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU=
github.com/dop251/goja v0.0.0-20260723142020-b4aef50fa347 h1:RZr+96+PKQjn444QL1K9MtncwJ/PwfE+3TJLCYJL8es=
github.com/dop251/goja v0.0.0-20260723142020-b4aef50fa347/go.mod h1:LiIEzozrcvNXorsG/3+ypGqdTUAqZryhzSsqi0oU/Qg=
github.com/dlclark/regexp2/v2 v2.7.1 h1:yqDtwI1ptXXvEUNpYTk2lad4jLtAcKqkzepn4savSk4=
github.com/dlclark/regexp2/v2 v2.7.1/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU=
github.com/dop251/goja v0.0.0-20260806115107-493f22071ef6 h1:Oh2rRG1un7tLlC3/NJDzKppZ4CeZGkVFJCUOTRwLpfw=
github.com/dop251/goja v0.0.0-20260806115107-493f22071ef6/go.mod h1:LiIEzozrcvNXorsG/3+ypGqdTUAqZryhzSsqi0oU/Qg=
github.com/go-flac/flacpicture/v2 v2.0.2 h1:HCaJIVZpxnpdWs6G3ECEVRelzqS5xOi1Ba1AGmtXbzE=
github.com/go-flac/flacpicture/v2 v2.0.2/go.mod h1:DMZBPWPAmdLqNhqFSy5ZBs9wyBzOekXutGfP7/TFCuo=
github.com/go-flac/flacvorbis/v2 v2.0.2 h1:xCL3OhxrxWkHrbWUBvGNe+6FQ03yLmBbz0v5z4V2PoQ=
@@ -20,10 +20,10 @@ github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM=
github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/pprof v0.0.0-20260709232956-b9395ee17fa0 h1:du0WGc8xSKq/++e0cglxhS/mXVqsR7+c7jLEi5Vqduw=
github.com/google/pprof v0.0.0-20260709232956-b9395ee17fa0/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI=
github.com/klauspost/compress v1.19.1 h1:VsB4HPswih7mmZ8WleSFQ75c/Ui1M4trX5oAsJnhSlk=
github.com/klauspost/compress v1.19.1/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ=
github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3 h1:LMLX+LgTNWpfvCBdFebv6EsYotImrt/Ppc5cXIriCSo=
github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3/go.mod h1:jl5iWTm0/hd5PjEYEOuwAJ57L/CibdZfrqZ5XA5GrCk=
github.com/klauspost/compress v1.19.2 h1:hMRETovs/pu/dVWN7zIT1PGG8t509MwT6bO7XSi26R8=
github.com/klauspost/compress v1.19.2/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/refraction-networking/utls v1.8.2 h1:j4Q1gJj0xngdeH+Ox/qND11aEfhpgoEvV+S9iJ2IdQo=
@@ -32,21 +32,21 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw=
golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk=
golang.org/x/mobile v0.0.0-20260730202154-c700fe717e6e h1:v5PGTbI7uer7FhpDeGryGytfbI8t7CDWkKukozvIsNU=
golang.org/x/mobile v0.0.0-20260730202154-c700fe717e6e/go.mod h1:YX+n47s+53POxN3dx9cIGxG3hGUm/lD64hvrRJFbcSA=
golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk=
golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40=
golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE=
golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU=
golang.org/x/crypto v0.55.0 h1:+KWHjbgOaAQ66dh/YlkZKHlz9ZUlq61AFirAR9ntP8M=
golang.org/x/crypto v0.55.0/go.mod h1:uq0V9dE/fzQuJtbnL+2EhWOE63vo164FY8xqEnV9xis=
golang.org/x/mobile v0.0.0-20260818145002-f020ddb2de58 h1:Ka3QB8ttuiqyuUvt2VJ2B0llDuKpshFzLn+bk97+X4M=
golang.org/x/mobile v0.0.0-20260818145002-f020ddb2de58/go.mod h1:jMwjxoDSx9jqhNaZqPnr6nnKzb7cs+Dy1Czk7wdX+R8=
golang.org/x/mod v0.40.0 h1:hUv+3cXcdRHz08UmSiOob7sadHig73uo5bkXxQ/tvUs=
golang.org/x/mod v0.40.0/go.mod h1:0/weTWkPWGBikyTWAX3dkjVztMmBA5hM0DH6BElSupE=
golang.org/x/net v0.58.0 h1:ynWG7rqYi4ccpTEuPZ2QGWHktVEM9DMCj9yzDE0Q7To=
golang.org/x/net v0.58.0/go.mod h1:YwCddHnFlT7eLQqVprV19OnhLGtc5xOKgE0RyqgfWAU=
golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs=
golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY=
golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE=
golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk=
golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=
golang.org/x/tools v0.49.0 h1:3NI7VXzL9+1WZD52Dx2ttoPwD5DWrFGpl9mFZDlmisI=
golang.org/x/tools v0.49.0/go.mod h1:SJNXV9DBKT0UbdttsQjbfJlAE/q+y36++zo3uL3N0Oo=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+33 -5
View File
@@ -2,6 +2,7 @@ import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:path/path.dart' as p;
import 'package:spotiflac_android/widgets/collection_scaffold.dart';
import 'package:spotiflac_android/theme/app_tokens.dart';
import 'package:spotiflac_android/widgets/track_card.dart';
@@ -463,12 +464,39 @@ class _LibraryTracksFolderScreenState
final picked = await FilePicker.pickFile(type: FileType.image);
if (picked == null) return;
final path = picked.path;
if (path == null || path.isEmpty) return;
Directory? materializedDir;
try {
var sourcePath = picked.path;
if (sourcePath == null || sourcePath.isEmpty) {
materializedDir = await Directory.systemTemp.createTemp(
'spotiflac_playlist_cover_',
);
final pickedExtension = p.extension(picked.name);
final materializedFile = File(
p.join(
materializedDir.path,
'selected_cover${pickedExtension.isEmpty ? '.img' : pickedExtension}',
),
);
await materializedFile.writeAsBytes(
await picked.readAsBytes(),
flush: true,
);
sourcePath = materializedFile.path;
}
await ref
.read(libraryCollectionsProvider.notifier)
.setPlaylistCover(playlistId, path);
await ref
.read(libraryCollectionsProvider.notifier)
.setPlaylistCover(playlistId, sourcePath);
} finally {
try {
if (materializedDir != null && await materializedDir.exists()) {
await materializedDir.delete(recursive: true);
}
} catch (_) {
// The cover has already been normalized into app storage.
}
}
}
Future<void> _removeCoverImage() async {
@@ -1,4 +1,4 @@
import 'dart:io';
import 'dart:convert';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
@@ -76,13 +76,12 @@ class _BackupRestorePageState extends ConsumerState<BackupRestorePage> {
String? content;
try {
final result = await FilePicker.pickFiles(
final picked = await FilePicker.pickFile(
type: FileType.custom,
allowedExtensions: ['json', BackupService.fileExtension],
);
final path = result?.files.single.path;
if (path == null) return;
content = await File(path).readAsString();
if (picked == null) return;
content = utf8.decode(await picked.readAsBytes());
} catch (e) {
_log.e('Failed to read backup file: $e');
messenger.showSnackBar(SnackBar(content: Text(l10n.backupInvalidFile)));
+45 -17
View File
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:spotiflac_android/widgets/extension_row.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:file_picker/file_picker.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
import 'package:spotiflac_android/l10n/l10n.dart';
import 'package:spotiflac_android/models/settings.dart';
@@ -217,26 +218,45 @@ class _ExtensionsPageState extends ConsumerState<ExtensionsPage> {
}
Future<void> _installExtension() async {
final result = await FilePicker.pickFiles(type: FileType.any);
final selectedFiles = await FilePicker.pickFiles(type: FileType.any);
if (selectedFiles.isEmpty) return;
if (result != null && result.files.isNotEmpty) {
final selectedPaths = result.files
.map((file) => file.path)
.whereType<String>()
.toList();
final extensionPaths = selectedPaths.where((path) {
final lowerPath = path.toLowerCase();
return lowerPath.endsWith('.spotiflac-ext') ||
lowerPath.endsWith('.sflx');
}).toList();
final hasInvalidFile = selectedFiles.any((file) {
final lowerName = file.name.toLowerCase();
return !lowerName.endsWith('.spotiflac-ext') &&
!lowerName.endsWith('.sflx');
});
if (hasInvalidFile) {
if (mounted) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(context.l10n.snackbarSelectExtFile)),
);
}
return;
}
if (extensionPaths.length != selectedPaths.length) {
if (mounted) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(context.l10n.snackbarSelectExtFile)),
);
Directory? materializedDir;
try {
final extensionPaths = <String>[];
for (final selectedFile in selectedFiles) {
final localPath = selectedFile.path;
if (localPath != null && localPath.isNotEmpty) {
extensionPaths.add(localPath);
continue;
}
return;
materializedDir ??= await Directory.systemTemp.createTemp(
'spotiflac_extension_import_',
);
final safeName = p.basename(selectedFile.name);
final materializedFile = File(
p.join(materializedDir.path, '${extensionPaths.length}_$safeName'),
);
await materializedFile.writeAsBytes(
await selectedFile.readAsBytes(),
flush: true,
);
extensionPaths.add(materializedFile.path);
}
final installResult = await ref
@@ -251,6 +271,14 @@ class _ExtensionsPageState extends ConsumerState<ExtensionsPage> {
context,
).showSnackBar(SnackBar(content: Text(message)));
}
} finally {
try {
if (materializedDir != null && await materializedDir.exists()) {
await materializedDir.delete(recursive: true);
}
} catch (_) {
// The extension has already been copied into app storage.
}
}
}
+3 -3
View File
@@ -746,13 +746,13 @@ class _EditMetadataSheetState extends State<_EditMetadataSheet> {
if (picked == null) return;
final sourcePath = picked.path;
final pickedExtension = p.extension(picked.name).replaceFirst('.', '');
Uint8List? bytes;
final needsByteFallback =
!_hasValue(sourcePath) && !_hasValue(picked.extension);
final needsByteFallback = !_hasValue(sourcePath);
if (needsByteFallback) {
bytes = await picked.readAsBytes();
}
final extension = _resolveImageExtension(picked.extension, bytes);
final extension = _resolveImageExtension(pickedExtension, bytes);
final tempDir = await Directory.systemTemp.createTemp('edit_cover_');
final tempPath =
+1
View File
@@ -6,6 +6,7 @@ import 'package:spotiflac_android/widgets/app_bottom_sheet.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:file_picker/file_picker.dart';
import 'package:path/path.dart' as p;
import 'package:spotiflac_android/services/conversion_library_service.dart';
import 'package:spotiflac_android/services/library_database.dart';
import 'package:spotiflac_android/utils/file_access.dart';
+5 -6
View File
@@ -1,4 +1,4 @@
import 'dart:io';
import 'dart:convert';
import 'package:file_picker/file_picker.dart';
import 'package:path/path.dart' as p;
import 'package:spotiflac_android/models/track.dart';
@@ -14,15 +14,14 @@ class CsvImportService {
void Function(int current, int total)? onProgress,
}) async {
try {
final FilePickerResult? result = await FilePicker.pickFiles(
final picked = await FilePicker.pickFile(
type: FileType.custom,
allowedExtensions: ['csv', 'm3u', 'm3u8'],
);
if (result != null && result.files.single.path != null) {
final file = File(result.files.single.path!);
final content = await file.readAsString();
final extension = p.extension(file.path).toLowerCase();
if (picked != null) {
final content = utf8.decode(await picked.readAsBytes());
final extension = p.extension(picked.name).toLowerCase();
final tracks = (extension == '.m3u' || extension == '.m3u8')
? M3uPlaylistService.parseM3u(content)
: _parseCsv(content);
+86 -46
View File
@@ -41,14 +41,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.14.8"
android_file_picker:
dependency: transitive
description:
name: android_file_picker
sha256: "665a5a57dfca27f91a715d300e4852a784f9f98e503dcff281bec9afb55767be"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
archive:
dependency: transitive
description:
name: archive
sha256: a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff
sha256: be169cf6ac481e052c4538715d88841d567150dfe1df38aaec76461a4e7b39f2
url: "https://pub.dev"
source: hosted
version: "4.0.9"
version: "4.1.0"
args:
dependency: transitive
description:
@@ -181,10 +189,10 @@ packages:
dependency: transitive
description:
name: build_daemon
sha256: "8c0535c3b2f625619f4dd1036ef1127f2e77bfedf89ed2eb2676ef076e0b6712"
sha256: "79e05eaf15a48d7230b053a4363b8eaac0cc234bbd0134c3229455481f55cbc6"
url: "https://pub.dev"
source: hosted
version: "4.1.3"
version: "4.1.5"
build_runner:
dependency: "direct dev"
description:
@@ -205,10 +213,10 @@ packages:
dependency: transitive
description:
name: built_value
sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56"
sha256: "31b24be6615ec7fcf70b3aa5a7469fe35826485e639a16dd7eb83ba30e4cc6a8"
url: "https://pub.dev"
source: hosted
version: "8.12.6"
version: "8.12.7"
cached_network_image:
dependency: "direct main"
description:
@@ -381,10 +389,10 @@ packages:
dependency: "direct main"
description:
name: dynamic_color
sha256: "43a5a6679649a7731ab860334a5812f2067c2d9ce6452cf069c5e0c25336c17c"
sha256: "4aeb76de323e8eb660bab5557d826ad7ebbf1434a598f0c6aa8a11a9696a6757"
url: "https://pub.dev"
source: hosted
version: "1.8.1"
version: "1.9.0"
fake_async:
dependency: transitive
description:
@@ -437,10 +445,42 @@ packages:
dependency: "direct main"
description:
name: file_picker
sha256: fdc6a37f715d19f35b131decf1ce39242eeed5ddae18c0818c3eccb731ab76be
sha256: afbaa8015d9efabd224f41084ed9fdeddfa65389ebd7cd3a9eb1476aca66b46d
url: "https://pub.dev"
source: hosted
version: "12.0.0-beta.7"
version: "12.0.0"
file_picker_darwin:
dependency: transitive
description:
name: file_picker_darwin
sha256: "5d87d156c1d63920447a662b7117d3498c67e3444a44d2cb01ed955d6efa62ef"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
file_picker_linux:
dependency: transitive
description:
name: file_picker_linux
sha256: "93d3f62f97c657053e7b184fe0f5e22347d85067c053640a30b1ac8ad7844e3b"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
file_picker_platform_interface:
dependency: transitive
description:
name: file_picker_platform_interface
sha256: "9e7a7e01e179929241f0afeb2c8c69ac95e29e17c0abea36ed193881c6bef90c"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
file_picker_web:
dependency: transitive
description:
name: file_picker_web
sha256: f1af38b3c91fafe0ca97f659b5c6818a057473ef09bb8b722f9f3f5364aa7eed
url: "https://pub.dev"
source: hosted
version: "3.0.1"
fixnum:
dependency: transitive
description:
@@ -482,10 +522,10 @@ packages:
dependency: "direct main"
description:
name: flutter_local_notifications
sha256: "9375211fd7df9c070504ac4db7047c7fae857e238291433b770cfe696b5c357a"
sha256: "1447ba911c60f2ba3f25dae1af151ec187162566b0f57e37771bf0b400f013ad"
url: "https://pub.dev"
source: hosted
version: "22.2.0"
version: "22.3.0"
flutter_local_notifications_linux:
dependency: transitive
description:
@@ -498,10 +538,10 @@ packages:
dependency: transitive
description:
name: flutter_local_notifications_platform_interface
sha256: "945a438a4779f3aca3a948718d8a4048cbe9f9c8c797492c00abd5d39112bf37"
sha256: "43c3761d916c9bd3d5c7ebbc44d82f4990329840c0c5d62ad5260cc1b5d399bd"
url: "https://pub.dev"
source: hosted
version: "12.1.0"
version: "12.2.0"
flutter_local_notifications_web:
dependency: transitive
description:
@@ -523,14 +563,6 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: "3854fe5e3bff0b113c658f260b90c95dea17c92db0f2addeac2e343dd9969785"
url: "https://pub.dev"
source: hosted
version: "2.0.35"
flutter_riverpod:
dependency: "direct main"
description:
@@ -543,34 +575,34 @@ packages:
dependency: "direct main"
description:
name: flutter_secure_storage
sha256: "7686b1d6a29985dcbb808c59518226e603e3bfa7c0ddfd1a0d00e4cda77c868e"
sha256: "15e8c8fe269fdf7d469b23008ab3df521c8b826ed345820532364c31bdebace6"
url: "https://pub.dev"
source: hosted
version: "10.3.1"
version: "11.0.0"
flutter_secure_storage_darwin:
dependency: transitive
description:
name: flutter_secure_storage_darwin
sha256: "82329fa5cdf343773b1b6897dea959105a29f092454259edff92f9f6637e8149"
sha256: ac6d76a752de0cd738334eb4b21743fc4943f449f5b6e308f18838b048c02ac0
url: "https://pub.dev"
source: hosted
version: "0.3.2"
version: "0.4.0"
flutter_secure_storage_linux:
dependency: transitive
description:
name: flutter_secure_storage_linux
sha256: a5f35ddab43cf5c8215d2feb4ce1957851f28c5c37e6f04335066a0602087bf5
sha256: "76fa9c841b3b1619fc5b5bc36efc7d158fa2356f223b6caeb1d0c80a54168546"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.0.2"
flutter_secure_storage_platform_interface:
dependency: transitive
description:
name: flutter_secure_storage_platform_interface
sha256: "06686df417f34fe9f963ed217b7fdce250e2f637ddd6c374d7eb054549770633"
sha256: "788060052712555182aba55ecb5f8b6e5cb9cfe8f776c83249a61fe3ce877db4"
url: "https://pub.dev"
source: hosted
version: "2.0.2"
version: "2.0.3"
flutter_secure_storage_web:
dependency: transitive
description:
@@ -625,10 +657,10 @@ packages:
dependency: "direct main"
description:
name: go_router
sha256: "5922b2861e2235a3504896f0d6fa07d84141b480cf52eecd2f42cd25585a9e8a"
sha256: d7a3576cb312649eaa51f2356450aed686085fb58fcdebda5b359aa951eef7ea
url: "https://pub.dev"
source: hosted
version: "17.3.0"
version: "17.5.0"
graphs:
dependency: transitive
description:
@@ -681,10 +713,10 @@ packages:
dependency: transitive
description:
name: image
sha256: "6300175e00616bbc832e2fc91bfa4d776af5402c81c7151bee6905bb08473c52"
sha256: "1976370a4df3091bb0f72409c187ad1f9132a818bc6b95ca59c0bae1c75c688e"
url: "https://pub.dev"
source: hosted
version: "4.9.1"
version: "4.9.2"
intl:
dependency: "direct main"
description:
@@ -937,10 +969,10 @@ packages:
dependency: "direct main"
description:
name: permission_handler
sha256: "06149cba29bc46206f8b54b56065fe74b07602d2454a281287685ae66b5ab7b5"
sha256: e7317eb2eb611d1bf0386b6b974be9c50449f975f19a90a7b8ea013550302b30
url: "https://pub.dev"
source: hosted
version: "13.0.0"
version: "13.0.1"
permission_handler_android:
dependency: transitive
description:
@@ -953,10 +985,10 @@ packages:
dependency: transitive
description:
name: permission_handler_apple
sha256: "11b7e94a9d2fbee23c27f0cae0105c6266c03fd83b9a2eda6cf09141fc82624b"
sha256: f49cb15a064ea9d974fc7fbb302099353b7b170d07284e86e264561579e5bcf8
url: "https://pub.dev"
source: hosted
version: "9.5.0"
version: "9.6.1"
permission_handler_html:
dependency: transitive
description:
@@ -1318,10 +1350,10 @@ packages:
dependency: transitive
description:
name: synchronized
sha256: "61894a1956de6b4fc1aefd0892e109514a1a706cbece3ac59decd90ff5a7a423"
sha256: "3a7b5d17422dd0f8d5c6c14feaa5a1c65638b9455f871a96f08437562c046931"
url: "https://pub.dev"
source: hosted
version: "3.4.1+1"
version: "3.4.1+2"
term_glyph:
dependency: transitive
description:
@@ -1454,10 +1486,10 @@ packages:
dependency: "direct main"
description:
name: video_player
sha256: "20ef311160e2ced020a62f38e4cc399a1bf289e722fc5fe37c9d7b18e44c9e8d"
sha256: "8c837b570dccb9ae6ff73d2e0b03c7e708bfefd3bd1194faa7f3e7f200dfc399"
url: "https://pub.dev"
source: hosted
version: "2.13.0"
version: "2.14.0"
video_player_android:
dependency: transitive
description:
@@ -1494,10 +1526,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "0016aef94fc66495ac78af5859181e3f3bf2026bd8eecc72b9565601e19ab360"
sha256: "5f37239c4851efcef929cea7824e76df7f2f0970aef85d66bbc430afa40e72f0"
url: "https://pub.dev"
source: hosted
version: "15.2.0"
version: "15.3.0"
watcher:
dependency: transitive
description:
@@ -1542,10 +1574,10 @@ packages:
dependency: transitive
description:
name: win32
sha256: ba6f4bba816c8d7e3c1580e170f3786d216951cc6b94babc3b814c08d2cb2738
sha256: a0b93865d5644f11cf6a8c3f6db909f1ec168958b5805f6cc684adea957cd63d
url: "https://pub.dev"
source: hosted
version: "6.3.0"
version: "6.4.0"
win32_registry:
dependency: transitive
description:
@@ -1554,6 +1586,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.3"
windows_file_picker:
dependency: transitive
description:
name: windows_file_picker
sha256: "72cf23466e146f2c0f19e1d78be97ff6409dc15b0c090f8eb284f94f4a33de26"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
xdg_directories:
dependency: transitive
description:
+2 -2
View File
@@ -23,7 +23,7 @@ dependencies:
# Storage & Persistence
shared_preferences: ^2.5.5
flutter_secure_storage: ^10.3.1
flutter_secure_storage: ^11.0.0
path_provider: ^2.1.6
path: ^1.9.1
sqflite: ^2.4.3
@@ -43,7 +43,7 @@ dependencies:
permission_handler: ^13.0.0
# File Picker
file_picker: 12.0.0-beta.7
file_picker: ^12.0.0
# JSON Serialization
json_annotation: ^4.12.0