From fe2e40092679c752bca0d626d2ab68ea6010c348 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Fri, 17 Oct 2025 03:38:24 -0600 Subject: [PATCH] Agregar mejoras PWA y unificar workflow a 1 job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Agregar id único (/?app=lotes), launch_handler, handle_links y url_handlers - Unificar workflow de 2 jobs (build + deploy) a 1 solo job - Workaround para bug de Gitea que solo ejecuta el primer job --- .gitea/workflows/build-and-deploy.yml | 33 +++++++++------------------ nuxt4-app/nuxt.config.ts | 10 ++++++++ 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml index 878e316..297abbd 100644 --- a/.gitea/workflows/build-and-deploy.yml +++ b/.gitea/workflows/build-and-deploy.yml @@ -5,11 +5,20 @@ on: branches: [ master ] jobs: -#───────────────── build & push ───────────────── - build: +#───────────────── build, push & deploy (unified) ───────────────── + build-and-deploy: runs-on: docker env: REG: ${{ vars.REGISTRY_URL }} + # Variables de entorno para docker-compose + APP_DOMAIN: ${{ vars.APP_DOMAIN }} + NUXT_OAUTH_AUTHENTIK_CLIENT_ID: ${{ secrets.NUXT_OAUTH_AUTHENTIK_CLIENT_ID }} + NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET: ${{ secrets.NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET }} + NUXT_OAUTH_AUTHENTIK_SERVER_URL: ${{ vars.NUXT_OAUTH_AUTHENTIK_SERVER_URL }} + NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL: ${{ vars.NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL }} + NUXT_OAUTH_AUTHENTIK_REDIRECT_URL: ${{ vars.NUXT_OAUTH_AUTHENTIK_REDIRECT_URL }} + NUXT_PUBLIC_APP_URL: ${{ vars.NUXT_PUBLIC_APP_URL }} + NUXT_SESSION_PASSWORD: ${{ secrets.NUXT_SESSION_PASSWORD }} steps: - uses: actions/checkout@v3 - uses: docker/setup-buildx-action@v2 @@ -26,26 +35,6 @@ jobs: docker push $REG/seguidor-lotes:${{ github.sha }} docker push $REG/seguidor-lotes:latest -#───────────────── deploy ───────────────── - deploy: - needs: build - runs-on: docker - env: - REG: ${{ vars.REGISTRY_URL }} - # Variables de entorno para docker-compose - APP_DOMAIN: ${{ vars.APP_DOMAIN }} - NUXT_OAUTH_AUTHENTIK_CLIENT_ID: ${{ secrets.NUXT_OAUTH_AUTHENTIK_CLIENT_ID }} - NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET: ${{ secrets.NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET }} - NUXT_OAUTH_AUTHENTIK_SERVER_URL: ${{ vars.NUXT_OAUTH_AUTHENTIK_SERVER_URL }} - NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL: ${{ vars.NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL }} - NUXT_OAUTH_AUTHENTIK_REDIRECT_URL: ${{ vars.NUXT_OAUTH_AUTHENTIK_REDIRECT_URL }} - NUXT_PUBLIC_APP_URL: ${{ vars.NUXT_PUBLIC_APP_URL }} - NUXT_SESSION_PASSWORD: ${{ secrets.NUXT_SESSION_PASSWORD }} - steps: - - uses: actions/checkout@v3 - - name: Login to registry - run: docker login ${{ vars.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} - - name: Info about environment run: | echo "ℹ️ Deploying Seguidor de Lotes" diff --git a/nuxt4-app/nuxt.config.ts b/nuxt4-app/nuxt.config.ts index 7716667..b62d1e8 100644 --- a/nuxt4-app/nuxt.config.ts +++ b/nuxt4-app/nuxt.config.ts @@ -31,6 +31,7 @@ export default defineNuxtConfig({ pwa: { registerType: 'autoUpdate', manifest: { + id: '/?app=lotes', name: 'Seguidor de Lotes', short_name: 'Lotes', description: 'Aplicación para seguimiento y gestión de lotes', @@ -38,8 +39,17 @@ export default defineNuxtConfig({ display: 'standalone', background_color: '#1f2730', theme_color: '#1f2730', + // Control de ventanas - mantener una sola ventana + launch_handler: { + client_mode: 'navigate-existing' + }, // Capturar enlaces dentro de la app capture_links: 'existing-client-navigate', + // URL handling - nuevo estándar para manejar links a esta PWA + handle_links: 'preferred', + url_handlers: [ + { origin: 'https://seguidordelotes.nucleoriofrio.com' } + ], icons: [ { src: 'icon-16x16.png',