You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mensagens LAN: descubra outros Macs com Knobler na mesma rede e mande recados
que aparecem no notch da pessoa, com nome e foto. Aba Mensagens no notch aberto,
recado com ou sem resposta, histórico das últimas 20 conversas por pessoa.
Identidade (nome/foto) configurável, pré-preenchida com a da conta do macOS.
Webhooks configuráveis (mapeamento por perfil): cada fonte externa (GitHub,
Stripe, n8n…) vira um perfil com link próprio; manda um webhook de teste e um
editor lado-a-lado mapeia os campos da notificação a partir do payload capturado
(texto livre + {{ variáveis }} do payload, aninhado). Ícone fixo por perfil
(URL ou emoji). O relay guarda o template e aplica; o app tem a lista de perfis +
o editor com árvore do payload clique-pra-inserir e preview ao vivo.
(template.js/profiles no relay; MappingEditorView/ProfilesListView no app.)
Notificações externas via webhook: cada dispositivo tem um link próprio
(https://push.appzoi.com.br/w/<token>) que recebe título, descrição, avatar
e ação de clique, exibidos como card no notch. Relay próprio na VPS (Node/pm2
atrás do nginx, TLS) + WebSocket que o Mac mantém aberto (reconecta sozinho,
fila offline). Opt-in em Ajustes › Notificações externas (link + copiar +
rotacionar + toggle de imagens remotas). Avatar remoto com guardas
(só https, content-type de imagem, teto de tamanho, bloqueio de IP privado);
clique abre só http/https. (WebhookClient.swift, RemoteAvatarLoader.swift, WebhookKeychainStore.swift, WebhookSettingsView.swift, relay/.)
AirPods no notch: ao conectar, card transitório (~4s) com nome + bateria
L / R / estojo; enquanto conectado, bateria no hover (faixinha junto da música,
card dedicado quando não há música). Aviso de bateria baixa (≤10%) e toggle
opt-out "AirPods no notch". (AirPodsBattery.swift, BluetoothMonitor.swift via IOBluetooth event-driven + system_profiler off-main.)
NSBluetoothAlwaysUsageDescription no Info.plist (TCC exigia para o system_profiler/IOBluetooth).