Move POI alerts to FYI

This commit is contained in:
2026-01-10 19:35:55 +00:00
parent c13a4f3247
commit c28e3ecc4b
2 changed files with 55 additions and 28 deletions

View File

@@ -327,6 +327,7 @@ final class ContextOrchestrator: NSObject, ObservableObject {
if pois.isEmpty {
logger.info("no points of interests found")
}
// POIs are FYI-only; do not compete for the right-now winner.
for poi in pois.prefix(2) {
let subtitle = poiSubtitle(for: poi)
let confidence = min(max(poi.confidence, 0.0), 1.0)
@@ -344,7 +345,6 @@ final class ContextOrchestrator: NSObject, ObservableObject {
actions: ["DISMISS"]
)
poiItems.append(item)
rightNowCandidates.append(.init(item: item, confidence: confidence, isEligibleForRightNow: true))
}
case .failure(let error):
fetchFailed = true
@@ -402,10 +402,17 @@ final class ContextOrchestrator: NSObject, ObservableObject {
return
}
let eligibleUnsuppressed = rightNowCandidates.filter { ranked in
!store.isSuppressed(id: ranked.item.id, type: ranked.item.type, now: nowEpoch)
let poiCandidateCount = rightNowCandidates.filter { $0.item.type == .poiNearby }.count
if poiCandidateCount > 0 {
logger.warning("dropping poi candidates from right-now ranking count=\(poiCandidateCount)")
}
let eligibleUnsuppressed = rightNowCandidates
.filter { $0.item.type != .poiNearby }
.filter { ranked in
!store.isSuppressed(id: ranked.item.id, type: ranked.item.type, now: nowEpoch)
}
let winnerSelection = ranker.pickWinner(from: eligibleUnsuppressed, now: nowEpoch, context: userContext)
let winnerItem = winnerSelection?.item ?? FeedEnvelope.allQuiet(now: nowEpoch).feed[0]