Matthew Hodgson
efca432abd
Fix blank maps by bundling the maplibre-gl worker explicitly ( #35423 )
...
* Fix blank maps by bundling the maplibre-gl worker explicitly
maplibre-gl v6 locates its tile-parsing worker from `import.meta.url`,
which webpack inlines as a file:// path. maplibre rejects that, so no
worker is spawned and maps render only their background with no error.
Build the worker as its own entry and point maplibre at it.
* Resolve the maplibre worker inside the hashed bundle directory
The webpack public path is the webapp root, not the bundle directory,
so the worker URL pointed at a file that does not exist and maplibre
hung silently. Ask webpack for the entry's full filename instead.
* Test that maplibre is pointed at the bundled worker
2026-10-12 14:06:56 +00:00
Michael Telatynski
8359e4f150
Migrate remainder of Jest tests to Vitest ( #35084 )
...
* Migrate final batch of tests from Jest to Vitest
* Update test-utils imports
* Move test-utils
* Remove the remainder of Jest
* Make tsc & knip happy
Conflicts:
pnpm-lock.yaml
* Fix bad merge conflict
* Iterate
2026-09-18 11:13:19 +00:00
Michael Telatynski
5477ee888f
Migrate more tests to Vitest ( #35079 )
2026-09-16 15:40:17 +00:00
Michael Telatynski
caac02ec46
Migrate batch of Jest tests to Vitest ( #34998 )
2026-09-09 15:14:50 +00:00
Michael Telatynski
4aa1a3549e
Enable oxlint restriction ruleset ( #34307 )
...
* Remove stale max-len disablements
* Remove stale camelCase & naming-convention disablements
* Remove stale ban-ts-comment disablements
* Remove stale no-var disablements
* Remove stale no-empty-property disablements
* Remove stale react rule disablements
* Remove stale no-constant-condition disablements
* Remove stale no-unused-vars disablements
* Remove stale disablements for disabled rules
* fixup camelcase
* Remove dead code
* Tidy code
* Tweak oxlint config
* Use oxlint to apply jsx/tsx extension consistently
* Fix import
* Fix imports
* Rename affected snapshots
* Update more imports
* Enable restriction ruleset
* Make code comply with new rules
* Make code comply with react/button-has-type
* Make code comply with typescript/non-nullable-type-assertion-style
* Comply with node/no-process-env
* Comply with unicorn/prefer-node-protocol
* Comply with unicorn/import-style
* Comply with unicorn/no-process-exit
* Comply with no-proto
* Comply with node/handle-callback-err
* Comply with import/no-commonjs
* Comply with node/no-path-concat
* Comply with unicorn/no-length-as-slice-end
* Comply with unicorn/no-document-cookie
* Comply with unicorn/prefer-module
* Comply with typescript/prefer-literal-enum-member
* Comply with jsx-a11y/anchor-ambiguous-text
* Tweak oxlint config
* Fix resolves
* Iterate
* Iterate
* Iterate
* Iterate
* Iterate
* Iterate
* Iterate
2026-08-04 09:15:07 +00:00
Michael Telatynski
27906ce6e7
Migrate more tests to vitest ( #34355 )
...
* Remove doubled-up I18n Provider. ModalManager already provides this.
* Reconfigure svgr into a vite-friendly `?react` resource query
* Move InviteDialog test to vitest
* Move RoomHeader tests to Vitest
* Share serializer between Jest & Vitest
* Attempt to stabilise InviteDialog test
* Fix async leaks
* Migrate more tests to vitest
* Migrate MatrixChat test to vitest
* Deflake
* Iterate
* Iterate
* Iterate
2026-07-30 09:11:29 +00:00
Michael Telatynski
2430e0ab8b
Move some of the slowest tests from jest to vitest ( #34277 )
...
* Remove doubled-up I18n Provider. ModalManager already provides this.
* Reconfigure svgr into a vite-friendly `?react` resource query
* Move InviteDialog test to vitest
* Move RoomHeader tests to Vitest
* Share serializer between Jest & Vitest
* Attempt to stabilise InviteDialog test
* Fix async leaks
* Iterate based on copilot review
* Fix InviteDialog throttle
* Iterate
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Fix lockfile
* Iterate
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-22 13:18:04 +00:00
Michael Telatynski
15c85ec50f
Switch from eslint to oxlint ( #34166 )
...
* Fix type imports
* Fix jsdoc
* Fixup types
* Fix stray awaits on non-thenables
* Fixup imports
* Fix splats
* Fix this-context on callbacks
* Memoise react contexts
* Prefer find/flatMap
* Make oxlint happier about our React keys
* Avoid unsafe default function params
* Fixup jsdoc
* Fixup contexts
* Switch from eslint to oxlint
* Some oxlint-related tweaks
* Iterate
* Partial revert to defer some changes and shrink diff
* Iterate
* Add eslint-plugin-element-call and enable the copyright rule
* Set strictStorePkgContentCheck
* Iterate
* Make sonar happy
* Fix new lints
2026-07-10 09:47:41 +00:00
Michael Telatynski
45234b9c94
Migrate more jest tests to vitest ( #33898 )
...
* Migrate more jest tests to vitest
* Fix jest config
* Fix jest config
* Make remaining jest tests type-happy
2026-06-19 15:34:18 +00:00
Michael Telatynski
7bb842e8d4
Replace override raw-loader with ?raw query ( #33854 )
...
* Replace override raw-loader with `?raw` query
For compatibility with vite/st
* Make knip happy
* Fix icon in Jitsi lobby
* Fix jest config for `?raw`
* Remove stale `$webapp` alias
* Ensure css files loaded as `?raw` do not get bundled
2026-06-18 09:36:07 +00:00
Michael Telatynski
91a3cb03c1
mv element.io @types __mocks__/ debian docker module_system/ playwright res src test webapp Dockerfile .dockerignore .eslintignore .stylelintrc.cjs babel.config.cjs recorder-worklet-loader.cjs .modernizr.json components.json config.json config.sample.json package.json project.json tsconfig.json tsconfig.module_system.json jest.config.ts playwright.config.ts webpack.config.ts build_config.sample.yaml apps/web/
...
mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts
And a couple of gitignore tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2026-02-24 15:43:58 +00:00