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

Fix waveform misalignment for short audios #1476

Merged
merged 7 commits into from
Jun 10, 2022
Merged

Conversation

obulat
Copy link
Contributor

@obulat obulat commented May 29, 2022

Fixes

Fixes #1304 by @sarayourfriend

Description

This PR fixes the waveform misalignment at the end of the waveform. It was especially noticeable for very short audios. We were only updating the currentTime value when the audio was in playing status, so the last update when the audio went from playing to played status was never made, and the audio waveform progressBarWidth was not updated for the last time.
There was also an error when we used a computed without calling its .value.

Testing Instructions

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.

@obulat obulat requested a review from a team as a code owner May 29, 2022 07:16
@obulat obulat requested review from dhruvkb and sarayourfriend May 29, 2022 07:16
@github-actions
Copy link

github-actions bot commented May 29, 2022

Storybook and Tailwind configuration previews: Ready

Storybook: https://wordpress.github.io/openverse-frontend/1476
Tailwind: https://wordpress.github.io/openverse-frontend/1476/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 🕹 aspect: interface Concerns end-users' experience with the software 🛠 goal: fix Bug fix 🟩 priority: low Low priority and doesn't need to be rushed labels May 29, 2022
@github-actions
Copy link

github-actions bot commented May 29, 2022

Size Change: -1.79 kB (0%)

Total Size: 1.44 MB

