qo
Qovery
GitHub
console
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
console
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
2899
7e68d8cc fix(blueprint): center preview outcome messages and contain fake timers in specs What: The raw output container is now a flex column, and the no-changes and failure branches fill it with `flex-1` instead of `h-full`. The failure block carries `font-sans` on its wrapper instead of on the summary span alone. Both preview specs restore real timers in `afterEach` rather than on the last line of the fake-timer test. Why: `h-full` resolves a percentage height against the parent's height, and the container only sets `min-h-[180px]`, leaving its height `auto`. The percentage collapsed to the content height, so `justify-center` had no free space to work with: measured in Chromium, the child was 20px tall with 173px of dead space under it, top-aligning the message in the 180px band. Everything in the failure block except the summary line also inherited `font-mono` from the container. In the specs, `jest.useRealTimers()` sat after the final assertion, so a failing assertion would leave fake timers installed for every later test in the file. Notes: Verified in Chromium: the branch content is now 180px tall with symmetric 13px gaps. The diff branch is unaffected — its `pre` keeps its full height inside the fixed-height container and still scrolls, and its bottom padding is now honored, which flex scroll containers do and block ones truncate.
by Antoine
A
Succeeded
2899
bd587fd4 fix(blueprint): render every preview outcome instead of spinning forever What: The blueprint update preview now settles on an explicit outcome (pending / diff / no-changes / error / cancelled / timeout) instead of a raw output string plus three booleans. The hook matches all four BlueprintPreviewResult variants exhaustively, treats a diff with a blank payload as "no changes", surfaces the error frame's message, fails fast when the socket closes before any frame, and bounds the wait with a 12-minute watchdog. The step component renders one branch per outcome and gates "Confirm & deploy update" on a successful preview. Why: The websocket contract sends exactly one frame then closes, and it has four variants. The hook only handled `diff` and dropped `error`, `cancelled` and `timeout` through a catch-all, so the component — which keyed its render on whether the raw output string was non-empty — showed the loading skeleton forever in all three cases, and in the empty-diff case too. Confirm was gated on "a message arrived" rather than on the outcome, so it went live while the skeleton was still animating. A failed preview was therefore indistinguishable from one still running, and the user could deploy anyway. Notes: Verified by reproducing first: a temporary spec asserting the broken behaviour (skeleton rendered + Confirm enabled for error/cancelled/timeout and for an empty diff) passed against the unfixed code and fails against this change. The watchdog is 12min, deliberately above the gateway's own 11min limit, so the server's timeout frame wins in the normal case and the watchdog only catches a socket that dies without delivering anything. onOpen is gone: `pending` is now the initial state, so there was nothing left for it to set. This is the console half of a wider fix. The backend still needs two changes to make failures fast rather than merely visible: q-core's preview broker reads only `message.fullDetails` in its `Diff` branch, so engine errors — which arrive at step `Diff` with the text in `error.userLogMessage` — are skipped, and it ignores the engine's `Terminated` step, so a run that ends without a diff waits out the full 10-minute consumer timeout. Separately, the engine's DIFF path drops the resolved timeout and runs `terraform plan` unbounded.
by Antoine
A
Previous
Next