Repository navigation
Description
Pre-flight checks
- I searched existing issues and found no duplicate.
- I understand that this proposal requires product review before implementation.
El asistente revisó issues abiertas/cerradas y PR activas: #69/#112 aportan el bundle local y excluyen esta distribución; #117 cubre únicamente CI. El mantenedor confirmó expresamente la declaración de revisión de producto para ambas propuestas. No se aplica status:approved ni se asigna trabajo.
Problem to solve
La integración macOS Apple Silicon ya genera .app y .dmg localmente, pero el workflow Release sigue siendo Windows. Hace falta convertir ese bundle en una entrega versionada, trazable y realmente instalable desde una descarga, sin anunciar firma, notarización, actualizaciones automáticas o versiones de macOS no verificadas.
Proposed solution
Preparar la distribución verificable macOS reutilizando tauri.macos.conf.json y app:build:mac, tras completar #117. Separar las decisiones de confianza/distribución de la ejecución: acordar el nivel de entrega (preview sin firma frente a distribución Developer ID firmada/notarizada), el mínimo macOS y la política de instalación/actualización. Documentar los requisitos que deba proporcionar el mantenedor antes de configurar credenciales o habilitar publicación.
Para una descarga estable orientada a público general, se recomienda firma Developer ID y notarización con validación real de Gatekeeper. Si esos requisitos no están disponibles, el mantenedor debe decidir explícitamente entre aplazar la descarga Mac o una preview sin firma claramente identificada; no rebajar silenciosamente el criterio para cerrar la issue. El updater Tauri es un mecanismo separado de la firma Apple.
Affected area
Build or tooling
Scope and non-goals
Dependencias y coordinación
- Depende de ci(macos): validar tests y bundle Apple Silicon en CI nativa #117 completada y de un candidato integrado y validado. Refs feat: integración completa de Quorb en macOS Apple Silicon #69, Roadmap ODD de Quorb #45 y feat(macos): integración Quorb en macOS Apple Silicon (M0-M2 + M4 Keychain) #112: no rehacer el port ni crear otro instalador local.
- Antes de empezar, acordar con @barbatdev el reparto y la validación en Mac real. La mención no asigna ni presupone su disponibilidad.
- La decisión del mantenedor es completar CI y distribución verificable antes de la próxima release que anuncie una descarga Mac. No obliga a publicar Linux ni amplía chore(linux): establecer baseline y contrato del port nativo #105–feat(linux): empaquetar y documentar un build local verificable #108.
- chore: investigar aviso de instalación y añadir firma Authenticode Windows #20 es firma Authenticode Windows, no autorización ni infraestructura de firma Apple.
Criterios de aceptación propuestos
- Arquitectura ARM64, mínimo macOS objetivo y matriz realmente probada aceptados. El deployment target del binario no se presenta como rango funcional validado; Intel/universal fuera de esta entrega.
- Política de entrega explícita: estable firmada/notarizada o preview sin firma aceptada como tal. Cuenta Apple Developer, certificados, servicio de notarización y sus costes/requisitos inventariados; nunca se solicitan valores privados en issues/logs.
- Plan de empaquetado/publicación revisado: reutiliza el workflow existente cuando sea compatible, preserva Windows y parte de un SHA/versiones/notas validados; artefactos y checksums trazables al mismo candidato. Ejecución manual y borrador para revisión, sin release por un push o un merge ordinario.
- Si se elige firma/notarización: verificar cadena/identidad, notarización y stapling según formato, y evaluación Gatekeeper sobre la descarga real. Secretos solo en el paso y contexto autorizados, nunca disponibles a PR de forks ni a fuentes no revisadas.
- Instalar el
.dmgdescargado y mover/abrir la app desde su destino final en un Mac real, registrando SHA, versión y entorno; probar primera apertura con cuarentena y una actualización sobre instalación anterior cuando exista. No usar la eliminación de cuarentena como sustituto de validar una entrega firmada. - Smoke del artefacto final: widget/detalle/overlay, Spaces normales, permisos Keychain, login CLI, autostart, notificaciones y atajos, con datos sensibles excluidos. Limitaciones fullscreen y de versiones no probadas publicadas honestamente.
- Updater macOS: decidir expresamente si queda deshabilitado/no soportado con actualización manual documentada, o remitir su implementación y validación a otra unidad. No prometer compatibilidad por tener minisign en Windows.
- Notas de instalación/seguridad y release ES/EN describen exactamente los assets y las limitaciones; Windows y los gates de seguridad siguen verdes. La revisión final del mantenedor acredita el cierre antes de preparar/publicar la release anunciada para Mac.
Exclusiones y autorizaciones
No App Store, Linux, Intel/universal, rediseño NSPanel/fullscreen ni mejoras de dockeo #113. Esta issue no autoriza crear certificados, modificar secretos/protecciones, gastar una suscripción, ejecutar firma/notarización, crear tags, lanzar Release o publicar assets. Cada operación requiere su aprobación concreta; crear la issue tampoco autoriza implementación ni asignación. No se impone completar updater ni audio/i18n pendientes para validar el alcance acordado de esta entrega.
Alternatives considered
Publicar únicamente Windows y mantener el port Mac como código/bundle local: válido si se comunica así, pero no satisface el objetivo de una descarga Mac verificable. Subir el .dmg personal de un contribuidor: insuficiente sin trazabilidad y prueba del artefacto final. Fusionar todo con #69 o #117: duplicaría el bundle ya integrado y mezclaría CI sin secretos con distribución y credenciales. Se crea esta unidad separada con gates explícitos.
Activity
egdev6 commentedon Oct 16, 2026
Inicio bajo coordinación del mantenedor: @egdev6 toma esta unidad con aprobación explícita. @barbatdev no queda asignado ni se presupone su disponibilidad; habrá que acordar la prueba del DMG descargado en un Mac real antes de cerrar la issue.
Decisiones acordadas: objetivo macOS 15+ Apple Silicon, distinguiendo objetivo de versiones realmente verificadas; actualización manual; primera fase como preview temporal de Actions con retención de 14 días, sin Developer ID ni notarización y sin presentarla como descarga estable aprobada por Gatekeeper. No se crean tags ni se publica en Releases. El workflow será manual, desde fuente integrada y validada, con versión/SHA/checksum trazables; ejecutar y subir esa preview requerirá autorización aparte. Se reutilizan el bundle y el verificador de #112/#117, sin modificar la entrega Windows.
El inventario detectó que la documentación previa de updater solo Windows no constituye un bloqueo real en macOS: antes de ofrecer actualización manual habrá que bloquear las operaciones updater allí y ajustar la interfaz, con regresión Windows cubierta. La entrega de esta fase no cierra automáticamente #118: siguen siendo necesarias descarga, primera apertura con cuarentena, instalación y smoke en Mac real. No se autorizan certificados, secretos, suscripciones, firma/notarización, cambios de protecciones, merge ni publicación por esta toma. El plan exacto del workflow y la carga de revisión se presentarán antes de aplicar sus cambios.
egdev6 commentedon Oct 16, 2026
PR A de actualización manual lista para revisión: #120, candidato
8fb3975f7c9a57457b3103c2f97cbbd4b1c32746, con los cuatro checks correctos:Las ejecuciones nativas cubren la compilación y tests del candidato con instalación desde lockfile y el bundle Mac; la advertencia sobre dependencias locales reutilizadas no se presenta como equivalente a esta evidencia remota. El bloqueo del updater es de backend y permisos además de frontend. Esto no acredita una prueba IPC negativa real, montaje React/GUI E2E ni primera instalación desde descarga.
La PR sigue OPEN y requiere review/aprobación antes del merge. Se mantiene el orden acordado: integrar esta unidad y después preparar la PR B del workflow manual de preview con retención de 14 días. No se ha hecho merge automático ni se han creado certificados, secretos, tags, releases o uploads. #118 permanece abierta hasta completar también la descarga e instalación verificadas en un Mac real.
barbatdev commentedon Oct 17, 2026
Hola! Vi que la CI nativa ARM64 ya quedó mergeada... quedó muy sólida, muy bueno eso.
Sobre #118: cuando toque validar en Mac real me prendo, con gusto. Instalar el dmg, probar la primera apertura con cuarentena, smoke del widget y el detalle y Keychain sobre hardware ARM64... todo eso lo puedo correr tranquilo.
Y un dato que quizás te sirve para decidir: tengo cuenta Apple Developer, así que si se encamina por la vía firmada y notarizada cuento con lo necesario del lado del entorno de firma. Y si igual preferís salir con una preview sin firma identificada como tal, la validamos por ahí también, documentando tal cual la experiencia con Gatekeeper.
Vos sabrás por dónde preferís encaminarlo, lo que precises avisame!
egdev6 commentedon Oct 17, 2026
No me digas @barbatdev !!! sería un puntazo eso!!! hasta tener la versión estable que subamos una major mejor preview pero si, claro que estaría genial!!
En cuanto a la prueba, si, hablamos por discord porque actualmente peta.
Gracias papurri!! sos grande!!
ci(macos): release firmada y notarizada de macOS ARM64 (#118) (#209)
fix(ci): rollback de la subida parcial del DMG de macOS por id de ass…
fix(ci): ampliar a 120 minutos el job de firma de macOS por la cola d…
egdev6 commentedon Nov 5, 2026
Cierro con la revisión final del mantenedor.
Quorb_0.8.0_aarch64.dmgcon su.sha256en v0.8.0), preparada con ci(macos): release firmada y notarizada de macOS ARM64 (#118) #209, fix(ci): ampliar a 120 minutos el job de firma de macOS (#118) #213 y ci(macos): make notarization resumable from signed checkpoints #219; documentación de instalación publicada en docs(macos): publish download links and verified release status #226.La integración funcional completa sigue en #69, pendiente de i18n (#66) y sonidos (#68).