Skip to content

v0.62.0

Choose a tag to compare

@PhenX PhenX released this 27 Oct 22:20
085a373

This release turns a stopped test into a place to write it: pause, step and resume a running test from VS Code and JetBrains IDEs, write assertions, mocks and code at the stop, hold a failure at its line for a watched run, and follow and steer the editor's runs from Piwi Picker's runs window; the reporter also finds servers and processes piling up and draws a test's resources on the failure timeline.

Full diff: v0.61.0…v0.62.0

✨ Highlights

  • ⏯️ Pause, step and resume from the editor — Control a running test from VS Code and the JetBrains IDEs, and start the pause bar's pick and recording at a stop.
  • ✍️ Write code at a stop — Write assertions, mocks and other code from a paused test, rendered by the editor service and written by VS Code or JetBrains, with a count of the locator under the cursor or caret.
  • 🛑 Held failures — A failure in a watched run is held at its line with its error named, and shown in the editor and in Piwi Picker's runs window.
  • 🪟 A runs window in Piwi Picker — Follow and steer the editor's runs from a runs window and a global shortcut, through a local hub, and see what each code from a stop came to.
  • 📊 Resources that pile up — The reporter finds servers, child processes and more piling up, places them at their line, and the failed execution's timeline draws the test's worker resources.
  • 🚦 Status-setting runs — A status filter picks the runs that set a project's status.
  • 🔗 Desktop handoff — The browser tab closes after handing a link to the desktop app, and the dev server moves to port 7494.

Features

Stopped tests in the editor

  • ide: pause, step and resume a running test from VS Code and the JetBrains IDEs (25e4d0f)
  • ide: write assertions and mocks from a paused test, and hold a failure for a watched run (7fc8c44)
  • ide: render the code made at a stopped test and send it to the client to write (8ff645c)
  • ide: write code at a stop from VS Code, count the cursor's locator and show a held failure (3b814cc)
  • ide: write code at a stop from a JetBrains IDE, count the caret's locator, show a held failure (5ce43e8)
  • reporter: do a stopped test's page work for code from a stop, and hold a failure (9b92f78)
  • reporter: name the error of a failure held at its line (d838663)
  • reporter: start the pause bar's pick and recording at a stop from the editor (f39ac1b)

Piwi Picker's runs window

  • extension: follow and steer the editor's runs from Piwi Picker's runs window and a global shortcut (0efe109, 78188a9)
  • ide: let Piwi Picker find the editor's runs and steer them through a local hub (32c85cc)
  • extension: write code from a stopped test in the runs window, and show a failure held there (edc560f)
  • extension: show in the runs window what each code from a stop came to (efc5e32)
  • ide: tell Piwi Picker what each code from a stop came to, and a failure's error (ce8a281)

Resources & leaks

  • reporter: find servers, processes and more piling up; show resources on the failure timeline (070bd97)
  • reporter: place servers and child processes at their line and see more piling up (168c0ed)
  • ui: draw the test's worker resources on a failed execution's timeline (b3af9e4)

Dashboard & desktop

  • app: pick the runs that set a project's status with a status filter (eee75af, 0ea692c)
  • app: close the browser tab after handing a link to the desktop app, and move the dev server to port 7494 (0bd85b3, 699591f)
  • ui: show the way a guide takes to each stop and number the parts it explains (ce5d3de, 609f222)

Performance Improvements

  • reporter: take the close-time page reads together, during the probe drain, closes #911 (fbd358c, 7086221)

Bug Fixes

  • close the review findings in the editor, CLI, extension, server and attachment reads (c5f4417)

Stops & held failures

  • reporter: hold a failure once its test ended, and keep what it shows to the failure (f03229c)
  • reporter: hold a failure only for an editor that shows one, and send no secret of a region (21a856d)
  • reporter: let a stop that comes once the test's teardown began go on unshown (28cde68)
  • reporter: let a waiting stop go on when its context or page closes (3114dda)
  • reporter: refuse an intent at a stop that is ending or whose page is a guess (ca12f89)
  • ide: hold a failure only while a runs window follows, and write a rerun's code where it stands (bd07ebf)
  • ide: tell no client of a failure nobody watches, and name the locator a count refuses (fe9c750)
  • ide: write no code at a stop's line where no statement starts (050f5cb)
  • ide: count the locator again when the caret comes back, and write in a JetBrains file once open (bb56715)
  • ide: name the code actions shorter above the stopped line, so the stop's row fits (c29f034)
  • ide: draw the paused line's icon with the editor's own icons (715a721)
  • ide: say on the hub that a stop whose page is not known has no image (c0f6c15)

Editors

  • ide: run the test at the cursor by its describe blocks, not by its title alone (e5b34fc)
  • ide: read a spec's tests past comments, and take the only case of a title (c48f1c8)
  • ide: skip only commented-out lines, read regex literals, and fall back narrowly (568840d)
  • ide: read the bundled service's discovery file once it is renamed into place (3433b5e)

Credentials & pairing

  • auth: authenticate before looking up a route's id (aee379a)
  • ide: have the editor prove it holds the pairing's token, and harden the hub (1b8697c)
  • reporter: keep the editor's pairing token from the processes a test starts (a0706de)
  • ide: hide the credentials in every URL of a stopped test's requests (238b76b)
  • extension: hide every credential a mock writes, by name and by shape (27ad79f)
  • extension: hide a mock's credentials by one written rule, keeping a URL's host and ids (cbd28b1)

Piwi Picker

  • extension: follow the runs only while a runs window is open, and say code was sent, not written (6a3b831)
  • extension: prove the editor on its live route and keep the runs window's controls in place (3e3da57)
  • extension: start a replay from a page only on that page's origin (ec5ec2d)
  • extension: bind a page's replay origin to its frame as well as its tab (e40a7cb)

Reporter CLI & attachments

  • reporter: read the project's .env in bug, codegen and the other CLI commands (dfceb36)
  • reporter: pair a .env URL with its own key, and match the reporter's fallback mode (c24bdc5)
  • reporter: honor PIWI_DESKTOP_APP in the CLI and say when --api-key is not sent (f0eeffe)
  • reporter: read Piwi attachments only with the content type the fixtures write (c1102fa)
  • reporter: write the aria snapshot with a content type a browser server cannot give (accafbd)

Dashboard

  • app: read step locations relative to the run's working directory (916ca4d)
  • app: read step locations relative to the project and name the test's own slow HTTP call (6691411)
  • app: resolve status filters in one query and tighten their edge cases (eec3695)
  • ui: point at the tab a guide selects and keep the path line to the stop's own tab (a56d1eb)
Build, release and demo fixes — installers, release notes and the demo's scripts
  • deps: keep OpenTelemetry on SDK 2 so the Windows installers build again (43a34f1)
  • release: keep the release notes, and the previous release latest until installers are in (6d30525)
  • demo: load Playwright and Chromium in the demo media scripts as the other scripts do (a9f1fe2)
  • demo: regenerate the dev seed without rewriting the committed seed version (25bba51)