Skip to content

Upgrade the unstable branch to KDS v3.0.0 #4411

@MisRob

Description

@MisRob

Summary

Let's update Studio to the latest KDS release v3.0.0.

The KDS commit currently referenced in Studio, e9a2ff34716bb6412fe99f835ded5b17345bab94 from Jun 7, 2022, happened somewhere in the middle of KDS v1.4.0-beta0 (diff learningequality/kolibri-design-system@e9a2ff3...v1.4.0-beta0, diffs to previous tages are empty). This means that the latest release we can consider as installed in its fulness is KDS v1.3.1-beta0.

References

Relevant release notes

There are more release notes and betas, however some are identical and some versions contain release notes for older versions. Upon examination, I identified that only the following subset should be needed:

Version from --> to Release notes Diff
v1.3.1-beta0 --> v1.4.0 https://github.com/learningequality/kolibri-design-system/releases/tag/v1.4.0 learningequality/kolibri-design-system@v1.3.1-beta0...v1.4.0
v1.4.0 --> v1.4.1 https://github.com/learningequality/kolibri-design-system/releases/tag/v1.4.1 learningequality/kolibri-design-system@v1.4.0...v1.4.1
v1.4.1 --> v2.0.0 https://github.com/learningequality/kolibri-design-system/releases/tag/v2.0.0 learningequality/kolibri-design-system@v1.4.1...v2.0.0
v2.0.0 --> v3.0.0 https://github.com/learningequality/kolibri-design-system/releases/tag/v3.0.0 learningequality/kolibri-design-system@v2.0.0...v3.0.0

Merged full diff v1.3.1-beta0 --> v3.0.0

See learningequality/kolibri-design-system@v1.3.1-beta0...v3.0.0

Studio audit

Here are some notes from Studio gathered in preparation for the upgrade.

KDS components in Studio

Component Occurences Has new updates? Are some updates breaking?
KButton 29 files yes yes
KButtonGroup 1 file yes no
KCheckbox 4 files yes yes
KCircularLoader 2 files yes no
KExternalLink 4 files no -
KFixedGrid 4 files yes no
KFixedGridItem 2 files yes no
KGrid 3 files no -
KGridItem 3 files yes no
KIcon 8 files yes no
KLabeledIcon 2 files yes no
KLinearLoader 1 file no -
KModal 15 files yes no
KRadioButton 2 files yes yes
KRouterLink 9 files no -
KSwitch 1 file no -
KTextbox 4 files yes no

Other notes

  • Note that KDS v2.0.0 removes kolibri-design-system/lib/utils/i18n.js that is imported in Studio

Areas recommended for QA

Based on the above information:

  • i18n, LTR
  • Buttons
  • Checkboxes
  • Radio buttons (storage request form and language switcher modal)
  • Modals (no "itentionally breaking" updates but went through a significant refactor of some internals)
  • Circular loaders
  • Grids
  • Icons
  • Textboxes

Guidance

Since Studio is more or less working on v3.0.0, one strategy could be to upgrade package.json right to v3.0.0. Then, we can locate components mentioned in the "KDS components in Studio" table above, updating them according to the release notes linked in the "Relevant release notes" table. It'd be also good to try to spot any unexpected UI shifts, problems in the browser console, and broken workflows.

Alternatively, upgrade could be done version by version, even though this may result in re-testing same pages more times.

I think that studying information above, release notes and previewing Studio should be sufficient. If there are some unexpected issues that are not explained in the release notes, links to the full diffs may be useful, particularly the full diff v1.3.1-beta0 --> v3.0.0 demonstrates nicely before/after state of a component file (in the "Files changed" tab).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions