Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

Update Vue to v2.7 #1635

Merged
merged 9 commits into from Aug 27, 2022
Merged

Update Vue to v2.7 #1635

merged 9 commits into from Aug 27, 2022

Conversation

obulat
Copy link
Contributor

@obulat obulat commented Aug 9, 2022

Description

This PR updates Vue to version 2.7 which backports the composition API to Vue 2. This should (hopefully) make the future conversion to Nuxt 3 easier.

The main updated packages are Vue (to version 2.7) and @nuxtjs/composition-api which supports Vue 2.7 (0.33.1).

Other changes:

  • vue-loader added to devDependencies to force the ^15.10 version as described in Vue 2.7 update post.

Problems that I encountered:

Testing Instructions

The CI tests should pass. The app should behave as normal everywhere.

Checklist

  • My pull request has a descriptive title (not a vague title like Update index.md).
  • My pull request targets the default branch of the repository (main) or a parent feature branch.
  • My commit messages follow best practices.
  • My code follows the established code style of the repository.
  • I added or updated tests for the changes I made (if applicable).
  • I added or updated documentation (if applicable).
  • I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@openverse-bot openverse-bot added this to In progress in Openverse PRs Aug 9, 2022
@github-actions
Copy link

github-actions bot commented Aug 9, 2022

Storybook and Tailwind configuration previews: Ready

Storybook: https://wordpress.github.io/openverse-frontend/_preview/1635
Tailwind: https://wordpress.github.io/openverse-frontend/_preview/1635/tailwind

Please note that GitHub pages takes a little time to deploy newly pushed code, if the links above don't work or you see old versions, wait 5 minutes and try again.

You can check the GitHub pages deployment action list to see the current status of the deployments.

@openverse-bot openverse-bot added the 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work label Aug 9, 2022
@zackkrida zackkrida changed the title Update/vue Update Vue to v2.7 Aug 9, 2022
@github-actions
Copy link

github-actions bot commented Aug 9, 2022

Size Change: -10.3 kB (-1%)

Total Size: 767 kB

