From 6c4e3efbde56a6b78a86c7f50eaaa0ba92c1bb5c Mon Sep 17 00:00:00 2001 From: Nathan Mattes Date: Sun, 31 Dec 2023 16:44:54 +0100 Subject: [PATCH] Restore credentials for widgets (#1201) Fixes #1201 --- .../Variants/FollowersCount/FollowersCountWidget.swift | 4 ++++ WidgetExtension/Variants/Hashtag/HashtagWidget.swift | 3 +++ .../Variants/LatestFollowers/LatestFollowersWidget.swift | 4 ++++ .../MultiFollowersCount/MultiFollowersCountWidget.swift | 4 ++++ 4 files changed, 15 insertions(+) diff --git a/WidgetExtension/Variants/FollowersCount/FollowersCountWidget.swift b/WidgetExtension/Variants/FollowersCount/FollowersCountWidget.swift index 1f118aeeb..c50c58c9b 100644 --- a/WidgetExtension/Variants/FollowersCount/FollowersCountWidget.swift +++ b/WidgetExtension/Variants/FollowersCount/FollowersCountWidget.swift @@ -4,6 +4,7 @@ import WidgetKit import SwiftUI import Intents import MastodonSDK +import MastodonCore import MastodonLocalization struct FollowersCountWidgetProvider: IntentTimelineProvider { @@ -70,6 +71,9 @@ struct FollowersCountWidget: Widget { private extension FollowersCountWidgetProvider { func loadCurrentEntry(for configuration: FollowersCountIntent, in context: Context, completion: @escaping (FollowersCountEntry) -> Void) { Task { + + AuthenticationServiceProvider.shared.restore() + guard let authBox = WidgetExtension.appContext .authenticationService diff --git a/WidgetExtension/Variants/Hashtag/HashtagWidget.swift b/WidgetExtension/Variants/Hashtag/HashtagWidget.swift index 41e21da83..08ca4c77b 100644 --- a/WidgetExtension/Variants/Hashtag/HashtagWidget.swift +++ b/WidgetExtension/Variants/Hashtag/HashtagWidget.swift @@ -4,6 +4,7 @@ import WidgetKit import SwiftUI import MastodonSDK import MastodonLocalization +import MastodonCore struct HashtagWidgetProvider: IntentTimelineProvider { func placeholder(in context: Context) -> HashtagWidgetTimelineEntry { @@ -24,6 +25,8 @@ struct HashtagWidgetProvider: IntentTimelineProvider { extension HashtagWidgetProvider { func loadMostRecentHashtag(for configuration: HashtagIntent, in context: Context, completion: @escaping (HashtagWidgetTimelineEntry) -> Void ) { + AuthenticationServiceProvider.shared.restore() + guard let authBox = WidgetExtension.appContext .authenticationService diff --git a/WidgetExtension/Variants/LatestFollowers/LatestFollowersWidget.swift b/WidgetExtension/Variants/LatestFollowers/LatestFollowersWidget.swift index d2bf73b5a..456af2ebb 100644 --- a/WidgetExtension/Variants/LatestFollowers/LatestFollowersWidget.swift +++ b/WidgetExtension/Variants/LatestFollowers/LatestFollowersWidget.swift @@ -5,6 +5,7 @@ import SwiftUI import Intents import MastodonSDK import MastodonLocalization +import MastodonCore struct LatestFollowersWidgetProvider: IntentTimelineProvider { func placeholder(in context: Context) -> LatestFollowersEntry { @@ -77,6 +78,9 @@ struct LatestFollowersWidget: Widget { private extension LatestFollowersWidgetProvider { func loadCurrentEntry(for configuration: LatestFollowersIntent, in context: Context, completion: @escaping (LatestFollowersEntry) -> Void) { Task { @MainActor in + + AuthenticationServiceProvider.shared.restore() + guard let authBox = WidgetExtension.appContext .authenticationService diff --git a/WidgetExtension/Variants/MultiFollowersCount/MultiFollowersCountWidget.swift b/WidgetExtension/Variants/MultiFollowersCount/MultiFollowersCountWidget.swift index 15c1c4d14..38e3ddc8c 100644 --- a/WidgetExtension/Variants/MultiFollowersCount/MultiFollowersCountWidget.swift +++ b/WidgetExtension/Variants/MultiFollowersCount/MultiFollowersCountWidget.swift @@ -4,6 +4,7 @@ import WidgetKit import SwiftUI import Intents import MastodonSDK +import MastodonCore import MastodonLocalization struct MultiFollowersCountWidgetProvider: IntentTimelineProvider { @@ -70,6 +71,9 @@ struct MultiFollowersCountWidget: Widget { private extension MultiFollowersCountWidgetProvider { func loadCurrentEntry(for configuration: MultiFollowersCountIntent, in context: Context, completion: @escaping (MultiFollowersCountEntry) -> Void) { Task { + + AuthenticationServiceProvider.shared.restore() + guard let authBox = WidgetExtension.appContext .authenticationService