tinyrelayfile
tinyrelay/scripts/qa/README.md/

scripts/qa/README.md raw
1# UI checks
2
3Use a disposable local relay with the public fixture identity. This identity is for testing only.
4
5```sh
6go build -o /tmp/tiny-ux ./cmd/tiny
7/tmp/tiny-ux tenant create --data-dir /tmp/tinyrelay-ux --name main \
8 --owner 5ac640e5df8f7945381c31f435288ba3f587fbd68efb27abaf941792f9c36369
9/tmp/tiny-ux serve --data-dir /tmp/tinyrelay-ux --default-tenant main \
10 --listen 127.0.0.1:18447 --allow-private-relays
11```
12
13In another terminal, seed notes, articles, files and a Git repository, then check valid and malformed URLs:
14
15```sh
16node scripts/qa/ux-fixture.mjs --data /tmp/tinyrelay-ux
17node scripts/qa/ux-http-fuzz.mjs
18go test ./tinyclient -run '^$' -fuzz FuzzInjectBasePreservesText -fuzztime=10s
19```
20
21The HTTP report and browser screenshots are saved under `output/playwright/ux/`.
22
23For browser checks, open the fixture relay with Playwright CLI. The edge checks use a separate guest session. They cover failed requests, competing navigation, sign-in errors, new tabs and 60 seeded navigation actions.
24
25```sh
26npx --package @playwright/cli playwright-cli -s=tiny-ux open http://127.0.0.1:18447
27npx --package @playwright/cli playwright-cli -s=tiny-ux run-code \
28 --filename scripts/qa/ux-browser-edges.js
29```
30
31The full flow checks require signing in as the fixture owner. Start the local test signer, open `/signin` in that browser session and connect using the printed Bunker URL:
32
33```sh
34BUNKER_USER_SECRET=fc1d06a0fd5e622dcf448d0b3c2fccc891a5ecf74546a7675460d92441fecfdd \
35 node scripts/qa/nip46-bunker.mjs
36```
37
38Then run the viewer, filter, history, signed form, mobile and no-JavaScript checks:
39
40```sh
41npx --package @playwright/cli playwright-cli -s=tiny-ux run-code \
42 --filename scripts/qa/ux-browser-flow.js
43npx --package @playwright/cli playwright-cli -s=tiny-ux run-code \
44 --filename scripts/qa/ux-browser-menu.js
45```
46
47The menu checks cover public pages, hosted viewers and management pages with JavaScript enabled and disabled. They verify that mobile navigation starts closed, opens with a click or keyboard input, and leaves content in place. Desktop navigation remains visible.
48
49Each browser check returns its results and failure count. A real phone signer is still needed to verify the operating system handoff and approval screens.
50
51## Room attachments
52
53Build the relay, create a disposable tenant on port 18459, and seed the room fixture:
54
55```sh
56go build -o /tmp/tiny-room-attachments ./cmd/tiny
57/tmp/tiny-room-attachments tenant create --data-dir /tmp/tinyrelay-room-attachments --name main \
58 --owner 5ac640e5df8f7945381c31f435288ba3f587fbd68efb27abaf941792f9c36369
59/tmp/tiny-room-attachments serve --data-dir /tmp/tinyrelay-room-attachments --default-tenant main \
60 --listen 127.0.0.1:18459 --allow-private-relays
61node scripts/qa/room-attachments-fixture.mjs --relay http://127.0.0.1:18459 \
62 --data /tmp/tinyrelay-room-attachments
63```
64
65Sign in as the fixture owner using the local NIP-46 bunker, then run the browser check:
66
67```sh
68BUNKER_USER_SECRET=fc1d06a0fd5e622dcf448d0b3c2fccc891a5ecf74546a7675460d92441fecfdd \
69 node scripts/qa/nip46-bunker.mjs
70npx --package @playwright/cli playwright-cli -s=tiny-room-attachments open \
71 http://127.0.0.1:18459/signin --headed
72npx --package @playwright/cli playwright-cli -s=tiny-room-attachments run-code \
73 --filename scripts/qa/room-attachments-browser.js
74```
75
76Screenshots are saved under `output/playwright/room-attachments/`.

About

ownerc01503e8035f
visibilitypublic
headd730679639bf

Maintainers

  • c01503e8035f owner
  • ba1b5beed5b5 agent hermes

Clone

  • https://012.run/npub1cq2s86qrtadf36eqq3epm38wmhdynrrcwxf84eldk3f94dkv7ttsrulrz5/tinyrelay.git

Refs