Filename Size Change
./.nuxt/dist/client/235.js 0 B -273 B (removed) 🏆
./.nuxt/dist/client/235.modern.js 0 B -278 B (removed) 🏆
./.nuxt/dist/client/236.js 0 B -1.85 kB (removed) 🏆
./.nuxt/dist/client/app.js 109 kB -1.55 kB (-1%)
./.nuxt/dist/client/app.modern.js 101 kB -1.5 kB (-1%)
./.nuxt/dist/client/commons/app.js 87.8 kB +3.71 kB (+4%)
./.nuxt/dist/client/commons/app.modern.js 76.7 kB +3.8 kB (+5%) 🔍
./.nuxt/dist/client/components/loading-icon.js 746 B -19 B (-2%)
./.nuxt/dist/client/components/loading-icon.modern.js 749 B -20 B (-3%)
./.nuxt/dist/client/components/v-audio-details.js 1.66 kB +14 B (+1%)
./.nuxt/dist/client/components/v-audio-track.js 4.47 kB -20 B (0%)
./.nuxt/dist/client/components/v-audio-track.modern.js 4.42 kB -23 B (-1%)
./.nuxt/dist/client/components/v-bone.js 684 B -11 B (-2%)
./.nuxt/dist/client/components/v-content-report-button.js 766 B -11 B (-1%)
./.nuxt/dist/client/components/v-content-report-form.js 3.78 kB +18 B (0%)
./.nuxt/dist/client/components/v-content-report-form.modern.js 3.59 kB +18 B (+1%)
./.nuxt/dist/client/components/v-content-report-popover.js 4.45 kB +20 B (0%)
./.nuxt/dist/client/components/v-content-report-popover.modern.js 4.26 kB +28 B (+1%)
./.nuxt/dist/client/components/v-copy-license.modern.js 2.91 kB -12 B (0%)
./.nuxt/dist/client/components/v-dmca-notice.js 742 B -10 B (-1%)
./.nuxt/dist/client/components/v-error-section.js 372 B -15 B (-4%)
./.nuxt/dist/client/components/v-error-section.modern.js 375 B -16 B (-4%)
./.nuxt/dist/client/components/v-image-details.modern.js 1.43 kB -12 B (-1%)
./.nuxt/dist/client/components/v-image-grid.js 2.57 kB -16 B (-1%)
./.nuxt/dist/client/components/v-media-reuse/pages/image/_id.js 2.94 kB -10 B (0%)
./.nuxt/dist/client/components/v-media-reuse/pages/image/_id.modern.js 2.91 kB -12 B (0%)
./.nuxt/dist/client/components/v-radio.js 1.51 kB -10 B (-1%)
./.nuxt/dist/client/components/v-radio.modern.js 1.47 kB -11 B (-1%)
./.nuxt/dist/client/components/v-related-audio.js 1.23 kB -18 B (-1%)
./.nuxt/dist/client/components/v-related-audio.modern.js 1.23 kB -18 B (-1%)
./.nuxt/dist/client/components/v-related-images.js 3.14 kB -14 B (0%)
./.nuxt/dist/client/components/v-search-grid.js 5.06 kB +10 B (0%)
./.nuxt/dist/client/components/v-server-timeout.js 298 B -17 B (-5%)
./.nuxt/dist/client/components/v-server-timeout.modern.js 303 B -17 B (-5%)
./.nuxt/dist/client/pages/audio/_id.js 6.42 kB +10 B (0%)
./.nuxt/dist/client/pages/index.modern.js 4.97 kB +14 B (0%)
./.nuxt/dist/client/pages/meta-search.js 1.67 kB -16 B (-1%)
./.nuxt/dist/client/pages/meta-search.modern.js 1.67 kB -18 B (-1%)
./.nuxt/dist/client/pages/search/audio.js 2.87 kB -11 B (0%)
./.nuxt/dist/client/pages/search/audio.modern.js 2.75 kB -13 B (0%)
./.nuxt/dist/client/pages/search/image.js 2.96 kB -18 B (-1%)
./.nuxt/dist/client/pages/search/image.modern.js 2.83 kB -11 B (0%)
./.nuxt/dist/client/pages/search/model-3d.js 242 B -18 B (-7%)
./.nuxt/dist/client/pages/search/model-3d.modern.js 247 B -16 B (-6%)
./.nuxt/dist/client/pages/search/video.js 240 B -17 B (-7%)
./.nuxt/dist/client/pages/search/video.modern.js 244 B -17 B (-7%)
./.nuxt/dist/client/runtime.js 2.65 kB -64 B (-2%)
./.nuxt/dist/client/runtime.modern.js 2.66 kB -64 B (-2%)
./.nuxt/dist/client/vendors/app.js 47.7 kB -6.91 kB (-13%) 👏
./.nuxt/dist/client/vendors/app.modern.js 47.1 kB -7.09 kB (-13%) 👏
./.nuxt/dist/client/221.js 272 B +272 B (new file) 🆕
./.nuxt/dist/client/221.modern.js 277 B +277 B (new file) 🆕
./.nuxt/dist/client/222.js 1.85 kB +1.85 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./.nuxt/dist/client/components/table-sort-icon.js 508 B -7 B (-1%)
./.nuxt/dist/client/components/table-sort-icon.modern.js 512 B -8 B (-2%)
./.nuxt/dist/client/components/v-all-results-grid.js 4.13 kB -5 B (0%)
./.nuxt/dist/client/components/v-all-results-grid.modern.js 4.01 kB +4 B (0%)
./.nuxt/dist/client/components/v-audio-cell.js 344 B -4 B (-1%)
./.nuxt/dist/client/components/v-audio-cell.modern.js 348 B -5 B (-1%)
./.nuxt/dist/client/components/v-audio-details.modern.js 1.65 kB -1 B (0%)
./.nuxt/dist/client/components/v-audio-track-skeleton.js 1.01 kB -2 B (0%)
./.nuxt/dist/client/components/v-audio-track-skeleton.modern.js 1.02 kB -2 B (0%)
./.nuxt/dist/client/components/v-back-to-search-results-link.js 569 B -6 B (-1%)
./.nuxt/dist/client/components/v-back-to-search-results-link.modern.js 575 B -6 B (-1%)
./.nuxt/dist/client/components/v-bone.modern.js 690 B -9 B (-1%)
./.nuxt/dist/client/components/v-box-layout.js 1.19 kB -7 B (-1%)
./.nuxt/dist/client/components/v-box-layout.modern.js 1.19 kB -6 B (-1%)
./.nuxt/dist/client/components/v-content-link.js 1.06 kB 0 B
./.nuxt/dist/client/components/v-content-link.modern.js 1.04 kB -2 B (0%)
./.nuxt/dist/client/components/v-content-page.js 466 B -7 B (-1%)
./.nuxt/dist/client/components/v-content-page.modern.js 470 B -8 B (-2%)
./.nuxt/dist/client/components/v-content-report-button.modern.js 774 B -5 B (-1%)
./.nuxt/dist/client/components/v-copy-button.js 3.97 kB -3 B (0%)
./.nuxt/dist/client/components/v-copy-button.modern.js 3.98 kB +2 B (0%)
./.nuxt/dist/client/components/v-copy-license.js 2.94 kB -9 B (0%)
./.nuxt/dist/client/components/v-copy-license/components/v-error-image/components/v-media-reuse/components/v-search-grid/09090664.js 9.4 kB -2 B (0%)
./.nuxt/dist/client/components/v-copy-license/components/v-error-image/components/v-media-reuse/components/v-search-grid/09090664.modern.js 9.38 kB 0 B
./.nuxt/dist/client/components/v-dmca-notice.modern.js 753 B -5 B (-1%)
./.nuxt/dist/client/components/v-error-image.js 1.7 kB -2 B (0%)
./.nuxt/dist/client/components/v-error-image.modern.js 1.67 kB -4 B (0%)
./.nuxt/dist/client/components/v-full-layout.js 1.46 kB -6 B (0%)
./.nuxt/dist/client/components/v-full-layout.modern.js 1.46 kB -6 B (0%)
./.nuxt/dist/client/components/v-grid-skeleton.js 1.61 kB -9 B (-1%)
./.nuxt/dist/client/components/v-grid-skeleton.modern.js 1.62 kB -5 B (0%)
./.nuxt/dist/client/components/v-image-cell-square.js 1.01 kB -6 B (-1%)
./.nuxt/dist/client/components/v-image-cell-square.modern.js 1.02 kB -3 B (0%)
./.nuxt/dist/client/components/v-image-cell.js 1.43 kB -4 B (0%)
./.nuxt/dist/client/components/v-image-cell.modern.js 1.42 kB -1 B (0%)
./.nuxt/dist/client/components/v-image-details.js 1.44 kB -7 B (0%)
./.nuxt/dist/client/components/v-image-grid.modern.js 2.46 kB -6 B (0%)
./.nuxt/dist/client/components/v-license-tab-panel.js 924 B -7 B (-1%)
./.nuxt/dist/client/components/v-license-tab-panel.modern.js 918 B -7 B (-1%)
./.nuxt/dist/client/components/v-load-more.js 809 B -6 B (-1%)
./.nuxt/dist/client/components/v-load-more.modern.js 707 B -2 B (0%)
./.nuxt/dist/client/components/v-media-license.js 800 B -7 B (-1%)
./.nuxt/dist/client/components/v-media-license.modern.js 810 B -5 B (-1%)
./.nuxt/dist/client/components/v-media-reuse.js 1.03 kB +7 B (+1%)
./.nuxt/dist/client/components/v-media-reuse.modern.js 1.04 kB +2 B (0%)
./.nuxt/dist/client/components/v-media-tag.js 429 B -2 B (0%)
./.nuxt/dist/client/components/v-media-tag.modern.js 434 B -2 B (0%)
./.nuxt/dist/client/components/v-meta-search-form.js 2.7 kB +5 B (0%)
./.nuxt/dist/client/components/v-meta-search-form.modern.js 2.66 kB -1 B (0%)
./.nuxt/dist/client/components/v-meta-source-list.js 2.06 kB -1 B (0%)
./.nuxt/dist/client/components/v-meta-source-list.modern.js 2.02 kB -5 B (0%)
./.nuxt/dist/client/components/v-modal.js 874 B -3 B (0%)
./.nuxt/dist/client/components/v-modal.modern.js 875 B -7 B (-1%)
./.nuxt/dist/client/components/v-no-results.js 2.27 kB +4 B (0%)
./.nuxt/dist/client/components/v-no-results.modern.js 2.23 kB -3 B (0%)
./.nuxt/dist/client/components/v-related-images.modern.js 3.02 kB -5 B (0%)
./.nuxt/dist/client/components/v-report-desc-form.js 966 B +6 B (+1%)
./.nuxt/dist/client/components/v-report-desc-form.modern.js 965 B +3 B (0%)
./.nuxt/dist/client/components/v-row-layout.js 1.72 kB +1 B (0%)
./.nuxt/dist/client/components/v-row-layout.modern.js 1.73 kB -1 B (0%)
./.nuxt/dist/client/components/v-scroll-button.js 804 B -3 B (0%)
./.nuxt/dist/client/components/v-scroll-button.modern.js 809 B -3 B (0%)
./.nuxt/dist/client/components/v-search-grid.modern.js 4.99 kB +1 B (0%)
./.nuxt/dist/client/components/v-search-results-title.js 671 B -5 B (-1%)
./.nuxt/dist/client/components/v-search-results-title.modern.js 665 B -3 B (0%)
./.nuxt/dist/client/components/v-search-type-radio.js 830 B -4 B (0%)
./.nuxt/dist/client/components/v-search-type-radio.modern.js 821 B -4 B (0%)
./.nuxt/dist/client/components/v-sidebar-content.js 435 B -7 B (-2%)
./.nuxt/dist/client/components/v-sidebar-content.modern.js 440 B -6 B (-1%)
./.nuxt/dist/client/components/v-sketch-fab-viewer.js 993 B -2 B (0%)
./.nuxt/dist/client/components/v-sketch-fab-viewer.modern.js 891 B -3 B (0%)
./.nuxt/dist/client/components/v-skip-to-content-container.js 889 B -2 B (0%)
./.nuxt/dist/client/components/v-skip-to-content-container.modern.js 893 B -2 B (0%)
./.nuxt/dist/client/components/v-snackbar.js 977 B -4 B (0%)
./.nuxt/dist/client/components/v-snackbar.modern.js 982 B -4 B (0%)
./.nuxt/dist/client/components/v-sources-table.js 14.3 kB +2 B (0%)
./.nuxt/dist/client/components/v-sources-table.modern.js 14.3 kB -6 B (0%)
./.nuxt/dist/client/components/v-tab-panel.js 688 B 0 B
./.nuxt/dist/client/components/v-tab-panel.modern.js 684 B 0 B
./.nuxt/dist/client/components/v-tab.js 1.73 kB +2 B (0%)
./.nuxt/dist/client/components/v-tab.modern.js 1.71 kB -4 B (0%)
./.nuxt/dist/client/components/v-tabs.js 782 B -5 B (-1%)
./.nuxt/dist/client/components/v-tabs.modern.js 765 B -5 B (-1%)
./.nuxt/dist/client/components/v-warning-suppressor.js 298 B -3 B (-1%)
./.nuxt/dist/client/components/v-warning-suppressor.modern.js 303 B -2 B (-1%)
./.nuxt/dist/client/pages/about.js 1.05 kB -8 B (-1%)
./.nuxt/dist/client/pages/about.modern.js 1.06 kB -7 B (-1%)
./.nuxt/dist/client/pages/audio/_id.modern.js 6.26 kB -3 B (0%)
./.nuxt/dist/client/pages/feedback.js 3.23 kB -3 B (0%)
./.nuxt/dist/client/pages/feedback.modern.js 3.2 kB -6 B (0%)
./.nuxt/dist/client/pages/image/_id.js 6.98 kB +2 B (0%)
./.nuxt/dist/client/pages/image/_id.modern.js 6.75 kB +3 B (0%)
./.nuxt/dist/client/pages/index.js 5.09 kB +3 B (0%)
./.nuxt/dist/client/pages/preferences.js 1.28 kB +6 B (0%)
./.nuxt/dist/client/pages/preferences.modern.js 1.27 kB 0 B
./.nuxt/dist/client/pages/search-help.js 1.54 kB +3 B (0%)
./.nuxt/dist/client/pages/search-help.modern.js 1.55 kB -1 B (0%)
./.nuxt/dist/client/pages/search.js 2.72 kB -5 B (0%)
./.nuxt/dist/client/pages/search.modern.js 2.57 kB -1 B (0%)
./.nuxt/dist/client/pages/search/index.js 815 B -6 B (-1%)
./.nuxt/dist/client/pages/search/index.modern.js 730 B -6 B (-1%)
./.nuxt/dist/client/pages/search/search-page.types.js 266 B 0 B
./.nuxt/dist/client/pages/search/search-page.types.modern.js 271 B 0 B
./.nuxt/dist/client/pages/sources.js 1.44 kB -9 B (-1%)
./.nuxt/dist/client/pages/sources.modern.js 1.45 kB -3 B (0%)

