parentIdsProvider top-level property

dynamic parentIdsProvider
final

Implementation

final parentIdsProvider =
    FutureProvider.family<List<String>, String>((ref, roomId) async {
  try {
    // FIXME: we should get only the parent Ids from the underlying SDK
    final relations = await ref.watch(spaceRelationsProvider(roomId).future);
    if (relations == null) return [];
    // Collect all parents: mainParent and otherParents
    List<String> allParents =
        relations.mainParent().map((p) => [p.roomId().toString()]) ?? [];
    final others = relations.otherParents().map((p) => p.roomId().toString());
    allParents.addAll(others);
    return allParents;
  } catch (e) {
    _log.warning('Failed to load parent ids for $roomId: $e');
    return [];
  }
});