39 Commits
Author SHA1 Message Date
ilia 2c65b59848 Merge pull request 'Release 0.5.0' (#18) from release/0.5.0 into main
CI / skip-ci-check (push) Successful in 35s
CI / secret-scan (push) Successful in 34s
CI / build-and-test (push) Successful in 1m17s
CI / release (push) Successful in 1m33s
CI / selftest (push) Successful in 46s
v0.5.0
2026-08-09 18:34:20 -05:00
ilia 287d4d8fda Release 0.5.0: Outline-session helpers and resilient UI automation.
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 34s
CI / build-and-test (pull_request) Successful in 55s
CI / secret-scan (pull_request) Successful in 33s
CI / selftest (pull_request) Successful in 51s
2026-08-09 19:31:47 -04:00
ilia 8c030fe48c Merge pull request 'Outline-session browser helpers' (#17) from feat/outline-session-hardening into main
CI / release (push) Has been skipped
CI / skip-ci-check (push) Successful in 35s
CI / secret-scan (push) Successful in 34s
CI / build-and-test (push) Successful in 55s
CI / selftest (push) Successful in 1m9s
2026-08-09 18:16:53 -05:00
ilia 8c2af03be3 Add Outline-session browser helpers for hidden aria twins and uploads.
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 35s
CI / secret-scan (pull_request) Successful in 34s
CI / build-and-test (pull_request) Successful in 55s
CI / selftest (pull_request) Successful in 1m9s
preferVisible (default on click), setFilesViaChooser, and cookiesToBearer
came out of driving notes.levkin.ca where Radix menus and attachment APIs
needed session reuse without re-auth.
2026-08-09 19:13:54 -04:00
ilia 6beb051fda Merge pull request 'docs: public-safe AGENTS writing-docs link' (#16) from chore/agents-public-link into main
CI / release (push) Has been skipped
CI / skip-ci-check (push) Successful in 31s
CI / secret-scan (push) Successful in 30s
CI / build-and-test (push) Successful in 49s
CI / selftest (push) Successful in 39s
2026-08-06 10:15:03 -05:00
ilia 54e5698649 docs: public-safe AGENTS writing-docs link
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 31s
CI / secret-scan (pull_request) Successful in 30s
CI / build-and-test (pull_request) Successful in 56s
CI / selftest (pull_request) Successful in 40s
2026-08-06 11:12:19 -04:00
ilia 4279badc5d Merge pull request 'Scrub LAN IPs from public docs' (#14) from chore/public-docs-hygiene into main
CI / skip-ci-check (push) Successful in 30s
CI / release (push) Has been skipped
CI / secret-scan (push) Successful in 30s
CI / build-and-test (push) Successful in 55s
CI / selftest (push) Successful in 41s
2026-08-05 16:40:11 -05:00
ilia ae114cbc50 Scrub LAN IPs from public docs
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 33s
CI / build-and-test (pull_request) Successful in 51s
CI / secret-scan (pull_request) Successful in 30s
CI / selftest (pull_request) Successful in 39s
2026-08-05 17:29:43 -04:00
ilia d5521fcf43 Merge pull request 'Humanize README tone' (#13) from docs/humanize-prose into main
CI / release (push) Has been skipped
CI / skip-ci-check (push) Successful in 30s
CI / build-and-test (push) Successful in 1m17s
CI / secret-scan (push) Successful in 30s
CI / selftest (push) Successful in 39s
2026-08-05 14:25:49 -05:00
ilia 3943b75b77 Humanize README tone for public mirror
CI / skip-ci-check (pull_request) Successful in 31s
CI / release (pull_request) Has been skipped
CI / build-and-test (pull_request) Successful in 52s
CI / secret-scan (pull_request) Successful in 30s
CI / selftest (pull_request) Successful in 41s
Plain opening prose; keep badges and install facts. Aligns with
project-template docs/writing-docs.md.
2026-08-05 15:04:19 -04:00
ilia 7f1ead0c4a Merge pull request 'Polish README and add CONTRIBUTING for public GitHub' (#11) from chore/github-inviting-polish into main
CI / release (push) Has been skipped
CI / skip-ci-check (push) Successful in 29s
CI / build-and-test (push) Successful in 58s
CI / secret-scan (push) Successful in 29s
CI / selftest (push) Successful in 45s
2026-08-05 13:47:50 -05:00
ilia 7cb1c50baa Polish README and add CONTRIBUTING for public GitHub
CI / skip-ci-check (pull_request) Successful in 37s
CI / release (pull_request) Has been skipped
CI / build-and-test (pull_request) Successful in 55s
CI / secret-scan (pull_request) Successful in 29s
CI / selftest (pull_request) Successful in 49s
2026-08-05 14:47:18 -04:00
ilia 0d703bfed7 Merge pull request 'Prepare public GitHub mirror: scrub LAN IPs' (#10) from chore/github-mirror-prep into main
CI / skip-ci-check (push) Successful in 32s
CI / release (push) Has been skipped
CI / secret-scan (push) Successful in 30s
CI / build-and-test (push) Successful in 1m4s
CI / selftest (push) Successful in 39s
2026-08-05 11:35:07 -05:00
ilia 114bebd881 fix public example IPs for mirror prep
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 39s
CI / secret-scan (pull_request) Successful in 30s
CI / build-and-test (pull_request) Successful in 1m1s
CI / selftest (pull_request) Successful in 49s
Use 10.255.255.1 (private, non-homelab) instead of invalid 10.0.10.x.
2026-08-05 12:31:55 -04:00
ilia 18f8ffce15 Prepare public GitHub mirror: LICENSE and scrub LAN IPs
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 33s
CI / secret-scan (pull_request) Successful in 31s
CI / build-and-test (pull_request) Failing after 1m22s
CI / selftest (pull_request) Has been skipped
2026-08-05 12:28:27 -04:00
ilia 0c5efe4de7 Merge pull request 'Add ESLint gate, actions/redact unit tests; fix README release drift' (#9) from chore/eslint-and-readme-accuracy into main
CI / skip-ci-check (push) Successful in 21s
CI / release (push) Has been skipped
CI / secret-scan (push) Successful in 23s
CI / build-and-test (push) Successful in 1m5s
CI / selftest (push) Successful in 58s
2026-07-26 14:55:01 -05:00
ilia fafb1e9676 Add ESLint gate, actions/redact unit tests; fix README release drift.
CI / skip-ci-check (pull_request) Successful in 19s
CI / release (pull_request) Has been skipped
CI / build-and-test (pull_request) Successful in 55s
CI / secret-scan (pull_request) Successful in 17s
CI / selftest (pull_request) Successful in 54s
- README Release section now matches CI reality: tag push publishes to the
  Gitea npm registry AND creates the Gitea release (was described as
  visibility-only, predating the npm publish step).
- ESLint flat config (eslint + typescript-eslint recommended); `npm run lint`
  is now eslint (typecheck stays separate) and CI build-and-test gates on it.
  One real finding fixed: dead import in src/mail/index.ts.
- New vitest coverage for the previously untested src/browser/actions.ts
  (click/fill retries, safeGoto, waitForUrlHost, assertPublicHost, BasePage
  URL building) and src/logging/redact.ts (redactSecrets).
2026-07-26 15:48:31 -04:00
ilia c704df85bf Merge pull request 'Add resilient UI helpers for third-party / adversarial SPAs' (#8) from feat/resilient-ui-helpers into main
CI / release (push) Has been skipped
CI / skip-ci-check (push) Successful in 4s
CI / build-and-test (push) Successful in 16s
CI / secret-scan (push) Successful in 4s
CI / selftest (push) Successful in 11s
2026-07-15 17:18:24 -05:00
ilia 8b30ab5a6d Add resilient UI helpers for third-party / adversarial SPAs.
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 5s
CI / secret-scan (pull_request) Successful in 4s
CI / build-and-test (pull_request) Successful in 23s
CI / selftest (pull_request) Successful in 15s
Generalize patterns from LinkedIn automation: aria-label regex locators,
dialog reopen-retry, contenteditable typing, persistent flag-file sessions,
and a default noise exclude preset for NetworkErrorMonitor.
2026-07-15 18:17:02 -04:00
ilia ee7b130db0 Merge pull request 'ops: require npm publish; close Outline/npm checklist' (#7) from docs/ops-hygiene-tokens into main
CI / skip-ci-check (push) Successful in 7s
CI / release (push) Has been skipped
CI / build-and-test (push) Successful in 32s
CI / secret-scan (push) Successful in 3s
CI / selftest (push) Successful in 16s
2026-07-15 10:06:38 -05:00
ilia 84393be785 Close playkit ops gap: require npm publish, mark Outline/npm done.
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 4s
CI / secret-scan (pull_request) Successful in 4s
CI / build-and-test (pull_request) Successful in 23s
CI / selftest (pull_request) Successful in 27s
Remove release soft-fail now that NPM_PUBLISH_TOKEN works; refresh OPS/OUTLINE/ROADMAP for the live Outline doc and published 0.4.0 registry package.
2026-07-15 11:06:20 -04:00
ilia fdbc60506a Merge pull request 'docs: OPS checklist for npm publish + Outline scopes' (#6) from docs/ops-outstanding-checklist into main
CI / skip-ci-check (push) Successful in 7s
CI / release (push) Has been skipped
CI / build-and-test (push) Successful in 38s
CI / secret-scan (push) Successful in 4s
CI / selftest (push) Successful in 21s
2026-07-15 08:43:15 -05:00
ilia 05f93d0330 docs: OPS checklist for npm token + Outline scopes
CI / skip-ci-check (pull_request) Successful in 6s
CI / release (pull_request) Has been skipped
CI / build-and-test (pull_request) Successful in 46s
CI / secret-scan (pull_request) Successful in 4s
CI / selftest (pull_request) Successful in 17s
Record outstanding one-time UI steps after v0.4.0, add publish-gitea-npm.sh,
and align outline-sync body with the live Playkit page format.
2026-07-15 09:39:45 -04:00
ilia 029f192f55 Merge pull request 'fix(release): soft-fail npm publish until package write token' (#5) from fix/release-npm-publish-auth into main
CI / release (push) Has been skipped
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 3s
CI / build-and-test (push) Successful in 16s
CI / selftest (push) Successful in 11s
2026-07-15 08:17:32 -05:00
ilia 8489dd95d6 fix(release): soft-fail npm publish until package token is scoped
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 5s
CI / secret-scan (pull_request) Successful in 4s
CI / build-and-test (pull_request) Successful in 16s
CI / selftest (pull_request) Successful in 11s
Gitea Release for v0.4.0 succeeded; npm registry returned E401 without
write:package. Keep release green and document the token follow-up.
2026-07-15 09:14:25 -04:00
ilia a086ca4bf4 Merge pull request 'feat: playkit v0.4 — npm registry, CLI, retry presets' (#4) from feat/v0.4-kit-polish into main
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 4s
CI / build-and-test (push) Successful in 36s
CI / release (push) Failing after 51s
CI / selftest (push) Successful in 13s
v0.4.0
2026-07-15 08:10:51 -05:00
ilia 6d88818fae Release 0.4.0: npm registry publish, playkit CLI, retry presets
CI / skip-ci-check (pull_request) Successful in 5s
CI / release (pull_request) Has been skipped
CI / build-and-test (pull_request) Successful in 24s
CI / selftest (pull_request) Successful in 23s
CI / secret-scan (pull_request) Successful in 4s
Add Gitea npm publish on tag release, `playkit init`/`smoke` CLI,
and PLAYKIT_RETRY_PRESET profiles. Document install + consumer scaffold.
2026-07-15 09:06:23 -04:00
ilia d53d1ad2c7 Merge pull request 'feat: selftest CI, Outline sync, ops soak notes' (#3) from feat/selftest-outline-ops-soak into main
CI / skip-ci-check (push) Successful in 6s
CI / release (push) Has been skipped
CI / build-and-test (push) Successful in 38s
CI / secret-scan (push) Successful in 7s
CI / selftest (push) Successful in 51s
2026-07-15 08:03:49 -05:00
ilia 68b04bd826 fix(ci): pin selftest Playwright image to v1.61.1 matching lockfile
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 5s
CI / secret-scan (pull_request) Successful in 5s
CI / build-and-test (pull_request) Successful in 18s
CI / selftest (pull_request) Successful in 39s
npm ci was resolving @playwright/test@1.61.1 against a v1.52.0 container,
so Chromium binary paths mismatched and browser specs failed.
2026-07-15 09:00:31 -04:00
ilia afaa987218 Add kit selftest CI, Outline sync script, and close ops soak gaps
CI / release (pull_request) Has been skipped
CI / skip-ci-check (pull_request) Successful in 4s
CI / secret-scan (pull_request) Successful in 4s
CI / build-and-test (pull_request) Successful in 16s
CI / selftest (pull_request) Failing after 39s
Fake-site Playwright suite catches BasePage/ApiClient/network regressions
before consumers pin a broken tag; Outline sync + docs for QA & Dev live page;
Pushgateway deploy soak confirmed separately on observability LXC.
2026-07-14 22:56:07 -04:00
ilia 3380ba9511 Release 0.3.1: network interception helpers, fix release-token secret name
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 4s
CI / release (push) Successful in 22s
CI / build-and-test (push) Successful in 28s
- Bump package.json/lock to 0.3.1, move Unreleased CHANGELOG entries under it
- Fix release CI job: secrets.GITEA_TOKEN can never be set (Gitea rejects
  that literal secret name), so the release job has been unable to create
  a Gitea release since it was added. Renamed to RELEASE_TOKEN throughout
  and set the secret on this repo.
- Bump install-pin examples (README, docs/CONSUMER.md) to #v0.3.1
v0.3.1
2026-07-14 21:22:56 -04:00
ilia 2674f58643 Expand unit tests for network helpers
CI / release (push) Has been skipped
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 3s
CI / build-and-test (push) Successful in 17s
2026-07-14 19:59:36 -05:00
ilia 6e3763f44f Network helpers, docs hygiene, Outline sync notes
CI / skip-ci-check (push) Successful in 6s
CI / release (push) Has been skipped
CI / build-and-test (push) Successful in 42s
CI / secret-scan (push) Successful in 2s
2026-07-14 19:50:42 -05:00
ilia 7369b1c5e5 Release playkit v0.3 with Zod asserts and auth helpers
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 3s
CI / build-and-test (push) Successful in 16s
Add assertSchema/ApiClient schema option, storageState helpers, and
playkitFailureArtifacts preset for consumer e2e suites.
v0.3.0
2026-07-14 19:01:42 -04:00
ilia a52fe89372 Add Mailpit client and createMailInbox factory
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 3s
CI / build-and-test (push) Successful in 15s
Homelab Mailpit is the default mail trap; Mailtrap SaaS remains optional.
v0.2.1
2026-07-14 17:14:58 -04:00
ilia 2f3991dadc Add Mailtrap client for email e2e assertions
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 3s
CI / build-and-test (push) Successful in 15s
Ship MailtrapClient.waitForEmail + link helpers so consumers can prove
forgot-password/verify mail without relying on real inboxes.
v0.2.0
2026-07-14 16:22:26 -04:00
ilia 2b8c7d86f3 Add prepare build so git consumers get dist/
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 3s
CI / build-and-test (push) Successful in 14s
npm install from a git tag must produce dist/ for @levkin/playkit.
v0.1.1
2026-07-14 16:07:59 -04:00
ilia af12a92eb7 Add @levkin/playkit v0.1 shared Playwright/API kit
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 3s
CI / build-and-test (push) Successful in 10s
Ship browser helpers with public-host guards, ApiClient, structured
logging, Prometheus timings, CI, examples, and ROADMAP for consumers.
v0.1.0
2026-07-14 16:04:23 -04:00
ilia 6d13661660 Initial commit 2026-07-14 15:01:26 -05:00