* Add multi-digit support for overlay badges and tests
Fix multi-digit notification badge in Windows taskbar overlay
The BadgeOverlayRenderer reused the over-baseImage layout for the
standalone 16x16 overlay, which pushed multi-digit badges off the left
of the canvas (e.g. "10" rendered as just "0"). Keep the pill inside
the canvas bounds in the no-baseImage path and reduce its height for
multi-digit counts so the rounded-rect path actually produces a pill.
Adds a Playwright test that bundles favicon.ts with esbuild, drives
the real BadgeOverlayRenderer in Chromium, and writes the resulting
PNGs to disk plus a scaled-up screenshot snapshot for regression
detection.
Include summary for overlay and favicon
* add esbuild as devDependency
* Update pnpm-lock.yaml
* e2e -> unit test
* Fix regression on vertical alignment of the badge text
* Update pnpm-lock.yaml
* Fix prettier formatting in favicon.ts and image snapshot tests
* Clamp Windows overlay badge at "99+"
Clamp Windows overlay badge at "99+"
The Windows taskbar overlay is only 16x16 px and the platform's own
notification badges clamp at "99+", so do the same here rather than
trying to fit three-digit counts or "1k+" labels into the tiny canvas.
Browser-tab favicons are unaffected and still render larger counts.
* Move badge rendering tests to vitest browser mode
* Rename browser tests to *.test.browser.ts
* Exclude browser tests from jest coverage collection
* Scope browser matcher types to the browser tests
* Tell knip @vitest/browser is used via tsconfig types
---------
Co-authored-by: David Langley <langley.dave@gmail.com>
* Implement tombstone tile view for a room
* Implement tombstone tile view for a DM
* Implement root call tile view
* Export all the views
* Add screenshots
* Remove old view code
* Implement vm for tombstone tile in a room
* Implement vm for tombstone tile in a DM
* Implement root tile vm
* Use new tile in the event factory
* Remove old vm
* Exclude mock code from code checks
* Improve accessibility of playwright fixture documentation
Empirically. by pulling the type definitions for the playwright fixtures out to
a type alias, we get better documentation for those fixtures.
* Exclude playwright-common from coverage checks
* Use vitest for some EW unit tests
* Ensure library builds are done before unit tests
* Stabilise jest tests
* Move more tests over
* Make sonar happier
* Update types/node for happy-dom compat again
* Decrease max-workers to stabilise jest tests
* Split jest over 3 runners to alleviate memory woes
* Switch jest to runInBand
* Attempt to deflake jest tests
* tweak coverage
* tweak coverage
* Consolidate modules vitest coverage
* Use vite-common as base for modules vitest config
* Make knip happier
* Fix coverage paths
* Place modules unit tests alongside src
* Switch to defineProject for better type safety
* Consolidate vitest CI & coverage
Kills off vite-common
* Update comment
* Update lockfile
* Fix shared-components vitest config
* Soften eslint config for tests in modules
* Run eslint on modules/playwright dir too
* Make tsc happy