mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-06 00:09:22 +00:00
## What Heals the Reports regression spec `reports-regression-bugs.spec.js` → *"Report save should not shift timestamp by timezone offset"* (@bug-11231), which was failing deterministically (all 4 retries) in both the OSS and ENT **Playwright Regression** runs: - OSS: https://github.com/openobserve/openobserve/actions/runs/31364820545 - ENT: https://github.com/openobserve/o2-enterprise/actions/runs/31364817885 This is **test-only** — the product is unaffected (the historical #11231 fix and normal report save both work; a save actually succeeds in the failing run). ## Root cause (two independent defects) 1. **Wrong success-toast selector (deterministic line-118 failure).** The save assertion used `page.getByRole('alert')`. `OToast` renders the **success** variant with `role="status"` — only **error/warning** toasts get `role="alert"` ([`OToast.vue`](https://github.com/openobserve/openobserve/blob/main/web/src/lib/feedback/Toast/OToast.vue) `rootRole`). So the assertion could never match a successful save and timed out. → now asserts on the success toast `[data-test-variant="success"]`, consistent with the rest of the file. 2. **Edit-prefill race (line-84 failure, the one captured in the trace).** On the edit flow, step-1 `Continue` could fire before the async edit prefill (`form.reset()` after the report GET) populated folder/dashboard/tabs. `goToStep()` then failed validation and silently stayed on step 1, so the schedule toggle never rendered and the test timed out looking for it. → `createReportContinueButtonStep1()` now retries the click until the schedule step is actually reached, **keeping** the original post-advance settle so downstream step-2 interactions (schedule-later toggle, step-2 Continue) don't race. Also dedups the spec's inline date/time entry through the existing `createReportDateTime()` helper (logic unchanged). ## Verification (local, `localhost:5080`) | Suite | Result | |---|---| | `reports-regression-bugs.spec.js` (target) | ✅ stable across repeated runs (1 + 3× repeat-each) | | `reportsScheduleLater.spec.js` | ✅ 6/6 | | `reportsScheduleNow.spec.js` + `reportCsvMediaType.spec.js` | ✅ 13/13 | The two changed page-object methods are shared with the sibling Reports specs above; all pass, confirming no regression. ## Scope The spec lives in OSS `tests/` and is tree-merged into the ENT regression run, so this single OSS change fixes both pipelines. No ENT repo change required; the ENT regression will be re-triggered against this branch.