Take the files screenshot with the others
It was the one shot taken by hand, and it outlived two rewrites of the view it was meant to show -- a picture of a single-pane file list, still in the docs after the pane grew a folder tree beside it. Nothing was wrong with the process except that there wasn't one. The script takes it now, expanding the tree and opening a folder first, since a screenshot of Files with nothing open is a screenshot of a list rather than of a file manager. Anything the docs show should come from the mock. Otherwise it describes whatever the app looked like on the day somebody had a screenshot tool open, which is how this one got three versions out of date without anybody noticing. The other shots in docs/screenshots are refreshed by the same run. The filters step timed out waiting for its editor, so filters.jpg is the older one; that shot is untouched by anything here and the failure is not diagnosed, which is worth knowing before the next person runs this and assumes they broke it.
@@ -11,6 +11,11 @@
|
|||||||
* Restart the mock before a run. The filters shot creates rules, so a second
|
* Restart the mock before a run. The filters shot creates rules, so a second
|
||||||
* run against the same mock shows them twice.
|
* run against the same mock shows them twice.
|
||||||
*
|
*
|
||||||
|
* The files shot was taken by hand until 2026-08-27, and had gone stale twice
|
||||||
|
* over by the time anyone noticed. Anything the docs show should be generated
|
||||||
|
* from the mock, or it describes whatever the app looked like on the day
|
||||||
|
* somebody had a screenshot tool open.
|
||||||
|
*
|
||||||
* Two shots are deliberately not taken here:
|
* Two shots are deliberately not taken here:
|
||||||
*
|
*
|
||||||
* - **mobile**, because at the tail of this sequence the app would not render
|
* - **mobile**, because at the tail of this sequence the app would not render
|
||||||
@@ -227,6 +232,23 @@ try {
|
|||||||
await sleep(1800);
|
await sleep(1800);
|
||||||
await shot("contacts.jpg");
|
await shot("contacts.jpg");
|
||||||
|
|
||||||
|
// --- files ---
|
||||||
|
// Was the one shot taken by hand, which is why it outlived two rewrites of
|
||||||
|
// the view it was meant to show. The tree makes it worth automating: opening
|
||||||
|
// a folder is now the difference between a screenshot of a file manager and a
|
||||||
|
// screenshot of a list.
|
||||||
|
await go("http://localhost:5173/files");
|
||||||
|
await waitFor("document.querySelector('.files-table, .files-layout')", "the files view");
|
||||||
|
await evaluate(`(() => {
|
||||||
|
// Expand the tree and open a folder, so the shot shows the pane doing its job.
|
||||||
|
const twisty = document.querySelector('.sidebar .nav-twisty');
|
||||||
|
if (twisty) twisty.click();
|
||||||
|
const folder = [...document.querySelectorAll('.sidebar .nav-item')].find(e => /Documents/.test(e.textContent || ""));
|
||||||
|
if (folder) folder.click();
|
||||||
|
})()`);
|
||||||
|
await sleep(1800);
|
||||||
|
await shot("files.jpg");
|
||||||
|
|
||||||
// --- filters, with rules that actually say something ---
|
// --- filters, with rules that actually say something ---
|
||||||
await go("http://localhost:5173/settings/filters");
|
await go("http://localhost:5173/settings/filters");
|
||||||
await evaluate(HELPERS);
|
await evaluate(HELPERS);
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 31 KiB |