From 0381b1cc9afb18afb89fa4bcbdef1dfd1c4c0675 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Jab=C5=82o=C5=84ski?= Date: Fri, 2 Jan 2026 19:16:03 +0100 Subject: [PATCH] feat(settings): add "mark as read on open" setting for iOS and macOS # Conflicts: # Mac/Base.lproj/Preferences.storyboard # Conflicts: # iOS/Settings/Settings.storyboard --- Mac/AppDefaults.swift | 11 ++++++ Mac/Base.lproj/Preferences.storyboard | 33 ++++++++++++++--- .../Timeline/TimelineViewController.swift | 2 +- .../Account/Sources/Account/SecretKey.swift | 6 ++++ Shared/SecretKey.swift | 4 +++ iOS/AppDefaults.swift | 11 ++++++ iOS/SceneCoordinator.swift | 4 ++- iOS/Settings/Settings.storyboard | 36 ++++++++++++++++++- iOS/Settings/SettingsViewController.swift | 15 ++++++++ 9 files changed, 114 insertions(+), 8 deletions(-) create mode 100644 Modules/Account/Sources/Account/SecretKey.swift create mode 100644 Shared/SecretKey.swift diff --git a/Mac/AppDefaults.swift b/Mac/AppDefaults.swift index b2ae98c1e3..bd7a4fc8d8 100644 --- a/Mac/AppDefaults.swift +++ b/Mac/AppDefaults.swift @@ -42,6 +42,7 @@ final class AppDefaults: Sendable { static let exportOPMLAccountID = "exportOPMLAccountID" static let defaultBrowserID = "defaultBrowserID" static let currentThemeName = "currentThemeName" + static let markAsReadOnOpenEnabled = "markAsReadOnOpenEnabled" static let articleContentJavascriptEnabled = "articleContentJavascriptEnabled" // Hidden prefs @@ -307,6 +308,15 @@ final class AppDefaults: Sendable { } } + var isMarkAsReadOnOpenEnabled: Bool { + get { + UserDefaults.standard.bool(forKey: Key.markAsReadOnOpenEnabled) + } + set { + UserDefaults.standard.set(newValue, forKey: Key.markAsReadOnOpenEnabled) + } + } + var isArticleContentJavascriptEnabled: Bool { get { UserDefaults.standard.bool(forKey: Key.articleContentJavascriptEnabled) @@ -333,6 +343,7 @@ final class AppDefaults: Sendable { Key.refreshInterval: RefreshInterval.everyHour.rawValue, Key.showDebugMenu: showDebugMenu, Key.currentThemeName: Self.defaultThemeName, + Key.markAsReadOnOpenEnabled: true, Key.articleContentJavascriptEnabled: true ] diff --git a/Mac/Base.lproj/Preferences.storyboard b/Mac/Base.lproj/Preferences.storyboard index aabfb1d5d7..eb836ec6e1 100644 --- a/Mac/Base.lproj/Preferences.storyboard +++ b/Mac/Base.lproj/Preferences.storyboard @@ -46,7 +46,7 @@ - + @@ -118,6 +118,26 @@ +