Filename Size Change
./.nuxt/dist/client/app.js 111 kB +202 B (0%)
./.nuxt/dist/client/app.modern.js 103 kB +211 B (0%)
./.nuxt/dist/client/commons/app.js 84.4 kB +4 B (0%)
./.nuxt/dist/client/commons/app.modern.js 73.2 kB +2 B (0%)
./.nuxt/dist/client/components/loading-icon.modern.js 771 B -1 B (0%)
./.nuxt/dist/client/components/table-sort-icon.modern.js 520 B +1 B (0%)
./.nuxt/dist/client/components/v-all-results-grid.js 4.15 kB -1 B (0%)
./.nuxt/dist/client/components/v-all-results-grid.modern.js 4.02 kB -3 B (0%)
./.nuxt/dist/client/components/v-audio-details.js 1.56 kB +2 B (0%)
./.nuxt/dist/client/components/v-audio-details.modern.js 1.56 kB -3 B (0%)
./.nuxt/dist/client/components/v-audio-track-skeleton.js 1 kB -1 B (0%)
./.nuxt/dist/client/components/v-audio-track.js 4.48 kB +12 B (0%)
./.nuxt/dist/client/components/v-audio-track.modern.js 4.46 kB +6 B (0%)
./.nuxt/dist/client/components/v-back-to-search-results-link.modern.js 580 B +1 B (0%)
./.nuxt/dist/client/components/v-bone.js 684 B +1 B (0%)
./.nuxt/dist/client/components/v-box-layout.modern.js 1.19 kB -1 B (0%)
./.nuxt/dist/client/components/v-content-link.js 1.06 kB +1 B (0%)
./.nuxt/dist/client/components/v-content-report-button.js 777 B +1 B (0%)
./.nuxt/dist/client/components/v-content-report-form.js 3.77 kB +1 B (0%)
./.nuxt/dist/client/components/v-content-report-popover.modern.js 4.24 kB -2 B (0%)
./.nuxt/dist/client/components/v-copy-button.js 3.94 kB +2 B (0%)
./.nuxt/dist/client/components/v-copy-button.modern.js 3.95 kB +1 B (0%)
./.nuxt/dist/client/components/v-copy-license.js 2.95 kB +2 B (0%)
./.nuxt/dist/client/components/v-copy-license.modern.js 2.93 kB +2 B (0%)
./.nuxt/dist/client/components/v-copy-license/components/v-error-image/components/v-media-reuse/components/v-search-grid/09090664.js 9.62 kB -14 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.59 kB -8 B (0%)
./.nuxt/dist/client/components/v-dmca-notice.js 753 B +1 B (0%)
./.nuxt/dist/client/components/v-dmca-notice.modern.js 758 B +2 B (0%)
./.nuxt/dist/client/components/v-error-image.js 1.75 kB +1 B (0%)
./.nuxt/dist/client/components/v-error-image.modern.js 1.73 kB +7 B (0%)
./.nuxt/dist/client/components/v-full-layout.js 1.53 kB +2 B (0%)
./.nuxt/dist/client/components/v-full-layout.modern.js 1.52 kB -3 B (0%)
./.nuxt/dist/client/components/v-grid-skeleton.js 1.64 kB +1 B (0%)
./.nuxt/dist/client/components/v-grid-skeleton.modern.js 1.64 kB -1 B (0%)
./.nuxt/dist/client/components/v-image-grid.js 2.63 kB +1 B (0%)
./.nuxt/dist/client/components/v-image-grid.modern.js 2.52 kB +2 B (0%)
./.nuxt/dist/client/components/v-license-tab-panel.js 932 B +1 B (0%)
./.nuxt/dist/client/components/v-license-tab-panel.modern.js 925 B +1 B (0%)
./.nuxt/dist/client/components/v-load-more.js 769 B -1 B (0%)
./.nuxt/dist/client/components/v-load-more.modern.js 664 B -1 B (0%)
./.nuxt/dist/client/components/v-media-license.js 809 B -1 B (0%)
./.nuxt/dist/client/components/v-media-reuse.js 1.03 kB +1 B (0%)
./.nuxt/dist/client/components/v-media-reuse/pages/image/_id.js 2.95 kB +1 B (0%)
./.nuxt/dist/client/components/v-media-reuse/pages/image/_id.modern.js 2.93 kB +2 B (0%)
./.nuxt/dist/client/components/v-meta-search-form.js 2.72 kB -321 B (-11%) 👏
./.nuxt/dist/client/components/v-meta-search-form.modern.js 2.69 kB -303 B (-10%) 👏
./.nuxt/dist/client/components/v-meta-source-list.js 2.06 kB -251 B (-11%) 👏
./.nuxt/dist/client/components/v-meta-source-list.modern.js 2.03 kB -258 B (-11%) 👏
./.nuxt/dist/client/components/v-modal.js 877 B +1 B (0%)
./.nuxt/dist/client/components/v-modal.modern.js 880 B -1 B (0%)
./.nuxt/dist/client/components/v-no-results.js 2.25 kB -261 B (-10%) 👏
./.nuxt/dist/client/components/v-no-results.modern.js 2.23 kB -263 B (-11%) 👏
./.nuxt/dist/client/components/v-radio.modern.js 1.48 kB +1 B (0%)
./.nuxt/dist/client/components/v-related-audio.js 1.25 kB -1 B (0%)
./.nuxt/dist/client/components/v-related-audio.modern.js 1.25 kB -1 B (0%)
./.nuxt/dist/client/components/v-related-images.js 2.77 kB +1 B (0%)
./.nuxt/dist/client/components/v-report-desc-form.js 959 B -2 B (0%)
./.nuxt/dist/client/components/v-report-desc-form.modern.js 961 B -1 B (0%)
./.nuxt/dist/client/components/v-row-layout.modern.js 1.81 kB +1 B (0%)
./.nuxt/dist/client/components/v-scroll-button.js 810 B +10 B (+1%)
./.nuxt/dist/client/components/v-scroll-button.modern.js 816 B +7 B (+1%)
./.nuxt/dist/client/components/v-search-grid.js 5.1 kB -288 B (-5%)
./.nuxt/dist/client/components/v-search-grid.modern.js 5.05 kB -282 B (-5%)
./.nuxt/dist/client/components/v-search-results-title.js 670 B -1 B (0%)
./.nuxt/dist/client/components/v-search-results-title.modern.js 665 B -1 B (0%)
./.nuxt/dist/client/components/v-search-type-radio.modern.js 835 B +2 B (0%)
./.nuxt/dist/client/components/v-server-timeout.modern.js 320 B +1 B (0%)
./.nuxt/dist/client/components/v-sidebar-content.modern.js 449 B -1 B (0%)
./.nuxt/dist/client/components/v-sketch-fab-viewer.js 996 B -1 B (0%)
./.nuxt/dist/client/components/v-skip-to-content-container.modern.js 905 B -2 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 -2 B (0%)
./.nuxt/dist/client/components/v-tab.js 1.73 kB +1 B (0%)
./.nuxt/dist/client/components/v-tabs.js 784 B -1 B (0%)
./.nuxt/dist/client/components/v-warning-suppressor.js 301 B +1 B (0%)
./.nuxt/dist/client/lang-ar.json.modern.js 255 B -1 B (0%)
./.nuxt/dist/client/lang-ca.json.js 9.38 kB +1 B (0%)
./.nuxt/dist/client/lang-de.json.modern.js 10.1 kB +1 B (0%)
./.nuxt/dist/client/lang-en-au.json.js 791 B +1 B (0%)
./.nuxt/dist/client/lang-en-au.json.modern.js 794 B -1 B (0%)
./.nuxt/dist/client/lang-en-ca.json.js 8.65 kB -1 B (0%)
./.nuxt/dist/client/lang-en-gb.json.js 8.65 kB -1 B (0%)
./.nuxt/dist/client/lang-en-za.json.js 5.17 kB -1 B (0%)
./.nuxt/dist/client/lang-en.json.js 8.55 kB -13 B (0%)
./.nuxt/dist/client/lang-en.json.modern.js 8.55 kB -13 B (0%)
./.nuxt/dist/client/lang-es-co.json.js 9.4 kB -1 B (0%)
./.nuxt/dist/client/lang-es-cr.json.modern.js 157 B +1 B (+1%)
./.nuxt/dist/client/lang-es-ec.json.modern.js 9.41 kB +1 B (0%)
./.nuxt/dist/client/lang-fa.json.modern.js 3.76 kB +1 B (0%)
./.nuxt/dist/client/lang-fr.json.js 7.23 kB +1 B (0%)
./.nuxt/dist/client/lang-it.json.modern.js 9.41 kB +1 B (0%)
./.nuxt/dist/client/lang-ja.json.js 4.6 kB +1 B (0%)
./.nuxt/dist/client/lang-kn.json.js 3.27 kB -1 B (0%)
./.nuxt/dist/client/lang-ne.json.js 330 B -1 B (0%)
./.nuxt/dist/client/lang-ne.json.modern.js 336 B +1 B (0%)
./.nuxt/dist/client/lang-ru.json.js 3.56 kB -1 B (0%)
./.nuxt/dist/client/lang-tr.json.js 1.74 kB -1 B (0%)
./.nuxt/dist/client/lang-tr.json.modern.js 1.75 kB -2 B (0%)
./.nuxt/dist/client/pages/audio/_id.js 6.38 kB +4 B (0%)
./.nuxt/dist/client/pages/audio/_id.modern.js 6.23 kB -1 B (0%)
./.nuxt/dist/client/pages/extension.js 2.19 kB +1 B (0%)
./.nuxt/dist/client/pages/extension.modern.js 2.2 kB -3 B (0%)
./.nuxt/dist/client/pages/feedback.js 3.22 kB -3 B (0%)
./.nuxt/dist/client/pages/image/_id.js 6.58 kB -1 B (0%)
./.nuxt/dist/client/pages/image/_id.modern.js 6.36 kB +3 B (0%)
./.nuxt/dist/client/pages/index.js 5.11 kB -10 B (0%)
./.nuxt/dist/client/pages/index.modern.js 4.98 kB -9 B (0%)
./.nuxt/dist/client/pages/meta-search.js 1.67 kB +3 B (0%)
./.nuxt/dist/client/pages/meta-search.modern.js 1.68 kB +2 B (0%)
./.nuxt/dist/client/pages/search-help.js 1.53 kB +1 B (0%)
./.nuxt/dist/client/pages/search.js 2.62 kB +19 B (+1%)
./.nuxt/dist/client/pages/search.modern.js 2.48 kB +17 B (+1%)
./.nuxt/dist/client/pages/search/audio.modern.js 2.74 kB +1 B (0%)
./.nuxt/dist/client/pages/search/image.modern.js 2.88 kB +1 B (0%)
./.nuxt/dist/client/pages/search/index.js 820 B -1 B (0%)
./.nuxt/dist/client/pages/search/index.modern.js 736 B -1 B (0%)
./.nuxt/dist/client/pages/sources.js 1.43 kB -3 B (0%)
./.nuxt/dist/client/pages/sources.modern.js 1.44 kB -2 B (0%)
./.nuxt/dist/client/vendors/app.js 48.9 kB +1 B (0%)
./.nuxt/dist/client/vendors/sentry.js 41.5 kB -2 B (0%)
./.nuxt/dist/client/vendors/sentry.modern.js 41.5 kB +4 B (0%)
ℹ️ View Unchanged
Filename Size
./.nuxt/dist/client/238.js 273 B
./.nuxt/dist/client/238.modern.js 277 B
./.nuxt/dist/client/239.js 1.85 kB
./.nuxt/dist/client/components/extension-browsers.js 817 B
./.nuxt/dist/client/components/extension-browsers.modern.js 820 B
./.nuxt/dist/client/components/loading-icon.js 766 B
./.nuxt/dist/client/components/table-sort-icon.js 515 B
./.nuxt/dist/client/components/v-audio-cell.js 340 B
./.nuxt/dist/client/components/v-audio-cell.modern.js 346 B
./.nuxt/dist/client/components/v-audio-track-skeleton.modern.js 1 kB
./.nuxt/dist/client/components/v-back-to-search-results-link.js 575 B
./.nuxt/dist/client/components/v-bone.modern.js 688 B
./.nuxt/dist/client/components/v-box-layout.js 1.2 kB
./.nuxt/dist/client/components/v-content-link.modern.js 1.04 kB
./.nuxt/dist/client/components/v-content-page.js 459 B
./.nuxt/dist/client/components/v-content-page.modern.js 464 B
./.nuxt/dist/client/components/v-content-report-button.modern.js 780 B
./.nuxt/dist/client/components/v-content-report-form.modern.js 3.58 kB
./.nuxt/dist/client/components/v-content-report-popover.js 4.43 kB
./.nuxt/dist/client/components/v-error-section.js 387 B
./.nuxt/dist/client/components/v-error-section.modern.js 391 B
./.nuxt/dist/client/components/v-image-cell-square.js 1.01 kB
./.nuxt/dist/client/components/v-image-cell-square.modern.js 1.01 kB
./.nuxt/dist/client/components/v-image-cell.js 1.48 kB
./.nuxt/dist/client/components/v-image-cell.modern.js 1.47 kB
./.nuxt/dist/client/components/v-image-details.js 1.45 kB
./.nuxt/dist/client/components/v-image-details.modern.js 1.44 kB
./.nuxt/dist/client/components/v-media-license.modern.js 814 B
./.nuxt/dist/client/components/v-media-reuse.modern.js 1.04 kB
./.nuxt/dist/client/components/v-media-tag.js 422 B
./.nuxt/dist/client/components/v-media-tag.modern.js 426 B
./.nuxt/dist/client/components/v-radio.js 1.52 kB
./.nuxt/dist/client/components/v-related-images.modern.js 2.66 kB
./.nuxt/dist/client/components/v-row-layout.js 1.81 kB
./.nuxt/dist/client/components/v-search-type-radio.js 849 B
./.nuxt/dist/client/components/v-server-timeout.js 315 B
./.nuxt/dist/client/components/v-sidebar-content.js 446 B
./.nuxt/dist/client/components/v-sketch-fab-viewer.modern.js 894 B
./.nuxt/dist/client/components/v-skip-to-content-container.js 903 B
./.nuxt/dist/client/components/v-tab-panel.js 691 B
./.nuxt/dist/client/components/v-tab-panel.modern.js 684 B
./.nuxt/dist/client/components/v-tab.modern.js 1.72 kB
./.nuxt/dist/client/components/v-tabs.modern.js 771 B
./.nuxt/dist/client/components/v-warning-suppressor.modern.js 305 B
./.nuxt/dist/client/lang-af.json.js 147 B
./.nuxt/dist/client/lang-af.json.modern.js 154 B
./.nuxt/dist/client/lang-am.json.js 147 B
./.nuxt/dist/client/lang-am.json.modern.js 154 B
./.nuxt/dist/client/lang-an.json.js 147 B
./.nuxt/dist/client/lang-an.json.modern.js 153 B
./.nuxt/dist/client/lang-ar.json.js 251 B
./.nuxt/dist/client/lang-arq.json.js 148 B
./.nuxt/dist/client/lang-arq.json.modern.js 155 B
./.nuxt/dist/client/lang-ary.json.js 148 B
./.nuxt/dist/client/lang-ary.json.modern.js 155 B
./.nuxt/dist/client/lang-as.json.js 147 B
./.nuxt/dist/client/lang-as.json.modern.js 154 B
./.nuxt/dist/client/lang-az-tr.json.js 150 B
./.nuxt/dist/client/lang-az-tr.json.modern.js 157 B
./.nuxt/dist/client/lang-az.json.js 147 B
./.nuxt/dist/client/lang-az.json.modern.js 154 B
./.nuxt/dist/client/lang-azb.json.js 148 B
./.nuxt/dist/client/lang-azb.json.modern.js 155 B
./.nuxt/dist/client/lang-ba.json.js 147 B
./.nuxt/dist/client/lang-ba.json.modern.js 154 B
./.nuxt/dist/client/lang-bel.json.js 148 B
./.nuxt/dist/client/lang-bel.json.modern.js 155 B
./.nuxt/dist/client/lang-bg.json.js 147 B
./.nuxt/dist/client/lang-bg.json.modern.js 154 B
./.nuxt/dist/client/lang-bn-in.json.js 150 B
./.nuxt/dist/client/lang-bn-in.json.modern.js 156 B
./.nuxt/dist/client/lang-bn.json.js 147 B
./.nuxt/dist/client/lang-bn.json.modern.js 153 B
./.nuxt/dist/client/lang-bo.json.js 147 B
./.nuxt/dist/client/lang-bo.json.modern.js 154 B
./.nuxt/dist/client/lang-br.json.js 147 B
./.nuxt/dist/client/lang-br.json.modern.js 154 B
./.nuxt/dist/client/lang-bs.json.js 147 B
./.nuxt/dist/client/lang-bs.json.modern.js 154 B
./.nuxt/dist/client/lang-ca.json.modern.js 9.39 kB
./.nuxt/dist/client/lang-ckb.json.js 148 B
./.nuxt/dist/client/lang-ckb.json.modern.js 155 B
./.nuxt/dist/client/lang-co.json.js 147 B
./.nuxt/dist/client/lang-co.json.modern.js 154 B
./.nuxt/dist/client/lang-cor.json.js 148 B
./.nuxt/dist/client/lang-cor.json.modern.js 155 B
./.nuxt/dist/client/lang-cs.json.js 9.87 kB
./.nuxt/dist/client/lang-cs.json.modern.js 9.88 kB
./.nuxt/dist/client/lang-cy.json.js 9.44 kB
./.nuxt/dist/client/lang-cy.json.modern.js 9.45 kB
./.nuxt/dist/client/lang-da.json.js 9.29 kB
./.nuxt/dist/client/lang-da.json.modern.js 9.29 kB
./.nuxt/dist/client/lang-de-at.json.js 150 B
./.nuxt/dist/client/lang-de-at.json.modern.js 157 B
./.nuxt/dist/client/lang-de-ch.json.js 150 B
./.nuxt/dist/client/lang-de-ch.json.modern.js 157 B
./.nuxt/dist/client/lang-de.json.js 10 kB
./.nuxt/dist/client/lang-dv.json.js 147 B
./.nuxt/dist/client/lang-dv.json.modern.js 154 B
./.nuxt/dist/client/lang-dzo.json.js 148 B
./.nuxt/dist/client/lang-dzo.json.modern.js 155 B
./.nuxt/dist/client/lang-el.json.js 11.5 kB
./.nuxt/dist/client/lang-el.json.modern.js 11.5 kB
./.nuxt/dist/client/lang-en-ca.json.modern.js 8.66 kB
./.nuxt/dist/client/lang-en-gb.json.modern.js 8.65 kB
./.nuxt/dist/client/lang-en-nz.json.js 150 B
./.nuxt/dist/client/lang-en-nz.json.modern.js 157 B
./.nuxt/dist/client/lang-en-za.json.modern.js 5.18 kB
./.nuxt/dist/client/lang-eo.json.js 147 B
./.nuxt/dist/client/lang-eo.json.modern.js 154 B
./.nuxt/dist/client/lang-es-ar.json.js 8.76 kB
./.nuxt/dist/client/lang-es-ar.json.modern.js 8.77 kB
./.nuxt/dist/client/lang-es-cl.json.js 150 B
./.nuxt/dist/client/lang-es-cl.json.modern.js 157 B
./.nuxt/dist/client/lang-es-co.json.modern.js 9.41 kB
./.nuxt/dist/client/lang-es-cr.json.js 150 B
./.nuxt/dist/client/lang-es-do.json.js 4.96 kB
./.nuxt/dist/client/lang-es-do.json.modern.js 4.96 kB
./.nuxt/dist/client/lang-es-ec.json.js 9.4 kB
./.nuxt/dist/client/lang-es-gt.json.js 151 B
./.nuxt/dist/client/lang-es-gt.json.modern.js 158 B
./.nuxt/dist/client/lang-es-hn.json.js 151 B
./.nuxt/dist/client/lang-es-hn.json.modern.js 157 B
./.nuxt/dist/client/lang-es-mx.json.js 9.4 kB
./.nuxt/dist/client/lang-es-mx.json.modern.js 9.41 kB
./.nuxt/dist/client/lang-es-pe.json.js 151 B
./.nuxt/dist/client/lang-es-pe.json.modern.js 158 B
./.nuxt/dist/client/lang-es-pr.json.js 151 B
./.nuxt/dist/client/lang-es-pr.json.modern.js 158 B
./.nuxt/dist/client/lang-es-uy.json.js 151 B
./.nuxt/dist/client/lang-es-uy.json.modern.js 158 B
./.nuxt/dist/client/lang-es-ve.json.js 9.4 kB
./.nuxt/dist/client/lang-es-ve.json.modern.js 9.41 kB
./.nuxt/dist/client/lang-es.json.js 9.39 kB
./.nuxt/dist/client/lang-es.json.modern.js 9.4 kB
./.nuxt/dist/client/lang-et.json.js 148 B
./.nuxt/dist/client/lang-et.json.modern.js 155 B
./.nuxt/dist/client/lang-eu.json.js 148 B
./.nuxt/dist/client/lang-eu.json.modern.js 155 B
./.nuxt/dist/client/lang-fa-af.json.js 151 B
./.nuxt/dist/client/lang-fa-af.json.modern.js 158 B
./.nuxt/dist/client/lang-fa.json.js 3.76 kB
./.nuxt/dist/client/lang-fi.json.js 148 B
./.nuxt/dist/client/lang-fi.json.modern.js 155 B
./.nuxt/dist/client/lang-fo.json.js 148 B
./.nuxt/dist/client/lang-fo.json.modern.js 155 B
./.nuxt/dist/client/lang-fr-be.json.js 151 B
./.nuxt/dist/client/lang-fr-be.json.modern.js 158 B
./.nuxt/dist/client/lang-fr-ca.json.js 151 B
./.nuxt/dist/client/lang-fr-ca.json.modern.js 158 B
./.nuxt/dist/client/lang-fr.json.modern.js 7.23 kB
./.nuxt/dist/client/lang-fuc.json.js 149 B
./.nuxt/dist/client/lang-fuc.json.modern.js 156 B
./.nuxt/dist/client/lang-fy.json.js 148 B
./.nuxt/dist/client/lang-fy.json.modern.js 155 B
./.nuxt/dist/client/lang-ga.json.js 148 B
./.nuxt/dist/client/lang-ga.json.modern.js 155 B
./.nuxt/dist/client/lang-gd.json.js 148 B
./.nuxt/dist/client/lang-gd.json.modern.js 155 B
./.nuxt/dist/client/lang-gl.json.js 9.26 kB
./.nuxt/dist/client/lang-gl.json.modern.js 9.27 kB
./.nuxt/dist/client/lang-gu.json.js 148 B
./.nuxt/dist/client/lang-gu.json.modern.js 155 B
./.nuxt/dist/client/lang-hat.json.js 149 B
./.nuxt/dist/client/lang-hat.json.modern.js 156 B
./.nuxt/dist/client/lang-hau.json.js 149 B
./.nuxt/dist/client/lang-hau.json.modern.js 156 B
./.nuxt/dist/client/lang-he.json.js 148 B
./.nuxt/dist/client/lang-he.json.modern.js 155 B
./.nuxt/dist/client/lang-hi.json.js 203 B
./.nuxt/dist/client/lang-hi.json.modern.js 210 B
./.nuxt/dist/client/lang-hr.json.js 148 B
./.nuxt/dist/client/lang-hr.json.modern.js 155 B
./.nuxt/dist/client/lang-hu.json.js 148 B
./.nuxt/dist/client/lang-hu.json.modern.js 155 B
./.nuxt/dist/client/lang-hy.json.js 148 B
./.nuxt/dist/client/lang-hy.json.modern.js 155 B
./.nuxt/dist/client/lang-ibo.json.js 149 B
./.nuxt/dist/client/lang-ibo.json.modern.js 156 B
./.nuxt/dist/client/lang-id.json.js 8.32 kB
./.nuxt/dist/client/lang-id.json.modern.js 8.33 kB
./.nuxt/dist/client/lang-ido.json.js 149 B
./.nuxt/dist/client/lang-ido.json.modern.js 156 B
./.nuxt/dist/client/lang-is.json.js 148 B
./.nuxt/dist/client/lang-is.json.modern.js 155 B
./.nuxt/dist/client/lang-it.json.js 9.4 kB
./.nuxt/dist/client/lang-ja.json.modern.js 4.61 kB
./.nuxt/dist/client/lang-jv.json.js 148 B
./.nuxt/dist/client/lang-jv.json.modern.js 155 B
./.nuxt/dist/client/lang-ka.json.js 148 B
./.nuxt/dist/client/lang-ka.json.modern.js 155 B
./.nuxt/dist/client/lang-kal.json.js 149 B
./.nuxt/dist/client/lang-kal.json.modern.js 156 B
./.nuxt/dist/client/lang-kin.json.js 149 B
./.nuxt/dist/client/lang-kin.json.modern.js 155 B
./.nuxt/dist/client/lang-kir.json.js 907 B
./.nuxt/dist/client/lang-kir.json.modern.js 912 B
./.nuxt/dist/client/lang-kk.json.js 148 B
./.nuxt/dist/client/lang-kk.json.modern.js 155 B
./.nuxt/dist/client/lang-km.json.js 148 B
./.nuxt/dist/client/lang-km.json.modern.js 155 B
./.nuxt/dist/client/lang-kmr.json.js 149 B
./.nuxt/dist/client/lang-kmr.json.modern.js 156 B
./.nuxt/dist/client/lang-kn.json.modern.js 3.28 kB
./.nuxt/dist/client/lang-ko.json.js 148 B
./.nuxt/dist/client/lang-ko.json.modern.js 155 B
./.nuxt/dist/client/lang-lb.json.js 148 B
./.nuxt/dist/client/lang-lb.json.modern.js 155 B
./.nuxt/dist/client/lang-li.json.js 148 B
./.nuxt/dist/client/lang-li.json.modern.js 155 B
./.nuxt/dist/client/lang-lin.json.js 149 B
./.nuxt/dist/client/lang-lin.json.modern.js 155 B
./.nuxt/dist/client/lang-lo.json.js 148 B
./.nuxt/dist/client/lang-lo.json.modern.js 155 B
./.nuxt/dist/client/lang-lt.json.js 148 B
./.nuxt/dist/client/lang-lt.json.modern.js 155 B
./.nuxt/dist/client/lang-lug.json.js 149 B
./.nuxt/dist/client/lang-lug.json.modern.js 156 B
./.nuxt/dist/client/lang-lv.json.js 6.63 kB
./.nuxt/dist/client/lang-lv.json.modern.js 6.63 kB
./.nuxt/dist/client/lang-mg.json.js 148 B
./.nuxt/dist/client/lang-mg.json.modern.js 155 B
./.nuxt/dist/client/lang-mk.json.js 148 B
./.nuxt/dist/client/lang-mk.json.modern.js 155 B
./.nuxt/dist/client/lang-ml.json.js 148 B
./.nuxt/dist/client/lang-ml.json.modern.js 155 B
./.nuxt/dist/client/lang-mn.json.js 148 B
./.nuxt/dist/client/lang-mn.json.modern.js 154 B
./.nuxt/dist/client/lang-mr.json.js 148 B
./.nuxt/dist/client/lang-mr.json.modern.js 155 B
./.nuxt/dist/client/lang-mri.json.js 149 B
./.nuxt/dist/client/lang-mri.json.modern.js 156 B
./.nuxt/dist/client/lang-ms.json.js 148 B
./.nuxt/dist/client/lang-ms.json.modern.js 155 B
./.nuxt/dist/client/lang-mya.json.js 149 B
./.nuxt/dist/client/lang-mya.json.modern.js 156 B
./.nuxt/dist/client/lang-nb.json.js 4.55 kB
./.nuxt/dist/client/lang-nb.json.modern.js 4.56 kB
./.nuxt/dist/client/lang-nl-be.json.js 9.48 kB
./.nuxt/dist/client/lang-nl-be.json.modern.js 9.48 kB
./.nuxt/dist/client/lang-nl.json.js 6.41 kB
./.nuxt/dist/client/lang-nl.json.modern.js 6.41 kB
./.nuxt/dist/client/lang-nn.json.js 148 B
./.nuxt/dist/client/lang-nn.json.modern.js 154 B
./.nuxt/dist/client/lang-oci.json.js 149 B
./.nuxt/dist/client/lang-oci.json.modern.js 156 B
./.nuxt/dist/client/lang-ory.json.js 149 B
./.nuxt/dist/client/lang-ory.json.modern.js 156 B
./.nuxt/dist/client/lang-os.json.js 148 B
./.nuxt/dist/client/lang-os.json.modern.js 155 B
./.nuxt/dist/client/lang-pl.json.js 148 B
./.nuxt/dist/client/lang-pl.json.modern.js 155 B
./.nuxt/dist/client/lang-ps.json.js 148 B
./.nuxt/dist/client/lang-ps.json.modern.js 155 B
./.nuxt/dist/client/lang-pt-ao.json.js 151 B
./.nuxt/dist/client/lang-pt-ao.json.modern.js 158 B
./.nuxt/dist/client/lang-pt-br.json.js 5.49 kB
./.nuxt/dist/client/lang-pt-br.json.modern.js 5.5 kB
./.nuxt/dist/client/lang-pt.json.js 412 B
./.nuxt/dist/client/lang-pt.json.modern.js 415 B
./.nuxt/dist/client/lang-ro.json.js 9.58 kB
./.nuxt/dist/client/lang-ro.json.modern.js 9.59 kB
./.nuxt/dist/client/lang-roh.json.js 149 B
./.nuxt/dist/client/lang-roh.json.modern.js 156 B
./.nuxt/dist/client/lang-ru.json.modern.js 3.56 kB
./.nuxt/dist/client/lang-sa-in.json.js 151 B
./.nuxt/dist/client/lang-sa-in.json.modern.js 157 B
./.nuxt/dist/client/lang-si.json.js 148 B
./.nuxt/dist/client/lang-si.json.modern.js 155 B
./.nuxt/dist/client/lang-sk.json.js 268 B
./.nuxt/dist/client/lang-sk.json.modern.js 271 B
./.nuxt/dist/client/lang-sl.json.js 148 B
./.nuxt/dist/client/lang-sl.json.modern.js 155 B
./.nuxt/dist/client/lang-sna.json.js 149 B
./.nuxt/dist/client/lang-sna.json.modern.js 156 B
./.nuxt/dist/client/lang-snd.json.js 149 B
./.nuxt/dist/client/lang-snd.json.modern.js 156 B
./.nuxt/dist/client/lang-so.json.js 148 B
./.nuxt/dist/client/lang-so.json.modern.js 155 B
./.nuxt/dist/client/lang-sq-xk.json.js 151 B
./.nuxt/dist/client/lang-sq-xk.json.modern.js 158 B
./.nuxt/dist/client/lang-sq.json.js 9.77 kB
./.nuxt/dist/client/lang-sq.json.modern.js 9.77 kB
./.nuxt/dist/client/lang-sr.json.js 148 B
./.nuxt/dist/client/lang-sr.json.modern.js 155 B
./.nuxt/dist/client/lang-srd.json.js 149 B
./.nuxt/dist/client/lang-srd.json.modern.js 156 B
./.nuxt/dist/client/lang-ssw.json.js 149 B
./.nuxt/dist/client/lang-ssw.json.modern.js 156 B
./.nuxt/dist/client/lang-su.json.js 148 B
./.nuxt/dist/client/lang-su.json.modern.js 155 B
./.nuxt/dist/client/lang-sv.json.js 4.95 kB
./.nuxt/dist/client/lang-sv.json.modern.js 4.96 kB
./.nuxt/dist/client/lang-sw.json.js 148 B
./.nuxt/dist/client/lang-sw.json.modern.js 155 B
./.nuxt/dist/client/lang-ta-lk.json.js 151 B
./.nuxt/dist/client/lang-ta-lk.json.modern.js 158 B
./.nuxt/dist/client/lang-ta.json.js 148 B
./.nuxt/dist/client/lang-ta.json.modern.js 155 B
./.nuxt/dist/client/lang-tah.json.js 149 B
./.nuxt/dist/client/lang-tah.json.modern.js 156 B
./.nuxt/dist/client/lang-te.json.js 3.52 kB
./.nuxt/dist/client/lang-te.json.modern.js 3.53 kB
./.nuxt/dist/client/lang-tg.json.js 148 B
./.nuxt/dist/client/lang-tg.json.modern.js 155 B
./.nuxt/dist/client/lang-th.json.js 148 B
./.nuxt/dist/client/lang-th.json.modern.js 155 B
./.nuxt/dist/client/lang-tir.json.js 149 B
./.nuxt/dist/client/lang-tir.json.modern.js 156 B
./.nuxt/dist/client/lang-tl.json.js 148 B
./.nuxt/dist/client/lang-tl.json.modern.js 155 B
./.nuxt/dist/client/lang-tt.json.js 148 B
./.nuxt/dist/client/lang-tt.json.modern.js 155 B
./.nuxt/dist/client/lang-tuk.json.js 149 B
./.nuxt/dist/client/lang-tuk.json.modern.js 156 B
./.nuxt/dist/client/lang-ug.json.js 148 B
./.nuxt/dist/client/lang-ug.json.modern.js 155 B
./.nuxt/dist/client/lang-uk.json.js 148 B
./.nuxt/dist/client/lang-uk.json.modern.js 155 B
./.nuxt/dist/client/lang-ur.json.js 148 B
./.nuxt/dist/client/lang-ur.json.modern.js 155 B
./.nuxt/dist/client/lang-uz.json.js 148 B
./.nuxt/dist/client/lang-uz.json.modern.js 155 B
./.nuxt/dist/client/lang-vi.json.js 148 B
./.nuxt/dist/client/lang-vi.json.modern.js 155 B
./.nuxt/dist/client/lang-wol.json.js 149 B
./.nuxt/dist/client/lang-wol.json.modern.js 156 B
./.nuxt/dist/client/lang-xho.json.js 149 B
./.nuxt/dist/client/lang-xho.json.modern.js 156 B
./.nuxt/dist/client/lang-yor.json.js 149 B
./.nuxt/dist/client/lang-yor.json.modern.js 156 B
./.nuxt/dist/client/lang-zh-cn.json.js 5 kB
./.nuxt/dist/client/lang-zh-cn.json.modern.js 5 kB
./.nuxt/dist/client/lang-zh-hk.json.js 151 B
./.nuxt/dist/client/lang-zh-hk.json.modern.js 158 B
./.nuxt/dist/client/lang-zh-sg.json.js 151 B
./.nuxt/dist/client/lang-zh-sg.json.modern.js 158 B
./.nuxt/dist/client/lang-zh-tw.json.js 4.12 kB
./.nuxt/dist/client/lang-zh-tw.json.modern.js 4.13 kB
./.nuxt/dist/client/lang-zul.json.js 149 B
./.nuxt/dist/client/lang-zul.json.modern.js 156 B
./.nuxt/dist/client/pages/about.js 1.05 kB
./.nuxt/dist/client/pages/about.modern.js 1.05 kB
./.nuxt/dist/client/pages/feedback.modern.js 3.2 kB
./.nuxt/dist/client/pages/preferences.js 1.26 kB
./.nuxt/dist/client/pages/preferences.modern.js 1.26 kB
./.nuxt/dist/client/pages/search-help.modern.js 1.53 kB
./.nuxt/dist/client/pages/search/audio.js 2.86 kB
./.nuxt/dist/client/pages/search/image.js 3.01 kB
./.nuxt/dist/client/pages/search/model-3d.js 260 B
./.nuxt/dist/client/pages/search/model-3d.modern.js 263 B
./.nuxt/dist/client/pages/search/search-page.types.js 266 B
./.nuxt/dist/client/pages/search/search-page.types.modern.js 271 B
./.nuxt/dist/client/pages/search/video.js 257 B
./.nuxt/dist/client/pages/search/video.modern.js 262 B
./.nuxt/dist/client/runtime.js 2.75 kB
./.nuxt/dist/client/runtime.modern.js 2.76 kB
./.nuxt/dist/client/vendors/app.modern.js 48.5 kB

