oficina / meet Public

Calls Mac: Report a problem in the bar's ⋯ popover too (spec 15.26)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev e3b214575806eb90ea1ddecbc0fec624e8a25c45 parent 02674af
1 file changed, +10 −0
  • native/apple/Sources/CallsKit/MacCallView.swift +10 −0

CI passed — run details

CI log
=== vet ===
go vet ./...
=== fmt ===
=== test ===
go test ./...
ok  	amadan.net/oficina/calls/callscore	7.289s
?   	amadan.net/oficina/calls/cmd/calls	[no test files]
ok  	amadan.net/oficina/calls/cmd/quality-summary	0.003s
ok  	amadan.net/oficina/calls/internal/calls	1.626s
ok  	amadan.net/oficina/calls/internal/calls/apns	0.006s
ok  	amadan.net/oficina/calls/internal/calls/hub	0.308s
?   	amadan.net/oficina/calls/internal/calls/icons	[no test files]
ok  	amadan.net/oficina/calls/internal/calls/relay	0.003s
ok  	amadan.net/oficina/calls/internal/calls/seal	0.002s
ok  	amadan.net/oficina/calls/internal/callstest	9.786s
?   	amadan.net/oficina/calls/protocol	[no test files]
?   	amadan.net/oficina/calls/scripts/writeestilo	[no test files]
=== migration-check ===
go run amadan.net/rastrillo/rastrillo/cmd/rastrillo migration check
rastrillo migration check: models and migrations agree
=== race ===
CGO_ENABLED=1 go test -race ./internal/...
ok  	amadan.net/oficina/calls/internal/calls	11.343s
ok  	amadan.net/oficina/calls/internal/calls/apns	1.020s
ok  	amadan.net/oficina/calls/internal/calls/hub	2.801s
?   	amadan.net/oficina/calls/internal/calls/icons	[no test files]
ok  	amadan.net/oficina/calls/internal/calls/relay	1.016s
ok  	amadan.net/oficina/calls/internal/calls/seal	1.011s
ok  	amadan.net/oficina/calls/internal/callstest	29.420s
diff --git a/native/apple/Sources/CallsKit/MacCallView.swift b/native/apple/Sources/CallsKit/MacCallView.swift
index 2a4c450..a3c042e 100644
--- a/native/apple/Sources/CallsKit/MacCallView.swift
+++ b/native/apple/Sources/CallsKit/MacCallView.swift
@@ -474,6 +474,16 @@
ForEach(overflow, id: \.self) { control in
moreItem(control)
}
+ // Spec §15.26: wherever the bar has a ⋯, "Report a problem"
+ // is in it, as it is in the ⓘ panel and the Call menu.
+ Divider()
+ Button(ProblemWords.title, systemImage: "exclamationmark.bubble") {
+ showingMore = false
+ // The popover goes first: a sheet asked for while it is
+ // still closing is not shown (DevicePanel's same wait).
+ DispatchQueue.main.asyncAfter(deadline: .now() + DevicePanel.handOver) { call.reportProblem() }
+ }
+ .accessibilityIdentifier("moreReportProblem")
}
.buttonStyle(.borderless)
.padding(14)