Skip to content

Latest commit

 

History

History
58 lines (47 loc) · 3.25 KB

File metadata and controls

58 lines (47 loc) · 3.25 KB

Roadmap

Completado

  • Explorar el repositorio existente antes de asumir arquitectura.
  • Confirmar que la base actual es una plantilla GNOME en Python con GTK4/libadwaita y Flatpak.
  • Crear memoria persistente del proyecto.
  • Documentar la arquitectura inicial, permisos Flatpak, riesgos de polkit y plan de validación.
  • Añadir claves GSettings para puerto, token y estado del listener.
  • Ajustar el manifest Flatpak para hablar con org.freedesktop.login1.
  • Crear una primera UI de estado y diagnóstico.
  • Implementar un listener HTTP local autenticado por token.
  • Implementar la integración D-Bus básica con org.freedesktop.login1.
  • Cerrar un contrato HTTP inicial compatible con la app Android.
  • Acordar con Android el uso canónico de /api/v1/... y el uso de GET /status para prueba de conexión.
  • Acordar el plan mínimo de implementación Android para status, poweroff y mapeo de errores.
  • Mostrar en la UI Linux la baseUrl sugerida para configurar Android.
  • Añadir un toggle de menú para mostrar u ocultar Diagnostics.
  • Guardar y aplicar la configuración automáticamente, sin botón manual de guardado.
  • Preparar el proyecto para construir el .flatpak desde GitHub Actions.
  • Automatizar prereleases de main y adjuntar el bundle .flatpak a las releases publicadas.
  • Preparar publicación de un repo Flatpak estático en GitHub Pages para main.
  • Preparar firma GPG del repo Flatpak y de los bundles publicados por CI.
  • Preparar publicación de un .flatpakref firmado para instalación directa desde GitHub Pages.
  • Añadir la primera fase del modo background sin depender todavía de bandeja de sistema.
  • Añadir la segunda fase de background para Plasma con tray icon visible al ocultar la app.
  • Simplificar el listener para que siempre arranque al abrir la app y ya no tenga toggles de activación.
  • Reducir responsabilidades de window.py extrayendo utilidades de networking y simplificando lifecycle helpers.
  • Añadir una preferencia persistente para arrancar directamente oculto en la bandeja.

En curso

  • Convertir la plantilla actual en la base real de KineticSOL.
  • Verificar el comportamiento real del apagado no interactivo desde Flatpak.
  • Ajustar la UX según el resultado real de polkit.

Pendiente

  • Exponer en la UI el estado de conectividad, autorización y energía.
  • Probar la app empaquetada en entorno real con GNOME/Bazzite.
  • Registrar resultados reales de CanPowerOff() y PowerOff(false).
  • Decidir, según la validación, si la app única sigue siendo suficiente o si hace falta separar componentes.

Riesgos abiertos

  • Polkit puede impedir el apagado no interactivo desde Flatpak.
  • La app única requiere estar en ejecución para poder recibir órdenes.
  • Puede haber diferencias de comportamiento entre GNOME estándar y variantes gaming/inmutables como Bazzite.

Criterio de avance inmediato

  • La siguiente implementación debe centrarse en la base funcional mínima:

    • UI con estado
    • configuración persistente
    • listener remoto
    • cliente login1
  • No se debe introducir una arquitectura de daemon separado sin evidencia previa de que la app única no basta.