diff --git a/NucleicRemote/NucleicRemote/LiveActivityManager.swift b/NucleicRemote/NucleicRemote/LiveActivityManager.swift index 44b1de3..b57ecae 100644 --- a/NucleicRemote/NucleicRemote/LiveActivityManager.swift +++ b/NucleicRemote/NucleicRemote/LiveActivityManager.swift @@ -307,13 +307,19 @@ final class LiveActivityManager { /// Project a wire summary into the widget's self-contained row model. private static func line(for s: WireSessionSummary) -> NucleicSessionAttributes.SessionLine { - NucleicSessionAttributes.SessionLine( + // Carry the approval id/risk only for a session actually awaiting approval — that's the row + // the glance renders inline Allow/Deny on (`ApproveFromActivityIntent`). Other states leave + // it nil so the row stays a plain deep-link tap. + let approvalID = s.status == .awaitingApproval ? s.firstApprovalID?.rawValue : nil + return NucleicSessionAttributes.SessionLine( id: s.sessionID.rawValue, title: s.title.isEmpty ? s.projectName : s.title, project: s.projectName, backend: backend(s.backend), kind: kind(for: s), - detail: detail(for: s)) + detail: detail(for: s), + approvalID: approvalID, + approvalIsHighRisk: approvalID == nil ? nil : s.firstApprovalIsHighRisk) } private static func kind(for s: WireSessionSummary) -> NucleicSessionAttributes.Kind {