/
2025-02-13 Frontend Working Group Meeting Notes: Axios upgrade fallout, React 18 upgrade

2025-02-13 Frontend Working Group Meeting Notes: Axios upgrade fallout, React 18 upgrade

 Date, time, location

 Discussion topic(s)

Axios v1 upgrade fallout, React 18 upgrade

🎥Recording

 Participants

 

🤖 Summary

Frontend Working Group Meeting - 2025/02/13 Summary

Attendees

Adam Stankiewicz, Adolfo Brandes, Brian Smith, Hamzah Ullah, Jason Wesson, Juan Carlos Iasenza, Max Frank, Rabeeh T A, Zameel Hassan


Key Topics Discussed:

1. Axios v1 Upgrade and useCache Issues

  • Context:

    • A recent upgrade to Axios v1 in frontend-platform caused a CORS error for a single API call in Enterprise Learner Portal MF.

    • The error occurs due to the useCache: true option, which caches successful responses.

    • Regression found: API call fails with a pre-flight request error (request header field cache-control is not allowed).

  • Findings:

    • Removing useCache: true resolves the issue.

    • It is unclear if this issue is specific to TOU’s environment or a general Axios cache issue.

    • The useCache option is mostly deprecated in favor of React Query.

  • Next Steps:

    • Document the issue in GitHub, noting that useCache may cause CORS issues.

    • Possibly log a deprecation warning when useCache: true is used.

    • Avoid reverting Axios upgrade but be mindful of similar issues arising in other MFs.


2. React 18 Upgrade

  • Context:

    • React Query v5 requires React 18, and the Enterprise MFE currently uses experimental Suspense in React 17, leading to bugs.

    • There is a need to decide whether to upgrade now or wait for Frontend Base.

  • Findings:

    • Adam tested React 18 and submitted draft PRs upgrading frontend-platform, frontend-plugin-framework, and frontend-component-* dependencies.

    • Upgrades are non-breaking for existing React 17 MFEs.

    • Some dependencies (e.g., react-redux) will eventually drop React 17 support.

  • Next Steps:

    • Prioritize React 18 upgrade before Teak release.

    • Ensure all MFEs can migrate smoothly.

    • Monitor shared dependencies like headers and footers for possible breaking changes.

    • Brian Smith to investigate React 18 adoption across MFEs.


3. Learner Dashboard Plugin Slots

  • Context:

    • Work in progress to remove hardcoded UI elements and replace them with plugin slots.

    • PRs submitted for course banner and enterprise modal removal.

    • Discussion on whether modals like resume session should be slot-based.

  • Decision:

    • Wrap everything in slots when in doubt.

    • Encourage tagging Adolfo or Brian for review of such PRs.


4. Paragon Theme Support in Tutor

  • Context:

    • Discussion about how Tutor should handle Paragon themes and design tokens.

    • Default should be loading styles from a URL, rather than embedding them in every MFE bundle.

    • Tutor should host its own Paragon styles and expose them dynamically.

  • Concerns:

    • How to handle versioning when different MFEs require different Paragon versions.

    • What should be the default workflow for custom branding and theming in Tutor?

  • Next Steps:

    • Continue discussion in the forum thread.

    • Ensure Tutor can host multiple Paragon versions to support different MFE requirements.


Meeting Outcome:

  • Axios v1 & useCache: Issue documented, deprecation planned.

  • React 18 Upgrade: Proceeding before TIK, ensuring smooth MF migration.

  • Plugin Slots: Continue wrapping key UI elements for flexibility.

  • Paragon Themes: Favor loading from a URL, further discussion needed.

 Action items

@Adam Stankiewicz Create a GitHub issue documenting useCache CORS issues and possible workarounds.
@Adolfo Brandes Bring React 18 upgrade discussion to the Maintenance Meeting
@Adolfo Brandes Ensure plugin slot PRs (course banner & modals) get reviewed
@Brian Smith Investigate React 18 migration across all MFEs before Teak

Related content

2024-11-07 Frontend Working Group Meeting Notes: Indigo as default, plugin boundaries
2024-11-07 Frontend Working Group Meeting Notes: Indigo as default, plugin boundaries
Read with this
2024-02-29 Frontend Working Group Meeting Notes: Route Loaders
2024-02-29 Frontend Working Group Meeting Notes: Route Loaders
More like this
2023-09-07 Frontend Working Group Meeting Notes
2023-09-07 Frontend Working Group Meeting Notes
More like this
2024-02-15 Frontend Working Group Meeting Notes: React Query
2024-02-15 Frontend Working Group Meeting Notes: React Query
More like this
2024-09-12 Frontend Working Group Meeting Notes: React Data Router and Prop Merging
2024-09-12 Frontend Working Group Meeting Notes: React Data Router and Prop Merging
More like this
2023-12-14 Frontend Working Group Meeting Notes
2023-12-14 Frontend Working Group Meeting Notes
More like this