Skip to content

Bump frontend deps (minor versions) - #4411

Merged
imnasnainaec merged 1 commit into
masterfrom
2026-Q4-frontend-deps-minor
Oct 26, 2026
Merged

imnasnainaec merged 1 commit into
masterfrom
2026-Q4-frontend-deps-minor

Conversation

@imnasnainaec

@imnasnainaec imnasnainaec commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Minor/patch bump of all frontend dependencies and devDependencies (no majors), plus a transitive refresh and a regenerated docs/user_guide/assets/licenses/frontend_licenses.txt (version changes only, no license changes).

Notable runtime bumps: axios 1.18 → 1.20, chart.js 4.5 → 4.6, @reduxjs/toolkit 2.12 → 2.13, @marsidev/react-turnstile 1.5 → 1.6, @microsoft/signalr 9.0.6 → 9.0.19, motion 12.42 → 12.43, react-router 7.18.1 → 7.18.4.

axios 1.20 types the content-type response header as AxiosHeaderValue | undefined, which broke tsc in src/backend/index.ts:

-`data:${resp.headers["content-type"].toLowerCase()};base64,${image}`
+`data:${String(resp.headers["content-type"]).toLowerCase()};base64,${image}`

@swc/core (a Parcel dependency) is pinned to 1.15.x. Its 1.16 native-cache check rejects C:\ as an ancestor on single-volume Windows machines, so npm run build fails there with ERR_SWC_NATIVE_CACHE (swc-project/swc#12563). Remove the override once that's fixed.

   "devDependencies": { ... },
+  "overrides": {
+    "@swc/core": "~1.15.46"
+  },

Evidence

  • Before: tsc fails with TS2533/TS2339 on resp.headers["content-type"].toLowerCase(); npm run build fails on Windows with ERR_SWC_NATIVE_CACHE under @swc/core 1.16.20.
    After: tsc, npm run lint, and npm run build pass. Frontend Jest: 657/660 locally; the 3 failures were 5 s timeouts in Signup.test.tsx under full-suite load, and that suite passes 5/5 alone.
  • Manual spot-checks passed: avatars and consent images, Statistics charts, signup captcha, SignalR export/merge notifications, tree/HarvestThreshWinnow animations, Review Entries table, Data Entry, Merge Duplicates, routing, icons, and date pickers.

Merge Danger

Door: two-way

Revert restores the previous lockfile.

Blast Radius: frontend-wide

Dependency bumps touch the API layer (axios), state (RTK/immer/reselect), charts, captcha, and SignalR. @swc/core is build-time only.

🤖 Generated with Claude Code


This change is Reviewable

Summary by CodeRabbit

  • Bug Fixes
    • Improved handling of response content-type values when loading avatar and consent images, helping prevent display issues when the header is missing or not already a string.

Update all direct frontend dependencies to their latest minor/patch
versions, refresh transitive dependencies, and regenerate the frontend
license report.

axios 1.20 types the content-type response header as AxiosHeaderValue,
so stringify it before building data URIs for avatars and consent images.

Pin @swc/core (a Parcel dependency) to 1.15.x: 1.16's native cache
validation fails on single-volume Windows machines whose C:\ grants
Authenticated Users write rights (swc-project/swc#12563).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@imnasnainaec imnasnainaec added documentation Improvements or additions to documentation frontend dependencies Pull requests that update a dependency file 🟨Medium Medium-priority PR labels Oct 23, 2026
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

📝 Walkthrough

The pull request updates selected runtime and development dependency versions and their frontend license inventory entries. It adds an @swc/core override. It also changes two image data URL functions to stringify the response content-type header before lowercasing it.

Changes: Dependency Updates

Layer / File(s) Summary
Update dependency versions
package.json, docs/user_guide/assets/licenses/frontend_licenses.txt
Selected runtime and development dependency constraints and the corresponding frontend license inventory versions were updated. An @swc/core override was added. License texts and types remain unchanged.

Image Header Handling

Layer / File(s) Summary
Stringify image response headers
src/backend/index.ts
avatarSrc and getConsentImageSrc now convert the response content-type header to a string before lowercasing it in the returned data URL.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: jasonleenaylor

Merge Risk: 🔵 Low · up to 7fb95

Images may fail to render when a response lacks a valid content-type header; validate the header before constructing the data URL.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: updating frontend dependencies to minor or patch versions.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (2 skipped: 2 …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Some tools did not complete. Review the errors below.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@imnasnainaec
imnasnainaec marked this pull request as ready for review October 23, 2026 15:20
coderabbitai[bot]

This comment was marked as resolved.

@imnasnainaec imnasnainaec self-assigned this Oct 23, 2026
@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.26%. Comparing base (d49d2e4) to head (7fb95ad).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4411   +/-   ##
=======================================
  Coverage   76.26%   76.26%           
=======================================
  Files         305      305           
  Lines       11452    11452           
  Branches     1409     1409           
=======================================
  Hits         8734     8734           
  Misses       2324     2324           
  Partials      394      394           
Flag Coverage Δ
backend 87.55% <ø> (ø)
frontend 67.09% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jasonleenaylor jasonleenaylor left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

This review was assisted by Claude Opus 5.5.

@imnasnainaec
imnasnainaec merged commit bb7f88c into master Oct 26, 2026
21 of 23 checks passed
@imnasnainaec
imnasnainaec deleted the 2026-Q4-frontend-deps-minor branch October 26, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation frontend 🟨Medium Medium-priority PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants