Skip to content

Commit 9c2885d

Browse files
committed
core(net): simplify raw favicon resolution
1 parent fdb770f commit 9c2885d

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

Dayflow/Dayflow/Core/Net/FaviconService.swift

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -115,20 +115,19 @@ final class FaviconService {
115115
func fetchFavicon(
116116
primaryRaw: String?, secondaryRaw: String?, primaryHost: String?, secondaryHost: String?
117117
) async -> NSImage? {
118-
// First, try single pattern matching against raw strings (preserves paths like /xcode)
119-
if let raw = primaryRaw, let img = matchPattern(raw) { return img }
120-
if let raw = secondaryRaw, let img = matchPattern(raw) { return img }
121-
122-
// Then try dual pattern matching (requires both patterns, e.g., "mail" + "apple")
123-
if let raw = primaryRaw, let img = matchDualPattern(raw) { return img }
124-
if let raw = secondaryRaw, let img = matchDualPattern(raw) { return img }
125-
126-
// Fall back to network fetch using normalized hosts
118+
if let img = resolveRawFavicon(primaryRaw) { return img }
127119
if let host = primaryHost, let img = await fetchHost(host) { return img }
120+
if let img = resolveRawFavicon(secondaryRaw) { return img }
128121
if let host = secondaryHost, let img = await fetchHost(host) { return img }
129122
return nil
130123
}
131124

125+
private func resolveRawFavicon(_ raw: String?) -> NSImage? {
126+
guard let raw else { return nil }
127+
if let img = matchPattern(raw) { return img }
128+
return matchDualPattern(raw)
129+
}
130+
132131
/// Check raw string against hardcoded patterns (no network fetch)
133132
private func matchPattern(_ raw: String) -> NSImage? {
134133
let rawLower = raw.lowercased()

0 commit comments

Comments
 (0)