Signed desktop installer for macOS and Linux
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- github-actions, linux, macos, rust
- Área
- authentication, desktop, devops
Línea de trabajo
Read the linked drafts Elacity/elastos-agent-host-spike#1386 and Elacity/elastos-launcher#46, then review the referenced issues #520, #518, #519, and #452. First determine which draft to ship and resolve the passkey and release requirements across macOS and Ubuntu x86-64/ARM64. Done means the published candidate meets the listed install, sign-in, update, service, and uninstall acceptance checks.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
People install ElastOS 2.0.0 by pasting a command into a terminal. A signed app that installs ElastOS and keeps Home running would remove the main barrier for new users. Two drafts exist: the desktop app in Elacity/elastos-agent-host-spike#1386 and the Runtime-only launcher in Elacity/elastos-launcher#46. We ship one.
Expected behaviour
- One app. Choose #1386 or launcher #46, close the other, and carry over what fits from both: the launcher's Developer ID signing and notarization setup; #1386's hash-pinned private Runtime copy, clean-environment install and existing-Home adoption. If #1386 is chosen, rebase it onto current
spike/agent-hostfirst. - Install: double-click, no terminal. The app installs ElastOS through #520, registers the background service (#518, #519) and opens Home.
- Passkeys: #1386 makes passkeys work in the app window, with Touch ID on Mac and the TPM on Linux, where browsers often have no passkey store (#452). Today the window accepts only passkeys the app holds. Whichever way ships, a person who already has a passkey in their browser can sign in through the app, and a person who set up in the app can still sign in from a browser or another device.
- Menu bar: Home status, Open Home, Stop, Start at login on or off.
- Mac: a DMG signed with Elacity's Developer ID, hardened runtime, notarized and stapled. Minimum macOS matches the Runtime's.
- Linux: a package for Ubuntu x86-64 and ARM64 (including Jetson) whose download can be checked against the release signature.
- Release pipeline: built and signed from the same release as
install.sh, which packaging verifies exactly asinstall.shdoes before building. The app's own updates are signed and checked. No developer tools or lab settings in release builds. - Signing credentials: "Developer ID Application: Elacity LLC" already signs and notarizes elastos-launcher (checked on v1.4.0); reuse it. New certificates or paid signing services need Anders's approval.
- Uninstall: removes the app and the service; keeps Home's data unless the person asks to delete it.
- Size: the Browser image is not packed in; Home fetches it when needed.
Out of scope
- Windows: #265.
Acceptance (on the published candidate)
- Mac, new user: the downloaded DMG opens without warnings; install with no terminal; create a passkey; quit the app and Home keeps running; restart the Mac and Home comes back; update in System; uninstall keeps data.
- Mac with an existing terminal-installed Home: adopted; its browser passkey signs in through the app, and the browser still works.
- Ubuntu x86-64, Ubuntu ARM64 and Jetson: the same journeys. Linux passkey creation depends on #452; until it is fixed, the test uses a phone or security-key passkey and says so.
Links
Elacity/elastos-agent-host-spike#1386, Elacity/elastos-launcher#46, #520, #518, #519, #172, #265, #452.
- Lenguaje dominante
- Rust
- Estrellas
- 6
- Forks
- 2
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 42
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de elastos/elastos-runtime
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
elastos/elastos-runtime#563 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
elastos/elastos-runtime#508 ·
Los mantenedores suelen responder en 1 día
-
Documents: Markdown preview web links go through Home's confirmed link flow (#430 follow-up)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
elastos/elastos-runtime#436 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
elastos/elastos-runtime#427 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
elastos/elastos-runtime#405 ·
Los mantenedores suelen responder en 1 día
Todos los issues de elastos/elastos-runtime
Issues similares
-
Panic on live viewport resize when unstyled elements exist in display: none subtreePosiblemente ocupada @GoCoder7 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
DioxusLabs/blitz#1488 ·
Los mantenedores suelen responder en 1 día
-
🏷️ good first issue enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
S-Needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
vectordotdev/vrl#2042 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día