compressed-size-action

Copy link
Member

@zackkrida zackkrida 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 thought this would be an unsolvable problem related to web api rounding or some other issue. So glad there was a fix.

Comment on lines 191 to 197
if (localAudio)
if (status.value === 'playing') {
currentTime.value = localAudio.currentTime
window.requestAnimationFrame(updateTimeLoop)
} else if (status.value === 'played') {
currentTime.value = localAudio.currentTime
}
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm going to look into why later but I wanted to note it here so I don't forget. It looks like the final update to put the audio current time happens slightly later and causes a jump in the waveform progression at the end for short audio files 🤔 I want to try to find a fix for that too if you don't mind @obulat?

Copy link
Contributor Author

@obulat obulat Jun 9, 2022

Choose a reason for hiding this comment

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

@sarayourfriend, I haven't seen the jump. I wonder if it was caused by the audio sometimes ending with a paused status, and sometimes with played. I still don't understand why it happens, but I removed the check for status being played to update the currentTime on line 196 here.

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.

Approving this for now. I haven't had time to check out the issue I mentioned. @obulat if you don't get around to checking on this now can you open an issue to address it? I think it's very low priority, but this fix is better to have than to block on it for the minor jumpiness.

@zackkrida
Copy link
Member

@sarayourfriend does this video look like what you're seeing? I haven't been able to reproduce the jump you mentioned.

