From b958ddf0cfde2d23ba586870df56f1e3b85ece79 Mon Sep 17 00:00:00 2001 From: Rongjian Zhang Date: Thu, 26 Sep 2019 22:40:53 +0800 Subject: [PATCH] fix: domain comparison --- lib/models/account.dart | 12 ++++++++++-- lib/models/settings.dart | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/models/account.dart b/lib/models/account.dart index cb0f5ac..0aafd6d 100644 --- a/lib/models/account.dart +++ b/lib/models/account.dart @@ -11,8 +11,16 @@ class AccountModel { String login; String avatarUrl; - equals(AccountModel a) => - a.platform == platform && a.domain == domain && a.login == login; + equals(AccountModel a) { + final uri = Uri.parse(domain); + final uriA = Uri.parse(a.domain); + + // Treat domains as the same if they have the same hosts and ports + return a.platform == platform && + a.login == login && + uri.host == uriA.host && + uri.port == uriA.port; + } AccountModel({ @required this.platform, diff --git a/lib/models/settings.dart b/lib/models/settings.dart index 2f7bf91..8f52141 100644 --- a/lib/models/settings.dart +++ b/lib/models/settings.dart @@ -109,7 +109,7 @@ class SettingsModel with ChangeNotifier { await _setAccounts(AccountModel( platform: PlatformType.github, - domain: 'github.com', + domain: 'https://github.com', token: token, login: queryData['viewer']['login'] as String, avatarUrl: queryData['viewer']['avatarUrl'] as String,