Bumps the dev-dependencies group with 8 updates:
| Package | From | To |
|---|---|---|
| [@tauri-apps/cli](https://github.com/tauri-apps/tauri) | 2.11.4 | 2.11.5 |
| [@vitest/coverage-v8](github.com/vitest-dev/…/coverage-v8) | 5.0.1 | 5.0.2 |
| jsdom | 30.0.1 | 30.1.0 |
| knip | 6.35.1 | 6.37.0 |
| oxfmt | 0.68.0 | 0.69.0 |
| oxlint | 1.83.0 | 1.84.0 |
| vite | 8.3.0 | 8.3.1 |
| vitest | 5.0.1 | 5.0.2 |
Updates [@tauri-apps](/tauri-apps)/cli from 2.11.4 to 2.11.5
Sourced from @tauri-apps/cli's releases.
@tauri-apps/cliv2.11.5[2.11.5]
Security fixes
5a87bab12Record the app version in the trusted comment of updater signatures, so a signed artifact is bound to the version it was released as.An update endpoint response is not signed, and the signature only covers the downloaded artifact, so the announced
versionon its own does not prove which release theurlandsignaturepoint at. minisign covers the trusted comment with its global signature, which lets the updater plugin compare the two and reject a response that pairs a version number with a different release. EnablerequireSignedVersionin the updater plugin configuration to enforce this.
tauri buildfills the version in automatically, andtauri plugin add updaternow enablesrequireSignedVersionfor the project it is adding the plugin to.tauri signer signgains an--app-versionflag for signing updater artifacts by hand, and warns when it is omitted.Dependencies
- Upgraded to
tauri-cli@2.11.5
9452dde fix audit7c2fe9f run covector version7d71a8a add publish-hotfix workflow5a87bab Merge commit from forke901f1d Merge commit from fork7cd7136 apply version updates (#15632)44594d6 Revert "fix(deps): pin time to <0.3.52" (#15631)ca90b46 apply version updates (#15621)ba865f2 fix(windows): dpi getter leaks HDC handles (#15614)0299da0 fix(deps): pin time to <0.3.52 (#15616)Updates [@vitest](/vitest)/coverage-v8 from 5.0.1 to 5.0.2
Sourced from @vitest/coverage-v8's releases.
v5.0.2
🐞 Bug Fixes
- Bind
processin case global is overwritten - by@AriPerkkioin vitest-dev/vitest#11343 (0b792)- detect-async-leaks:
- Ignore
process.stdiohandles - by@AriPerkkioin vitest-dev/vitest#11333 (0fd6b)- expect:
- Fix
toMatchObjectwith asymmetric matchers - by@ShreeBohara, Claude Opus 5,@hi-ogawa, Hiroshi Ogawa and Codex (GPT-5) in vitest-dev/vitest#11100 (42523)- jsdom:
- Fix
RequestwithBlobbody on jsdom 28+ - by@harshit-d3vin vitest-dev/vitest#11295 (d1c3e)- reporter:
agentto respect--silent- by@Raj4478and@AriPerkkioin vitest-dev/vitest#11271 (5b95e)- reporters:
- Handle concurrent
createReportcalls - by@7rulnikin vitest-dev/vitest#11278 (e8e55)hanging-processto use ESM entrypoint - by@AriPerkkioin vitest-dev/vitest#11316 (4e91e)- spy:
- Fix stack overflow when spying
Set.prototype.add- by@fengmk2in vitest-dev/vitest#11299 (a0a93)- ui:
- Persist authentication cookie beyond current browser session - by
@hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in vitest-dev/vitest#11066 (f8819)View changes on GitHub
428e2e5 chore: release v5.0.2 (#11357)Updates jsdom from 30.0.1 to 30.1.0
Sourced from jsdom's releases.
v30.1.0
jsdom is feeling the AGI!
This release is dedicated to
@scttcper, who unleashed@codexupon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.We really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.
Thanks to
@scttcper, as well as all the other contributors of this release (most of whom were AI-assisted).
- Added named access to elements on
document, such asdocument.myFormfor<form name="myForm">. (@vojtisprime11)- Added
QuotaExceededError, including its use for storage quota errors and oversizedcrypto.getRandomValues()requests.- Added support for the relaxed DOM naming rules when creating elements, attributes, and document types.
- Improved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (
@scttcper,@erezrokah)- Improved performance of
getComputedStyle(), style changes, and CSS serialization. (@scttcper,@jhult)- Improved performance of event dispatch, form control and label lookups, and updates to
<select>elements and radio button groups. (@scttcper)- Reduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (
@scttcper)- Changed
window.close()to preserve access to the document and its DOM through retained references.- Fixed
element.querySelectorAll()returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (@asamuzaK)- Fixed case sensitivity in CSS attribute selectors, including selectors matching
data-state="",title="", and other case-sensitive values. (@asamuzaK)- Fixed
document.querySelector()failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (@vojtisprime11)- Fixed
:focusmatching in shadow trees. (@asamuzaK)- Fixed DOM insertion and replacement, including valid
document.replaceChildren()calls, invalid document element and doctype placements, and mutations duringelement.replaceWith().- Fixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.
- Fixed queued events and navigation continuing after
window.close()or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (@scttcper)- Fixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.
- Fixed request cancellation across redirects, during pending
requestInterceptor()callbacks, and when reusing anXMLHttpRequestafter aborting it.- Fixed resource loading and
JSDOM.fromURL()potentially hanging when response handling throws and response stream cleanup does not finish.- Fixed successful cached resource loads being treated as aborted.
- Fixed
getComputedStyle()anddocument.styleSheetsusing the wrong stylesheet order after inserting or updating<style>elements.- Fixed
getComputedStyle()ignoring nested[@import](/import)and[@media](/media)rules in imported stylesheets, and returning stale results after imports finish loading.- Fixed style invalidation, stylesheet removal, and frame source updates in shadow trees.
- Fixed repeated
getComputedStyle()calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (@scttcper)- Fixed computed border widths, including borderless elements incorrectly reporting
16px, which regressed in v30.0.0. (@Alberto-BaseNet)- Fixed
getComputedStyle()to resolve'font-weight'keywords to numeric values. (@tianrking)- Fixed
getComputedStyle()to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in'font-size'math functions. (@soroushm)- Fixed serialization of
min()andmax()containing nestedcalc(), which regressed in v30.0.0. (@asamuzaK)- Fixed CSS values mixing lengths or percentages with math functions, such as
'grid-template-columns'values containing both100pxandcalc(). (@rome-xi)- Fixed parsing of
'background'and'border'shorthands with adjacent components, such asurl(a.png)no-repeat, including a crash when parsing inline styles. Also fixed handling of invalid shorthand assignments and escaped or unusual characters in CSS declarations. (@asamuzaK)- Fixed parsing of unitless zero values in
'flex'shorthands, such as35 1 0, and rejection of negative'flex-basis'lengths and percentages. (@asamuzaK)- Fixed shorthand style assignments producing extra mutation records and custom element callbacks for intermediate values. (
@scttcper)- Fixed
RangeandSelectionhandling of CDATA sections, including boundary offsets and range cloning, extraction, deletion, insertion, and stringification. (@scttcper)- Fixed
text.normalize()incorrectly removing the text node or merging its siblings. (@scttcper)- Fixed cloning and importing CDATA sections and processing instructions whose contents have been modified, and serialization of CDATA sections adopted into HTML documents.
- Fixed stale named-property collections on
window, and incorrect named access from empty or namespacedid=""andname=""values. (@scttcper)- Fixed elements in documents created with
DOMParserordocument.implementation.createHTMLDocument()appearing as named properties onwindowand being retained in memory. (@Iaotle)- Fixed memory leaks from mutation observers retaining observed nodes, abort signals retaining removed event listeners, and storage event tracking retaining closed windows. (
@scttcper)- Fixed
storageevents being sent to windows created after the storage change, and ensured surviving recipients still receive events when the source document is destroyed.- Fixed attribute lookups after namespace prefix changes, and namespaced attributes incorrectly affecting ID lookups and element behavior. (
@scttcper)- Fixed
input.listin detached element trees. (@scttcper)- Fixed
attr.ownerDocumentafter setting an attribute node on an element in another document or adopting its element. (@Kjubikstronk)
... (truncated)
556b11f 30.1.09547fbf Tie queued tasks to document lifetime3be65d9 Disable unused HTML reports in the WPT runnerd555e61 Replace SymbolTree with a DOM-specific treef28983d Clone CDATA and processing instructions without revalidation33e4fa7 Invalidate computed styles after CSS imports loadec6fd5b Select storage event recipients at mutation timebcc037a Honor script type and legacy event attributesfaa5c4f Preserve currentScript across nested scripts8d7a37f Avoid quadratic HTML collection iterationUpdates knip from 6.35.1 to 6.37.0
Sourced from knip's releases.
Release 6.37.0
- fix(graphql-codegen): mark near-operation-file outputs as entries, not the documents directory (#2048) (06a68fcf99a90e559daeb0b8fb2d24e173124774) - thanks
@RobHannay!- fix: enable JSX in the config loader (#1959) (5b21dc9192f773613d1c5db8edf35f0a68820268) - thanks
@addielaruee!- Match binaries only to their actual dependency providers (c5bdb69ccbcb7e1056233f346d0ada3495d1013d)
- Preserve executable references across package manager commands (54af171638db22f5d903faae05c37c2ea6adc869)
- Correct binary provider metadata in Relay fixtures (e67dfcb96d055c27be9c8601e077656855bb632b)
- Separate shell binary expectations from reporting exemptions (resolve #2022) (c1d7d75a3529d9faff7f4c0df11dd0ca1bdfb149)
- Respect npx no-install flags before the executable (4237010c9a834eb8b04f4a528c76d10a5c38ee98)
- Update dependencies (038ea179f7d6bf7ca43bc5daf553a68b13a9067c)
- Remove npm auth check now that's in release-it (4aaf77c58004ac64063a1982b98e53107c2ebe93)
- Fix --format name resolution in the ESLint plugin (#2046) (1269e98bb700384811fadc124d69ea720832037e) - thanks
@bytedoe!Release 6.36.0
- Add
@tailwindcss/webpackas Tailwind plugin enabler (#2027) (b5ac0cf734dda3c6c6c51c817981dfc558b7c582) - thanks@igas!- Fix Next.js Turbopack loader dependencies (23419b4edfd48796dd484fa880e1bad49a043d2e)
- Explain ambiguous star exports in traces (#2025) (3c2c1a53f9c2b7ff3057a4e46761791979e0b09c) - thanks
@gioboa!- Fix eslintrc
parserOptions.parserhandling in ESLint plugin (#2028) (c79463cec81d09518eda325ec00e6f12327dea8d) - thanks@bytedoe!- fix(compilers): require word boundary around import keyword (#2029) (68bbe51c39b564022b63942bc83cb570778cca00) - thanks
@thanadolps!- fix: recover from corrupt cache file (#2034) (30ff7568c84e0a6731ca634a52314228d23d1a2b) - thanks
@gioboa!- fix: fix trailing comma on dependency removal (#2033) (adfaf4f78878b6d55b0939a92d70a1fbb0ae1240) - thanks
@gioboa!- Document built-in compiler scope (a05e155276dad4ead16992580d17572cebf045e7)
- Add babel, khan and oxc to projects and optimize svgs (1c26560b98bc3109e93d15761d02f089213bfb6c)
- Add section to test preview packages & extension (d911c18385f0aa41f53653a2a15cc90a1e0251b8)
- Fix shared info/exclude handling in linked Git worktrees (#2037) (c1f18d5a7d25fc5a614747bbcbd62d043457eb48) - thanks
@kenfdev!- Shard Node specs on Windows and enable Bun test parallelism (66e966b6edec4460b40b05847fefa9f90ee69068)
- Add Varlock plugin support (#2000) (e4fbf46acff08e78370e72b142e795bd81f28561) - thanks
@Joehoel!- Apply NODE_OPTIONS inputs to package manager binaries (#2038) (c8df8a28e9a19484efe7097f984abc0c6556aff5) - thanks
@giaBaoJS!- Handle array form of
import/resolversetting in ESLint plugin (#2041) (a80d386a80fdafc89c610d4887ec82184ac178db) - thanks@bytedoe!- fix(node): add valueless Node CLI flags to boolean options (#2042) (4c6768501f7115a894d7ece9e5c32090b684cc6f) - thanks
@shoutoutuoadi325!- fix(typedoc): accept string form of plugin and theme options (#2043) (ce387b05c8f136546e860ec73e29557563c63afa) - thanks
@giaBaoJS!- Add textlint plugin (#2039) (532dab595fc9a910e320418dc0390222fb2d7478) - thanks
@anandghegde!- fix: Correctly resolve Vitest setupFiles from nested configs (#2040) (84a494334e125d229dc865893b21d69d0d201e85) - thanks
@CruseCtrl!- Add n8n to projects (3f756a7e70c4164d57a7dbbd58f3604afe4043e2)
- Resolve re-export traces to their defining bindings (43b3f9bbd7701ab44fca0554908f7550fbe84649)
- Show ambiguous, shadowed and converged exports (f1e97b998d80906f0cef3f5e3946833b7166cbdc)
- Document export tracing and editor contention (0188e7da1a481c7f6493d50580dfa8a7ecdf8c72)
- Resolve local
extendsfiles in eslintrc configs (#2044) (62b5bf5aef5e6d3fc4784a1b5ef9933d383609ea) - thanks@bytedoe!- docs: link each page to its own OG image (#2045) (a85eb4e2aab46c3fa0813b1f1e13e93e134b8be7) - thanks
@bytedoe!- fix: fix language server bundled knip fallback (#2035) (882ba3abb0b99c2bfe3e13a241d889376fe87c4c) - thanks
@gioboa!
675c1b1 Release knip@6.37.01269e98 Fix --format name resolution in the ESLint plugin (#2046)038ea17 Update dependencies4237010 Respect npx no-install flags before the executablec1d7d75 Separate shell binary expectations from reporting exemptions (resolve #2022)e67dfcb Correct binary provider metadata in Relay fixtures54af171 Preserve executable references across package manager commandsc5bdb69 Match binaries only to their actual dependency providers5b21dc9 fix: enable JSX in the config loader (#1959)06a68fc fix(graphql-codegen): mark near-operation-file outputs as entries, not the do...Updates oxfmt from 0.68.0 to 0.69.0
f02a64a release(apps): oxlint v1.84.0 && oxfmt v0.69.0 (#26874)Updates oxlint from 1.83.0 to 1.84.0
f02a64a release(apps): oxlint v1.84.0 && oxfmt v0.69.0 (#26874)Updates vite from 8.3.0 to 8.3.1
Sourced from vite's releases.
v8.3.1
Bug Fixes
- deps: update all non-major dependencies (#23482) (3c752c8)
- deps: update all non-major dependencies (#23537) (e8990c4)
- deps: update rolldown-related dependencies (#23483) (9aecbbf)
- handle
server.ws: falsein mergeConfig (#23511) (f68c0d5)- merge
build.rolldownOptions.output.commentscorrectly (#23514) (4aba8d8)- optimizer: don't skip imports whose binding starts with type (#23540) (39330f4)
- optimizer: resolve pending discovered dep processing on close before init (#23567) (5f89433)
- server: avoid reinitializing watcher when adding file after server close (#23572) (6f831f9)
- sourcemap: skip URL source roots when injecting sources content (#23519) (04fc30a)
Miscellaneous Chores
- merge prereleases in changelog (#23466) (99bd9d1)
- optimizer: add debug log when waiting for dep before init (#23566) (63567c7)
- update
optimizeDeps.includecomment (#23489) (6a84c72)Code Refactoring
Sourced from vite's changelog.
8.3.1 (2026-09-24)
Bug Fixes
- deps: update all non-major dependencies (#23482) (3c752c8)
- deps: update all non-major dependencies (#23537) (e8990c4)
- deps: update rolldown-related dependencies (#23483) (9aecbbf)
- handle
server.ws: falsein mergeConfig (#23511) (f68c0d5)- merge
build.rolldownOptions.output.commentscorrectly (#23514) (4aba8d8)- optimizer: don't skip imports whose binding starts with type (#23540) (39330f4)
- optimizer: resolve pending discovered dep processing on close before init (#23567) (5f89433)
- server: avoid reinitializing watcher when adding file after server close (#23572) (6f831f9)
- sourcemap: skip URL source roots when injecting sources content (#23519) (04fc30a)
Miscellaneous Chores
- merge prereleases in changelog (#23466) (99bd9d1)
- optimizer: add debug log when waiting for dep before init (#23566) (63567c7)
- update
optimizeDeps.includecomment (#23489) (6a84c72)Code Refactoring
39ddf7c release: v8.3.1 (#23573)f68c0d5 fix: handle server.ws: false in mergeConfig (#23511)6f831f9 fix(server): avoid reinitializing watcher when adding file after server close...04fc30a fix(sourcemap): skip URL source roots when injecting sources content (#23519)5f89433 fix(optimizer): resolve pending discovered dep processing on close before ini...63567c7 chore(optimizer): add debug log when waiting for dep before init (#23566)e8990c4 fix(deps): update all non-major dependencies (#23537)af7cdf6 refactor: replace find with some (#23554)39330f4 fix(optimizer): don't skip imports whose binding starts with type (#23540)9abd99b refactor: remove duplicate configurations (#23532)Updates vitest from 5.0.1 to 5.0.2
Sourced from vitest's releases.
v5.0.2
🐞 Bug Fixes
- Bind
processin case global is overwritten - by@AriPerkkioin vitest-dev/vitest#11343 (0b792)- detect-async-leaks:
- Ignore
process.stdiohandles - by@AriPerkkioin vitest-dev/vitest#11333 (0fd6b)- expect:
- Fix
toMatchObjectwith asymmetric matchers - by@ShreeBohara, Claude Opus 5,@hi-ogawa, Hiroshi Ogawa and Codex (GPT-5) in vitest-dev/vitest#11100 (42523)- jsdom:
- Fix
RequestwithBlobbody on jsdom 28+ - by@harshit-d3vin vitest-dev/vitest#11295 (d1c3e)- reporter:
agentto respect--silent- by@Raj4478and@AriPerkkioin vitest-dev/vitest#11271 (5b95e)- reporters:
- Handle concurrent
createReportcalls - by@7rulnikin vitest-dev/vitest#11278 (e8e55)hanging-processto use ESM entrypoint - by@AriPerkkioin vitest-dev/vitest#11316 (4e91e)- spy:
- Fix stack overflow when spying
Set.prototype.add- by@fengmk2in vitest-dev/vitest#11299 (a0a93)- ui:
- Persist authentication cookie beyond current browser session - by
@hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in vitest-dev/vitest#11066 (f8819)View changes on GitHub
428e2e5 chore: release v5.0.2 (#11357)0b79231 fix: bind process in case global is overwritten (#11343)597df56 docs: correct stale config defaults (#11354)ea1c44f docs: sequence.setupFiles default is 'list' (#11351)0fd6b97 fix(detect-async-leaks): ignore process.stdio handles (#11333)4e91e56 fix(reporters): hanging-process to use ESM entrypoint (#11316)1a57929 docs(browser): fix locators.exact default (#11338)5b95efb fix(reporter): agent to respect --silent (#11271)f58a209 docs: correct benchmark.exclude and watch defaults (#11268)d1c3ecc fix(jsdom): fix Request with Blob body on jsdom 28+ (#11295)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting [@dependabot](/dependabot) rebase.
You can trigger Dependabot actions by commenting on this PR:
[@dependabot](/dependabot) rebase will rebase this PR[@dependabot](/dependabot) recreate will recreate this PR, overwriting any edits that have been made to it[@dependabot](/dependabot) show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency[@dependabot](/dependabot) ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)[@dependabot](/dependabot) ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)[@dependabot](/dependabot) ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)[@dependabot](/dependabot) unignore <dependency name> will remove all of the ignore conditions of the specified dependency[@dependabot](/dependabot) unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions[!IMPORTANT]
Review skipped
Bot user detected.
To trigger a single review, invoke the
[@coderabbitai](/coderabbitai) reviewcommand.⚙️ Run configuration
Configuration used: Repository: thedavidweng/OpenKara/.coderabbit.yaml
Review profile: CHILL
Plan: Advanced
Run ID:
ac534bdf-0c88-4ce5-9a2e-f98e96053b59You can disable this status message by setting the
reviews.review_statustofalsein the CodeRabbit configuration file.Use the checkbox below for a quick retry:
- 🔍 Trigger review
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment [@coderabbitai](/coderabbitai) help to get the list of available commands.
| Tests completed | Failed | Passed | Skipped |
|---|---|---|---|
| 2371 | 2 | 2369 | 0 |
src/components/Shared/CoverArtThumbnail.asset.test.tsx > CoverArtThumbnail asset protocol > reads over IPC when the song has no recorded derivativeStack Traces | 0.00561s run time
TypeError: Cannot read properties of undefined (reading '_bytes') ❯ retainCoverArtUrl src/lib/cover-art.ts:126:19 ❯ src/lib/cover-art.ts:208:11 ❯ updateMemo node_modules/.pnpm/react-dom@19.3.0_react@19.3..../react-dom/cjs/react-dom-client.development.js:9179:19 ❯ Object.useMemo node_modules/.pnpm/react-dom@19.3.0_react@19.3..../react-dom/cjs/react-dom-client.development.js:29154:18 ❯ process.env.NODE_ENV.exports.useMemo node_modules/.pnpm/react@19.3..../react/cjs/react.development.js:1297:34 ❯ useCoverArtUrl src/lib/cover-art.ts:207:15 ❯ CoverArtThumbnail .../components/Shared/CoverArtThumbnail.tsx:52:19 ❯ Object.react_stack_bottom_frame node_modules/.pnpm/react-dom@19.3.0_react@19.3..../react-dom/cjs/react-dom-client.development.js:28571:20
src/components/Shared/CoverArtThumbnail.asset.test.tsx > CoverArtThumbnail asset protocol > falls back to the IPC read when the derivative file will not loadStack Traces | 0.0203s run time
TypeError: Cannot read properties of undefined (reading '_bytes') ❯ retainCoverArtUrl src/lib/cover-art.ts:126:19 ❯ src/lib/cover-art.ts:208:11 ❯ updateMemo node_modules/.pnpm/react-dom@19.3.0_react@19.3..../react-dom/cjs/react-dom-client.development.js:9179:19 ❯ Object.useMemo node_modules/.pnpm/react-dom@19.3.0_react@19.3..../react-dom/cjs/react-dom-client.development.js:29154:18 ❯ process.env.NODE_ENV.exports.useMemo node_modules/.pnpm/react@19.3..../react/cjs/react.development.js:1297:34 ❯ useCoverArtUrl src/lib/cover-art.ts:207:15 ❯ CoverArtThumbnail .../components/Shared/CoverArtThumbnail.tsx:52:19 ❯ Object.react_stack_bottom_frame node_modules/.pnpm/react-dom@19.3.0_react@19.3..../react-dom/cjs/react-dom-client.development.js:28571:20
To view more test analytics, go to the Test Analytics Dashboard 📋 Got 3 mins? Take this short survey to help us improve Test Analytics.
Sign in to comment.