CleanShot.2022-06-08.at.09.44.40.mp4

I have, however, @obulat, noticed interesting behavior with audio around 1 second long. Here's the 'end point' of a bunch of >1s audios:

CleanShot 2022-06-08 at 09 46 21@2x

They all finish in a different position! I wonder if the position is deterministic and related to their exact length. Perhaps for these we'd need to round up the progress bar to 1 second.

I also wonder: should we alter the timestamp to show milliseconds for audio tracks less than one second long? We can make a separate issue for that if needed.

@sarayourfriend
Copy link
Contributor

@zackkrida it does not look like your video. Unfortunately I'm completely unable to play any audio files locally at the moment (no idea why, it's very strange) so I can't take a video to show what I was seeing.

@sarayourfriend
Copy link
Contributor

I can reproduce this every single time for the first time I play an audio:

openverse-audio-end-jump.mp4

And then it appears to happen every other time when replaying:

openverse-audio-end-jump-replays.mp4

@obulat
Copy link
Contributor Author

obulat commented Jun 9, 2022

They all finish in a different position! I wonder if the position is deterministic and related to their exact length. Perhaps for these, we'd need to round up the progress bar to 1 second.

This is a really interesting bug! Sometimes I get the correct end position every time, sometimes it's incorrect on the first time, sometimes - on following replays. I'm going to look into it.

