* Skip unwritten tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tidy jest fake timers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unnecessary sessionStorage mock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve async assertions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve error assertions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve object assertions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove assertion testing unclear mock
This test failed when ran individually, same as after the clearAllMocks call
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Avoid awaiting non-thenables
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Pass nop function when stubbing out console, vitest won't accept it any other way
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unnecessary mock which causes tests to fail after updating fetch-mock & fix typo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix mistaken assertions not testing all values in array
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix hidden non-running tests in room.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update fetch-mock-jest to @fetch-mock/jest
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make knip happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make knip happier 2.0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch from Jest to Vitest
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix CI
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unnecessary fake timers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update vite
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert irrelevant changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix coverage spec paths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix slow test reporter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix bad merge conflict resolution
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix babel config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Send/receive error details with widgets
* Fix embedded client tests
* Use all properties of error responses
* Lint
* Rewrite ternary expression as if statement
* Put typehints on overridden functions
* Lint
* Update matrix-widget-api
* Don't @link across packages
as gendoc fails when doing so.
* Add a missing docstring
* Set widget response error string to correct value
* Test conversion to/from widget error payloads
* Test processing errors thrown by widget transport
* Lint
* Test processing errors from transport.sendComplete
* Update src with globalThis
* Update spec with globalThis
* Replace in more spec/ places
* More changes to src/
* Add a linter rule for global
* Prettify
* lint
* Include HTTP response headers in MatrixError
* Lint
* Support MSC4041 / Retry-After header
* Fix tests
* Remove redundant MatrixError parameter properties
They are inherited from HTTPError, so there is no need to mark them as
parameter properties.
* Comment that retry_after_ms is deprecated
* Properly handle colons in XHR header values
Also remove the negation in the if-condition for better readability
* Improve Retry-After parsing and docstring
* Revert ternary operator to if statements
for readability
* Reuse resolved Headers for Content-Type parsing
* Treat empty Content-Type differently from null
* Add MatrixError#isRateLimitError
This is separate from MatrixError#getRetryAfterMs because it's possible
for a rate-limit error to have no Retry-After time, and having separate
methods to check each makes that more clear.
* Ignore HTTP status code when getting Retry-After
because status codes other than 429 may have Retry-After
* Catch Retry-After parsing errors
* Add test coverage for HTTP error headers
* Update license years
* Move safe Retry-After lookup to global function
so it can more conveniently check if an error is a MatrixError
* Lint
* Inline Retry-After header value parsing
as it is only used in one place and doesn't need to be exported
* Update docstrings
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Use bare catch
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Give HTTPError methods for rate-limit checks
and make MatrixError inherit them
* Cover undefined errcode in rate-limit check
* Update safeGetRetryAfterMs docstring
Be explicit that errors that don't look like rate-limiting errors will
not pull a retry delay value from the error.
* Use rate-limit helper functions in more places
* Group the header tests
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>