<commit_before>part of app;

@Controller(selector: '[sign-in]', publishAs: 'ctrl')
class SignInController {
  final SessionService _sessionService;
  final Router _router;
  final MessageService _messageService;

  String identifier;
  String password;
  bool longLife = false;

  SignInController(this._sessionService, this._router, this._messageService);

  void signIn() {
    _sessionService.establish(identifier, password, longLife).then((_) {
      _messageService.prepareSuccess('Přihlášen.', 'Přihlášení proběhlo úspěšně.');
      _router.go('homepage', {});
    }).catchError((ApiError e) {
      switch (e.error) {
        case 'UNKNOWN_IDENTIFIER':
          _messageService.showError('Neznámý uživatel.', 'Bohužel neznáme žádného uživatele, který by měl zadaný email nebo uživatelské jméno.');
          break;

        case 'INVALID_CREDENTIAL':
          _messageService.showError('Chybné heslo.', 'Zkuste to prosím znovu.');
        break;
      }
    });
  }
}<commit_msg>Load notifications after signing in<commit_after>part of app;

@Controller(selector: '[sign-in]', publishAs: 'ctrl')
class SignInController {
  final SessionService _sessionService;
  final Router _router;
  final MessageService _messageService;
  final NotificationService _notificationService;

  String identifier;
  String password;
  bool longLife = false;

  SignInController(this._sessionService, this._router, this._messageService, this._notificationService);

  void signIn() {
    _sessionService.establish(identifier, password, longLife).then((_) {
      _notificationService.loadNotifications();
      _messageService.prepareSuccess('Přihlášen.', 'Přihlášení proběhlo úspěšně.');
      _router.go('homepage', {});
    }).catchError((ApiError e) {
      switch (e.error) {
        case 'UNKNOWN_IDENTIFIER':
          _messageService.showError('Neznámý uživatel.', 'Bohužel neznáme žádného uživatele, který by měl zadaný email nebo uživatelské jméno.');
          break;

        case 'INVALID_CREDENTIAL':
          _messageService.showError('Chybné heslo.', 'Zkuste to prosím znovu.');
        break;
      }
    });
  }
}
{'fraction_non_alphanumeric': 0.11069241639189825, 'fraction_numerical': 0.0, 'mean_word_length': 3.8493150684931505, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7044554', 'n_tokens_mistral': 681, 'n_tokens_neox': 681, 'n_words': 145}