Skip to content

Knobler v0.3.0

Choose a tag to compare

@luccas-silveira luccas-silveira released this 21 Jul 12:18

Added

  • 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).