Skip to content

[P2] Standardiser les patterns de subscription Riverpod #75

Description

@r9r-dev

Description

Incohérence dans les patterns de subscription entre providers.

Problème

Certains providers écoutent ircSessionProvider, d'autres connectionProvider:

messagesProvider:

ref.listen(ircSessionProvider, (prev, next) { ... });

channelsProvider:

ref.listen(connectionProvider, (prev, next) { ... });

Impact

  • Confusion sur quel provider écouter
  • Comportements potentiellement incohérents
  • Difficulté de maintenance

Solution proposée

Standardiser sur ircSessionProvider comme point unique de synchronisation:

// Pattern standard pour tous les providers
ref.listen(ircSessionProvider, (prev, next) {
  if (next.isReady && (prev == null || !prev.isReady)) {
    _subscribeToLines();
  }
  if (!next.isReady && (prev?.isReady ?? false)) {
    _handleDisconnect();
  }
});

Fichiers à modifier

  • lib/features/channels/providers/channels_provider.dart
  • lib/features/chat/providers/messages_provider.dart
  • Tout autre provider qui écoute connectionProvider directement

Effort estimé

2 heures

Référence

docs/CODE_REVIEW.md - Section 2.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactoringRefactoring architectural

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions