feat: harden Flow cold-start/force-quit and polish macOS dictation UX
Fix cold-start overlay recursion that overflowed the main-thread stack when recording began while the ready overlay was still up; also remove temporary on-screen Flow DEBUG panels after the orange-mic investigation, and land the macOS overlay/catalog/layout polish plus related Flow recovery hardening.
This commit is contained in:
@@ -276,14 +276,17 @@ struct MacLocalASRModelSettingsView: View {
|
||||
HStack(spacing: Spacing.xs) {
|
||||
Text(model.displayName)
|
||||
.foregroundStyle(palette.textPrimary)
|
||||
if let badgeKey = model.badgeKey {
|
||||
modelBadge(
|
||||
MacL10n.string(badgeKey, language: lang),
|
||||
emphasized: true
|
||||
)
|
||||
}
|
||||
if model.supportsHotwords {
|
||||
Text(MacL10n.string("mac.localASR.personalDictionaryTag", language: lang))
|
||||
.font(TypeStyle.caption2)
|
||||
.padding(.horizontal, 6)
|
||||
.padding(.vertical, 2)
|
||||
.background(palette.accent.opacity(0.15))
|
||||
.foregroundStyle(palette.accent)
|
||||
.clipShape(Capsule())
|
||||
modelBadge(
|
||||
MacL10n.string("mac.localASR.personalDictionaryTag", language: lang),
|
||||
emphasized: false
|
||||
)
|
||||
}
|
||||
}
|
||||
Text(modelSubtitle(model, installed: installed))
|
||||
@@ -305,6 +308,20 @@ struct MacLocalASRModelSettingsView: View {
|
||||
.padding(.vertical, 2)
|
||||
}
|
||||
|
||||
private func modelBadge(_ title: String, emphasized: Bool) -> some View {
|
||||
Text(title)
|
||||
.font(TypeStyle.caption2)
|
||||
.padding(.horizontal, 6)
|
||||
.padding(.vertical, 2)
|
||||
.background(
|
||||
emphasized
|
||||
? palette.accent.opacity(0.18)
|
||||
: palette.textTertiary.opacity(0.12)
|
||||
)
|
||||
.foregroundStyle(emphasized ? palette.accent : palette.textSecondary)
|
||||
.clipShape(Capsule())
|
||||
}
|
||||
|
||||
@ViewBuilder
|
||||
private func modelRowActions(
|
||||
model: LocalASRModelDefinition,
|
||||
|
||||
Reference in New Issue
Block a user