Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ All notable changes to the **`@reticlehq/*`** packages are documented here (each

### Fixed

- **`@reticlehq/server` — a declared route or role/name/testid element no longer loses to an unread body.** `act_and_wait` with `until: { kind: "route", pathname: "/lobby" }` (or an element located by `role`/`name`/`testid`) watched the named consequence hold, then graded `unknown / outcome_unread` because the write's response body was not captured. The unread clause is for when the body is the only remaining channel; a route the caller named before the action, and that Reticle watched happen, is not that. `text`/`value` locators and signals/store paths were already in the set. Closes [#507](https://github.com/reticlehq/reticle/issues/507).
- **`@reticlehq/server` — a route assertion works on a hash router.** The document pathname is `/` on every page under `HashRouter`, which is the default router for a packaged Electron or Tauri renderer, and six places read it: `{ kind: "route", pathname }` could never pass, `summary.route` reported `/` after every navigation, `reticle_record` proposed a route consequence that was both unsatisfiable and rejected by `reticle_assert` as an unknown field, a recording's `startPath` stored `/`, the wrong-page hint compared `/` to `/` and never fired, and every replay step reported `page: "/"`. All six now read the router's own path.

- **`@reticlehq/server` — an absence assertion over a window that lost evidence is `unknown`, not a pass.** `reticle_assert` never consulted the ring buffer, so `{ kind: "console", absent: true }` could return `verified: "yes"` over a window whose scarce evidence had been evicted, and the evicted error is exactly what would have failed it. Only absence claims are impeached: a positive assertion that passed found its evidence, and age eviction runs continuously, so treating every wide window as unclean would make `unknown` the answer to almost everything.
Expand Down
Loading