# Conflicts:
#	src/locales/po-files/openverse.pot
@sarayourfriend
Copy link
Contributor

sarayourfriend commented Jun 9, 2022

I'm wondering if instead of relying on the animation loop we need to just set currentTime = duration when the audio is finished playing (via the ended event).

Update time for `paused` and `played` statuses to prevent uneven waveform at the end
@obulat
Copy link
Contributor Author

obulat commented Jun 9, 2022

I'm wondering if instead of relying on the animation loop we need to just set currentTime = duration when the audio is finished playing (via the ended event).

It seems to be working now, after removing the check for played status. Do you think this solution is good enough, @sarayourfriend ?

@zackkrida
Copy link
Member

Looks better to me, nice 👍

@sarayourfriend
Copy link
Contributor

sarayourfriend commented Jun 9, 2022

I still see the jump at the end unfortunately 😢

openverse-jump-at-end-after-fix.mp4

At least it is consistent now in that it does fill the progress bar fully every time.

The milliseconds showing is pretty cool... however, because the API durations are not accurate to the actual durations of the files (:rage1:) there is a very noticeable change in the number of milliseconds for basically any file that shows them the first time you hit play (after the file is loaded and we start using the browser's reported duration for the file). It makes me wonder if we really should only show milliseconds for sub-second files, mostly to minimize the visibility of that frustrating data issue :grimacing:

@zackkrida
Copy link
Member

It makes me wonder if we really should only show milliseconds for sub-second files

Ah, I only re-tested on a results page with all sub-second results 😅. I agree with this.

@obulat
Copy link
Contributor Author

obulat commented Jun 9, 2022

It makes me wonder if we really should only show milliseconds for sub-second files, mostly to minimize the visibility of that frustrating data issue 😬

This was an easy thing to fix :)

@obulat obulat merged commit 6423708 into main Jun 10, 2022
@obulat obulat deleted the fix/waveform_alignment branch June 10, 2022 03:21
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🕹 aspect: interface Concerns end-users' experience with the software 🛠 goal: fix Bug fix 🟩 priority: low Low priority and doesn't need to be rushed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Very short audio tracks have misaligned progress bar upon track completion
4 participants