From 2860ab078682fb649f09a823a19d2550391f1c69 Mon Sep 17 00:00:00 2001 From: christophergyman Date: Sat, 10 Jan 2026 21:52:55 +0000 Subject: [PATCH] Filter out planned and part closures from TFL alerts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Only show active disruptions (delays, suspensions), not planned closures which aren't relevant for real-time commute decisions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- IrisCompanion/iris/DataSources/TFLDataSource.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/IrisCompanion/iris/DataSources/TFLDataSource.swift b/IrisCompanion/iris/DataSources/TFLDataSource.swift index d4012e1..b2b05b7 100644 --- a/IrisCompanion/iris/DataSources/TFLDataSource.swift +++ b/IrisCompanion/iris/DataSources/TFLDataSource.swift @@ -99,10 +99,12 @@ final class TFLDataSource { guard !seenLines.contains(line.id) else { continue } for status in line.lineStatuses { + // Skip: 10 = Good Service, 4 = Planned Closure, 5 = Part Closure guard status.statusSeverity < 10 else { continue } + guard status.statusSeverity != 4 && status.statusSeverity != 5 else { continue } seenLines.insert(line.id) - let isMajor = status.statusSeverity <= 6 + let isMajor = status.statusSeverity <= 3 || status.statusSeverity == 6 let disruption = Disruption( id: "\(line.id):\(status.statusSeverity)",