Skip to content

Commit c27d40f

Browse files
committed
Update dependencies and improve live list handling
Upgraded several Dart and Flutter package dependencies for networking, database, and utilities. Removed unnecessary type casting in ParseLiveList event handling and improved logic for updating items in live grid and list widgets.
1 parent d58166f commit c27d40f

8 files changed

Lines changed: 17 additions & 20 deletions

packages/dart/pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ environment:
2323

2424
dependencies:
2525
# Networking
26-
dio: ^5.7.0
27-
http: ^1.2.0
26+
dio: ^5.9.0
27+
http: ^1.5.0
2828
web_socket_channel: ^3.0.2
2929

3030
#Database
3131
sembast: ^3.6.0
32-
sembast_web: ^2.2.0
32+
sembast_web: ^2.4.2
3333

3434
# Utils
3535
uuid: ^4.5.1

packages/flutter/lib/src/utils/parse_cached_live_list.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import 'dart:collection';
22
import 'package:parse_server_sdk_flutter/parse_server_sdk_flutter.dart' as sdk;
3-
import 'package:flutter/foundation.dart';
43

54
/// A wrapper around ParseLiveList that provides memory-efficient caching
65
class CachedParseLiveList<T extends sdk.ParseObject> {

packages/flutter/lib/src/utils/parse_live_grid.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ class _ParseLiveGridWidgetState<T extends sdk.ParseObject>
419419

420420
try { // Wrap event processing
421421
if (event is sdk.ParseLiveListAddEvent<sdk.ParseObject>) {
422-
final addedItem = event.object as T;
422+
final addedItem = event.object;
423423
setState(() { _items.insert(event.index, addedItem); });
424424
objectToCache = addedItem;
425425
} else if (event is sdk.ParseLiveListDeleteEvent<sdk.ParseObject>) {
@@ -435,7 +435,7 @@ class _ParseLiveGridWidgetState<T extends sdk.ParseObject>
435435
debugPrint('$connectivityLogPrefix LiveList Delete Event: Invalid index ${event.index}, list size ${_items.length}');
436436
}
437437
} else if (event is sdk.ParseLiveListUpdateEvent<sdk.ParseObject>) {
438-
final updatedItem = event.object as T;
438+
final updatedItem = event.object;
439439
if (event.index >= 0 && event.index < _items.length) {
440440
setState(() { _items[event.index] = updatedItem; });
441441
objectToCache = updatedItem;
@@ -614,7 +614,6 @@ class _ParseLiveGridWidgetState<T extends sdk.ParseObject>
614614
),
615615
);
616616
case LoadMoreStatus.idle:
617-
default:
618617
return const SizedBox.shrink();
619618
}
620619
}
@@ -689,7 +688,7 @@ class _ParseLiveGridWidgetState<T extends sdk.ParseObject>
689688
_loadingIndices.add(i); // Mark as loading
690689
_liveGrid!.getAt(i).first.then((loadedItem) {
691690
_loadingIndices.remove(i); // Unmark
692-
if (loadedItem != null && mounted && i < _items.length) {
691+
if (mounted && i < _items.length) {
693692
// Update the item in the list if it was successfully loaded
694693
// Note: This might cause a jump if the preloaded data was significantly different
695694
setState(() { _items[i] = loadedItem; });

packages/flutter/lib/src/utils/parse_live_list.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ class _ParseLiveListWidgetState<T extends sdk.ParseObject>
279279

280280
try { // Wrap event processing in try-catch
281281
if (event is sdk.ParseLiveListAddEvent<sdk.ParseObject>) {
282-
final addedItem = event.object as T;
282+
final addedItem = event.object;
283283
setState(() { _items.insert(event.index, addedItem); });
284284
objectToCache = addedItem;
285285
} else if (event is sdk.ParseLiveListDeleteEvent<sdk.ParseObject>) {
@@ -296,7 +296,7 @@ class _ParseLiveListWidgetState<T extends sdk.ParseObject>
296296
debugPrint('$connectivityLogPrefix LiveList Delete Event: Invalid index ${event.index}, list size ${_items.length}');
297297
}
298298
} else if (event is sdk.ParseLiveListUpdateEvent<sdk.ParseObject>) {
299-
final updatedItem = event.object as T;
299+
final updatedItem = event.object;
300300
if (event.index >= 0 && event.index < _items.length) {
301301
setState(() { _items[event.index] = updatedItem; });
302302
objectToCache = updatedItem;
@@ -627,7 +627,6 @@ class _ParseLiveListWidgetState<T extends sdk.ParseObject>
627627
),
628628
);
629629
case LoadMoreStatus.idle:
630-
default:
631630
// Return an empty container when idle or in default case
632631
return const SizedBox.shrink();
633632
}

packages/flutter/lib/src/utils/parse_live_page_view.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ class _ParseLiveListPageViewState<T extends sdk.ParseObject>
240240

241241
try { // Wrap event processing
242242
if (event is sdk.ParseLiveListAddEvent<sdk.ParseObject>) {
243-
final addedItem = event.object as T;
243+
final addedItem = event.object;
244244
setState(() { _items.insert(event.index, addedItem); });
245245
objectToCache = addedItem;
246246
} else if (event is sdk.ParseLiveListDeleteEvent<sdk.ParseObject>) {
@@ -256,7 +256,7 @@ class _ParseLiveListPageViewState<T extends sdk.ParseObject>
256256
debugPrint('$connectivityLogPrefix LiveList Delete Event: Invalid index ${event.index}, list size ${_items.length}');
257257
}
258258
} else if (event is sdk.ParseLiveListUpdateEvent<sdk.ParseObject>) {
259-
final updatedItem = event.object as T;
259+
final updatedItem = event.object;
260260
if (event.index >= 0 && event.index < _items.length) {
261261
setState(() { _items[event.index] = updatedItem; });
262262
objectToCache = updatedItem;

packages/flutter/lib/src/utils/parse_live_sliver_grid.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ class _ParseLiveSliverGridWidgetState<T extends sdk.ParseObject>
319319

320320
try {
321321
if (event is sdk.ParseLiveListAddEvent<sdk.ParseObject>) {
322-
final addedItem = event.object as T;
322+
final addedItem = event.object;
323323
setState(() { _items.insert(event.index, addedItem); });
324324
objectToCache = addedItem;
325325
} else if (event is sdk.ParseLiveListDeleteEvent<sdk.ParseObject>) {
@@ -333,7 +333,7 @@ class _ParseLiveSliverGridWidgetState<T extends sdk.ParseObject>
333333
}
334334
}
335335
} else if (event is sdk.ParseLiveListUpdateEvent<sdk.ParseObject>) {
336-
final updatedItem = event.object as T;
336+
final updatedItem = event.object;
337337
if (event.index >= 0 && event.index < _items.length) {
338338
setState(() { _items[event.index] = updatedItem; });
339339
objectToCache = updatedItem;

packages/flutter/lib/src/utils/parse_live_sliver_list.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ class _ParseLiveSliverListWidgetState<T extends sdk.ParseObject>
232232

233233
try { // Wrap event processing in try-catch
234234
if (event is sdk.ParseLiveListAddEvent<sdk.ParseObject>) {
235-
final addedItem = event.object as T;
235+
final addedItem = event.object;
236236
setState(() { _items.insert(event.index, addedItem); });
237237
objectToCache = addedItem;
238238
} else if (event is sdk.ParseLiveListDeleteEvent<sdk.ParseObject>) {
@@ -249,7 +249,7 @@ class _ParseLiveSliverListWidgetState<T extends sdk.ParseObject>
249249
debugPrint('$connectivityLogPrefix LiveList Delete Event: Invalid index ${event.index}, list size ${_items.length}');
250250
}
251251
} else if (event is sdk.ParseLiveListUpdateEvent<sdk.ParseObject>) {
252-
final updatedItem = event.object as T;
252+
final updatedItem = event.object;
253253
if (event.index >= 0 && event.index < _items.length) {
254254
setState(() { _items[event.index] = updatedItem; });
255255
objectToCache = updatedItem;

packages/flutter/pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,16 @@ dependencies:
3838
# path: ../dart
3939

4040
# Networking
41-
connectivity_plus: ^6.1.2
41+
connectivity_plus: ^6.1.5
4242

4343
#Database
4444
shared_preferences: ^2.5.1
4545
sembast: ^3.6.0
46-
sembast_web: ^2.4.0+4
46+
sembast_web: ^2.4.2
4747

4848
# Utils
4949
path_provider: ^2.1.4
50-
package_info_plus: ^8.1.4
50+
package_info_plus: ^8.3.1
5151
path: ^1.9.0
5252

5353
dev_dependencies:

0 commit comments

Comments
 (0)