compressed-size-action

package.json Outdated
"eslint-plugin-vuejs-accessibility": "^1.1.1",
"husky": "^7.0.1",
"jest": "^26.6.3",
"jest-transform-stub": "^2.0.0",
"lint-staged": "^12.3.7",
"module-alias": "^2.2.2",
"npm-run-all": "^4.1.5",
"pinia": "^2.0.11",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We apparently had pinia both in dependencies and devDependencies, with somewhat different versions specified.

return expect(
await screenshotAble.screenshot(options)
).toMatchSnapshot({
test.describe(`screen at breakpoint ${breakpoint} with width ${screenWidth}`, () => {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

For some reason, this was re-formatted by the linter. The main change in this file is the type of ExpectSnapshot, which was throwing an error.

@obulat obulat force-pushed the update/vue branch 3 times, most recently from 9380070 to c0a567d Compare August 20, 2022 05:36
@obulat obulat added 💻 aspect: code Concerns the software code in the repository 🧰 goal: internal improvement Improvement that benefits maintainers, not users dependencies Pull requests that update a dependency file 🟧 priority: high Stalls work on the project or its dependents and removed 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work labels Aug 20, 2022
@obulat obulat self-assigned this Aug 20, 2022
@obulat obulat force-pushed the update/vue branch 3 times, most recently from dc7ce73 to d174ac2 Compare August 23, 2022 08:32
@obulat obulat marked this pull request as ready for review August 23, 2022 08:34
@obulat obulat requested a review from a team as a code owner August 23, 2022 08:34
@openverse-bot openverse-bot moved this from In progress to Needs review in Openverse PRs Aug 23, 2022
@@ -70,13 +70,13 @@ export default defineComponent({
</script>

<style scoped>
::v-deep .attribution {
::v-deep(.attribution) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The warning in #1634 starts appearing with the update to Vue 2.7, so I just fixed it here.

@obulat obulat linked an issue Aug 23, 2022 that may be closed by this pull request
1 task
@sarayourfriend
Copy link
Contributor

I managed to fix the playwright issue in #1646 (comment). One line fix to be able to update Playwright and avoid having to pin it.

Copy link
Contributor

@sarayourfriend sarayourfriend left a comment

Choose a reason for hiding this comment

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

LGTM. I have a couple minor questions.

ensureFocus(dialog, { preventScroll: true, isActive })
if (dialog.tabIndex === undefined || dialog.tabIndex < 0) {
warn(noFocusableElementWarning)
Vue.nextTick(() => {
Copy link
Contributor

Choose a reason for hiding this comment

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

nextTick is available from the composition API. What is the reason to pull it off of Vue directly rather than importing it from @nuxtjs/composition-api?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The main advantage of importing it from Vue is that when we (hopefully, some time in the future) move to Nuxt3, we won't need to update the imports. Other than that, there is no reason, really. Do you think it makes sense to use @nuxtjs/composition-api? At least for consistency with the current state of the code?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think for consistency it makes sense. When (if) we move away from it, it will mostly be a find-and-replace job to update that import, right?

Comment on lines 109 to 114
for (const flagEntry of Object.entries(this.flags)) {
const [name, flag] = flagEntry as [string, FeatureFlag]
if (getFlagStatus(flag) === SWITCHABLE) {
flag.preferredState = cookies[name]
})
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this a change to appease TypeScript?

I don't remember if this is still the case, but at one point using a for...of loop actually incurred a non-trivial size penalty due to the generator runtime transpilation of it. Might not be an issue any more though.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, it's TS appeasing change. I didn't know about for ... of performance. I think I can improve this code by typing this

@@ -1,3 +1,4 @@
import type * as CSS from 'csstype' // eslint-disable-line @typescript-eslint/no-unused-vars
Copy link
Contributor

Choose a reason for hiding this comment

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

What is this import for?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There was an error without it, I'll have to look it up at my computer tomorrow. It's also how module augmentation is done in the csstype docs (the third point here): https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors

Copy link
Contributor

Choose a reason for hiding this comment

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

Gotcha. Can you add a link to the docs you shared here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

vue-tsc gives the following error when we don't have the import:

src/components/VAudioTrack/layouts/VBoxLayout.vue(2,18): error TS2322: Type '{ width: string | undefined; }' is not assignable to type 'StyleValue | undefined'.
  Object literal may only specify known properties, and 'width' does not exist in type 'CSSProperties | StyleValue[]'.
src/components/VSkeleton/VAudioTrackSkeleton.vue(16,23): error TS2322: Type '{ width: string; }' is not assignable to type 'StyleValue | undefined'.
  Object literal may only specify known properties, and 'width' does not exist in type 'CSSProperties | StyleValue[]'.
src/components/VAudioTrack/VWaveform.vue(94,17): error TS2322: Type '{ width: string; left: string; }' is not assignable to type 'StyleValue | undefined'.
  Object literal may only specify known properties, and 'width' does not exist in type 'CSSProperties | StyleValue[]'.

I guess without the import it considers that CSSProperties type only has the properties that are in the typings/csstype/index.d.ts instead of augmenting it...

@obulat obulat force-pushed the update/vue branch 2 times, most recently from d34f706 to a2a0450 Compare August 25, 2022 06:35
@sarayourfriend
Copy link
Contributor

It looks like even with the pinned Playwright version there are still lots of visual regression tests 😕

@obulat
Copy link
Contributor Author

obulat commented Aug 25, 2022

I think I've found the issue. The dev version was working fine, but when you ran pnpm build && pnpm start, you would get an r.util is undefined error. Apparently, that was an error in vue-demi that was caused by Webpack.
The error was reported yesterday, and amazing @antfu fixed it 3 hours and immediately released the new version! Here's the PR vueuse/vue-demi#193

@@ -248,7 +248,7 @@ export const goToSearchTerm = async (
page.waitForNavigation(),
page.click(`[aria-label="${t('search.search', dir)}"]`),
])
await page.waitForLoadState('networkidle')
await page.waitForLoadState('domcontentloaded')
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This makes the tests faster.

Copy link
Member

Choose a reason for hiding this comment

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

Much faster indeed. I'm not sure 100% we should use domcontentloaded over load because load also downloads stylesheets and images.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You are right, we should use load to make sure that all the images are there for the snapshots. Thank you!

Copy link
Member

@dhruvkb dhruvkb left a comment

Choose a reason for hiding this comment

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

I used this branch locally and found nothing behaving abnormally. I see no reason to block this.

Copy link
Contributor

@sarayourfriend sarayourfriend left a comment

Choose a reason for hiding this comment

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

LGTM. Exciting!

Openverse PRs automation moved this from Needs review to Reviewer approved Aug 26, 2022
@obulat obulat merged commit 919ee2c into main Aug 27, 2022
Openverse PRs automation moved this from Reviewer approved to Merged! Aug 27, 2022
@obulat obulat deleted the update/vue branch August 27, 2022 08:53
github-actions bot pushed a commit that referenced this pull request Aug 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
💻 aspect: code Concerns the software code in the repository dependencies Pull requests that update a dependency file 🧰 goal: internal improvement Improvement that benefits maintainers, not users 🟧 priority: high Stalls work on the project or its dependents
Projects
No open projects
Openverse PRs
  
Merged!
Development

Successfully merging this pull request may close these issues.

Use v-deep correctly
4 participants