Repository navigation
fix(deploy): el servicio decide «hoy» en la zona de Bogotá, no en UTC - #98
Merged
Merged
Conversation
`vencida()`, `hoyLocal()` y la foto diaria del burndown usan la zona del proceso, y el unit no fijaba ninguna: en la VM de GCP corría en UTC, así que desde las siete de la tarde en Bogotá el HTML servido marcaba como vencidas las entregas de hoy. El unit fija ahora TZ=America/Bogota, la misma zona de las pruebas e2e. deploy.sh no reinstala el unit, así que el README explica el paso único para una instancia ya desplegada y cómo comprobar que el proceso la tiene. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # CHANGELOG.md # package-lock.json # package.json
JoseSerpaCode
added a commit
that referenced
this pull request
Oct 18, 2026
El #98 entró antes y se quedó con la 1.28.4. Este cambio pasa de la 1.28.3 de su PR a la 1.28.5, para que la versión suba en el orden en que entran los cambios. El CHANGELOG anota que la 1.28.3 no existió. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Qué pasaba
La app decide qué día es hoy con la zona del proceso. Lo usan
vencida()yhoyLocal()(el rojo de «vencida» en las tarjetas que pinta el servidor y el contador de vencidas del Hub) y, desde #97, el día de la foto diaria del burndown.deploy/forge-os.serviceno fijaba ninguna zona, y una VM de GCP viene en UTC. Así que desde las 19:00 en Bogotá, el HTML servido marcaba como vencida una entrega de hoy. El navegador lo corrige al repintar, pero lo primero que se ve está mal.Cambios
deploy/forge-os.service:Environment=TZ=America/Bogota, con un comentario que explica el motivo. Va en el unit y no en/etc/forge-os.envporque no es un secreto ni cambia entre máquinas, y así queda en el repositorio. Es la misma zona con la que corren las pruebas e2e (fix: las fechas de entrega salían un día antes al oeste de UTC #96).deploy/README.md: una sección «La zona horaria» en el paso de systemd. Explica qué depende de la zona y qué no: las marcas deCURRENT_TIMESTAMPsiguen en UTC, y las fechas de entrega son días del calendario. Explica también por qué se cambia en el unit y no en la VM, y cómo comprobar que el proceso la tiene. En «Comprobar que salió bien» hay una comprobación más.scripts/deploy.shreinicia el servicio pero no vuelve a copiar el unit, así que fusionar esto no cambia nada en producción hasta hacer, una vez:Y comprobarlo:
Comprobado
systemd-analyze verifyacepta la línea nueva.npx vitest run: 350/350 (incluyechangelog.test.ts). No toca código de la app, así que no he lanzado los e2e.Fuera de este PR
systemd-analyze verifyavisa de algo que ya estaba:StartLimitIntervalSecen[Service]se ignora (va en[Unit]). El límite de «5 fallos en 60 s» que describe el comentario usa en realidad el intervalo por defecto de 10 s.Versión
1.28.4: va después de #96 (1.28.2) y #97 (1.28.3). Si este entra antes, el CHANGELOG y
package.jsonchocarán con ellos y habrá que renumerar.🤖 Generated with Claude Code