* feat(web-shell): add artifact downloads
* fix(web-shell): scope review download state per file and cancel on unmount (#8234)
* fix(web-shell): restore mount ref under StrictMode and test review MIME mapping (#8234)
Reset mountedRef in the effect setup so React StrictMode's dev-time
double-mount no longer leaves it false and silently cancels artifact and
review downloads. Move getReviewDownloadMimeType into artifactUtils and
cover the extension-to-MIME mapping with a unit test.
* test(web-shell): cover ReviewChanges cancellation-on-unmount path (#8234)
* test(web-shell): assert artifact download MIME type (#8234)
---------
Co-authored-by: 钉萁 <dingqi.jww@alibaba-inc.com>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev@service.alibaba.com>
Co-authored-by: qwen-code-ci-bot <qwen-code-ci-bot@users.noreply.github.com>