Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix audio snackbar and box audio seeking #2743

Merged
merged 4 commits into from
Aug 12, 2023
Merged

Conversation

obulat
Copy link
Contributor

@obulat obulat commented Jul 29, 2023

Fixes

Fixes #2742 by @obulat
Fixes #2124 by @zackkrida

Description

To fix the linked issues, this PR refactors the Audio search result components.

I realized that the components that display the audio result on the All content (VAudioCell) and Audio search result pages (the inner part of VAudioList) have the same functionality. Both are <li> list items, and both have to handle interaction and mouse down to send analytics events. So, I refactored VAudioCell to VAudioResult that handles that, and can also set the correct audio track layout and size (row if it's the Audio search page, and box if its the All content search page).
The new VAudioResult component is now used by VAudioList (the audio search results page and the related audio section on the single results page) and the VAllResultsGrid (the All content search results page).

The snackbar handling is moved inside the VAudioTrack component. This allows us to not pass as many events up anymore.

We also add isSeekable prop to use-seekable composable to prevent seeking on box audio by arrow keys.

Another change added here is to hide the related images using brightness: 0% and remove the maxDiffPixels threshold in the snapshot comparisons. Previously, there was flakiness in these snapshots because sometimes the related images did not fully load and still had gray spans when we took the snapshots. This is not related to this PR, but since this PR was started because the Playwright failures in #2735, I decided to add it here, and rebase 2735 on this PR. This will help us see the changes in the external links in that PR.

Testing Instructions

Test that the instructions snackbar is closed when you navigate away from search results. Go to the search page, navigate to the Audio item using keyboard, and close the snackbar by pressing Spacebar to play the audio. Then, press Enter to navigate to the single result page. The snackbar should be hidden.

Test that you cannot seek on the box layout. Go to the all content search page, and navigate to an audio item using your keyboard. Press arrow keys: you shouldn't be able to "seek" the audio. You should also see no AUDIO_INTERACTION analytics events in the console.

Check that audio interaction and SELECT_SEARCH_RESULT events are sent correctly for all audio tracks. When you click on audio to navigate to the single result page, you should get the SELECT_SEARCH_RESULT but not AUDIO_INTERACTION event. When you click play or seek - you should get the AUDIO_INTERACTION, but no SELECT_SEARCH_RESULT events.

Checklist

  • My pull request has a descriptive title (not a vague title likeUpdate 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.
  • I ran the DAG documentation generator (if applicable).

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 July 29, 2023 10:44
@obulat obulat self-assigned this Jul 29, 2023
@obulat obulat requested review from dhruvkb and sarayourfriend July 29, 2023 10:44
@github-actions github-actions bot added the 🧱 stack: frontend Related to the Nuxt frontend label Jul 29, 2023
@openverse-bot openverse-bot added 🟧 priority: high Stalls work on the project or its dependents 🛠 goal: fix Bug fix 🕹 aspect: interface Concerns end-users' experience with the software labels Jul 29, 2023
@github-actions
Copy link

github-actions bot commented Jul 29, 2023

Size Change: -3.35 kB (0%)

Total Size: 868 kB

Filename Size Change
./frontend/.nuxt/dist/client/239.js 1.85 kB +1.58 kB (+578%) 🆘
./frontend/.nuxt/dist/client/239.modern.js 0 B -277 B (removed) 🏆
./frontend/.nuxt/dist/client/240.js 0 B -1.85 kB (removed) 🏆
./frontend/.nuxt/dist/client/app.js 122 kB +78 B (0%)
./frontend/.nuxt/dist/client/app.modern.js 113 kB +16 B (0%)
./frontend/.nuxt/dist/client/commons/app.js 90.2 kB -15 B (0%)
./frontend/.nuxt/dist/client/components/v-all-results-grid.js 6.62 kB +2.6 kB (+65%) 🆘
./frontend/.nuxt/dist/client/components/v-all-results-grid.modern.js 6.46 kB +2.48 kB (+62%) 🆘
./frontend/.nuxt/dist/client/components/v-all-results-grid/components/v-audio-collection/components/v-related-audio/pages/audio/_/0a3edca7.js 0 B -3.18 kB (removed) 🏆
./frontend/.nuxt/dist/client/components/v-all-results-grid/components/v-audio-collection/components/v-related-audio/pages/audio/_/0a3edca7.modern.js 0 B -3.08 kB (removed) 🏆
./frontend/.nuxt/dist/client/components/v-audio-cell.js 0 B -897 B (removed) 🏆
./frontend/.nuxt/dist/client/components/v-audio-cell.modern.js 0 B -881 B (removed) 🏆
./frontend/.nuxt/dist/client/components/v-audio-collection.js 4.38 kB +2.68 kB (+157%) 🆘
./frontend/.nuxt/dist/client/components/v-audio-collection.modern.js 4.26 kB +2.57 kB (+153%) 🆘
./frontend/.nuxt/dist/client/components/v-audio-details/components/v-image-details/pages/image/_id/index.js 0 B -3.79 kB (removed) 🏆
./frontend/.nuxt/dist/client/components/v-audio-details/components/v-image-details/pages/image/_id/index.modern.js 0 B -3.67 kB (removed) 🏆
./frontend/.nuxt/dist/client/components/v-audio-list.js 1.33 kB +82 B (+7%) 🔍
./frontend/.nuxt/dist/client/components/v-audio-list.modern.js 1.31 kB +84 B (+7%) 🔍
./frontend/.nuxt/dist/client/components/v-audio-track.js 5.67 kB +219 B (+4%)
./frontend/.nuxt/dist/client/components/v-audio-track.modern.js 5.63 kB +222 B (+4%)
./frontend/.nuxt/dist/client/components/v-related-audio.js 824 B -1.32 kB (-62%) 🏆
./frontend/.nuxt/dist/client/components/v-related-audio.modern.js 743 B -1.29 kB (-63%) 🏆
./frontend/.nuxt/dist/client/pages/audio/_id/index.js 10.7 kB -209 B (-2%)
./frontend/.nuxt/dist/client/pages/audio/_id/index.modern.js 10.4 kB -203 B (-2%)
./frontend/.nuxt/dist/client/pages/image/_id/report.js 4.89 kB -12 B (0%)
./frontend/.nuxt/dist/client/pages/search/audio.js 503 B -1.36 kB (-73%) 🏆
./frontend/.nuxt/dist/client/pages/search/audio.modern.js 506 B -1.33 kB (-73%) 🏆
./frontend/.nuxt/dist/client/pages/search/index.modern.js 320 B -3.72 kB (-92%) 🏆
./frontend/.nuxt/dist/client/runtime.js 2.75 kB -28 B (-1%)
./frontend/.nuxt/dist/client/runtime.modern.js 2.75 kB -30 B (-1%)
./frontend/.nuxt/dist/client/238.js 273 B +273 B (new file) 🆕
./frontend/.nuxt/dist/client/238.modern.js 277 B +277 B (new file) 🆕
./frontend/.nuxt/dist/client/components/v-audio-result.js 1 kB +1 kB (new file) 🆕
./frontend/.nuxt/dist/client/components/v-audio-result.modern.js 995 B +995 B (new file) 🆕
./frontend/.nuxt/dist/client/components/v-related-audio/pages/search/audio.js 4.38 kB +4.38 kB (new file) 🆕
./frontend/.nuxt/dist/client/components/v-related-audio/pages/search/audio.modern.js 4.25 kB +4.25 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./frontend/.nuxt/dist/client/commons/app.modern.js 80.8 kB 0 B
./frontend/.nuxt/dist/client/commons/components/v-search-grid/pages/search.js 5.17 kB -1 B (0%)
./frontend/.nuxt/dist/client/commons/components/v-search-grid/pages/search.modern.js 5.61 kB -2 B (0%)
./frontend/.nuxt/dist/client/components/loading-icon.js 729 B 0 B
./frontend/.nuxt/dist/client/components/loading-icon.modern.js 733 B 0 B
./frontend/.nuxt/dist/client/components/table-sort-icon.js 514 B 0 B
./frontend/.nuxt/dist/client/components/table-sort-icon.modern.js 518 B -1 B (0%)
./frontend/.nuxt/dist/client/components/v-audio-details.js 1.79 kB 0 B
./frontend/.nuxt/dist/client/components/v-audio-details.modern.js 1.77 kB +4 B (0%)
./frontend/.nuxt/dist/client/components/v-audio-track-skeleton.js 960 B +2 B (0%)
./frontend/.nuxt/dist/client/components/v-audio-track-skeleton.modern.js 961 B 0 B
./frontend/.nuxt/dist/client/components/v-back-to-search-results-link.js 634 B 0 B
./frontend/.nuxt/dist/client/components/v-back-to-search-results-link.modern.js 640 B 0 B
./frontend/.nuxt/dist/client/components/v-bone.js 632 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-bone.modern.js 636 B -1 B (0%)
./frontend/.nuxt/dist/client/components/v-box-layout.js 1.33 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-box-layout.modern.js 1.33 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-content-link.js 1.06 kB 0 B
./frontend/.nuxt/dist/client/components/v-content-link.modern.js 1.06 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-content-page.js 531 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-content-page.modern.js 535 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-content-report-button.js 493 B 0 B
./frontend/.nuxt/dist/client/components/v-content-report-button.modern.js 497 B 0 B
./frontend/.nuxt/dist/client/components/v-content-report-form.js 3.33 kB 0 B
./frontend/.nuxt/dist/client/components/v-content-report-form.modern.js 3.21 kB +3 B (0%)
./frontend/.nuxt/dist/client/components/v-content-report-popover.js 3.8 kB +4 B (0%)
./frontend/.nuxt/dist/client/components/v-content-report-popover.modern.js 3.67 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-copy-button.js 3.99 kB -2 B (0%)
./frontend/.nuxt/dist/client/components/v-copy-button.modern.js 4 kB 0 B
./frontend/.nuxt/dist/client/components/v-copy-license.js 2.27 kB -1 B (0%)
./frontend/.nuxt/dist/client/components/v-copy-license.modern.js 2.25 kB 0 B
./frontend/.nuxt/dist/client/components/v-dmca-notice.js 792 B 0 B
./frontend/.nuxt/dist/client/components/v-dmca-notice.modern.js 797 B -1 B (0%)
./frontend/.nuxt/dist/client/components/v-error-image.js 2.41 kB -2 B (0%)
./frontend/.nuxt/dist/client/components/v-error-image.modern.js 2.38 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-error-section.js 372 B 0 B
./frontend/.nuxt/dist/client/components/v-error-section.modern.js 375 B 0 B
./frontend/.nuxt/dist/client/components/v-external-search-form.js 2 kB +3 B (0%)
./frontend/.nuxt/dist/client/components/v-external-search-form.modern.js 1.98 kB 0 B
./frontend/.nuxt/dist/client/components/v-external-source-list.js 896 B 0 B
./frontend/.nuxt/dist/client/components/v-external-source-list.modern.js 896 B 0 B
./frontend/.nuxt/dist/client/components/v-full-layout.js 1.57 kB +4 B (0%)
./frontend/.nuxt/dist/client/components/v-full-layout.modern.js 1.58 kB -2 B (0%)
./frontend/.nuxt/dist/client/components/v-grid-skeleton.js 1.53 kB -4 B (0%)
./frontend/.nuxt/dist/client/components/v-grid-skeleton.modern.js 1.53 kB -7 B (0%)
./frontend/.nuxt/dist/client/components/v-hide-button.js 811 B -1 B (0%)
./frontend/.nuxt/dist/client/components/v-hide-button.modern.js 813 B 0 B
./frontend/.nuxt/dist/client/components/v-home-gallery.js 4.28 kB 0 B
./frontend/.nuxt/dist/client/components/v-home-gallery.modern.js 4.26 kB 0 B
./frontend/.nuxt/dist/client/components/v-homepage-content.js 1.8 kB -2 B (0%)
./frontend/.nuxt/dist/client/components/v-homepage-content.modern.js 1.77 kB -2 B (0%)
./frontend/.nuxt/dist/client/components/v-icon-button.js 523 B 0 B
./frontend/.nuxt/dist/client/components/v-icon-button.modern.js 527 B -1 B (0%)
./frontend/.nuxt/dist/client/components/v-image-cell.js 1.95 kB 0 B
./frontend/.nuxt/dist/client/components/v-image-cell.modern.js 1.94 kB 0 B
./frontend/.nuxt/dist/client/components/v-image-details.js 1.44 kB -3 B (0%)
./frontend/.nuxt/dist/client/components/v-image-details.modern.js 1.43 kB -2 B (0%)
./frontend/.nuxt/dist/client/components/v-image-grid.js 4.42 kB -1 B (0%)
./frontend/.nuxt/dist/client/components/v-image-grid.modern.js 4.3 kB +3 B (0%)
./frontend/.nuxt/dist/client/components/v-license-tab-panel.js 641 B 0 B
./frontend/.nuxt/dist/client/components/v-license-tab-panel.modern.js 649 B -1 B (0%)
./frontend/.nuxt/dist/client/components/v-load-more.js 1.18 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-load-more.modern.js 1.06 kB +2 B (0%)
./frontend/.nuxt/dist/client/components/v-media-license.js 932 B 0 B
./frontend/.nuxt/dist/client/components/v-media-license.modern.js 939 B 0 B
./frontend/.nuxt/dist/client/components/v-media-reuse.js 2.93 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-media-reuse.modern.js 2.91 kB 0 B
./frontend/.nuxt/dist/client/components/v-media-tag.js 416 B 0 B
./frontend/.nuxt/dist/client/components/v-media-tag.modern.js 421 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-modal.js 1 kB 0 B
./frontend/.nuxt/dist/client/components/v-modal.modern.js 996 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-no-results.js 855 B 0 B
./frontend/.nuxt/dist/client/components/v-no-results.modern.js 857 B 0 B
./frontend/.nuxt/dist/client/components/v-radio.js 1 kB -1 B (0%)
./frontend/.nuxt/dist/client/components/v-radio.modern.js 1.01 kB 0 B
./frontend/.nuxt/dist/client/components/v-related-images.js 806 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-related-images.modern.js 719 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-report-desc-form.js 976 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-report-desc-form.modern.js 981 B 0 B
./frontend/.nuxt/dist/client/components/v-row-layout.js 1.72 kB -1 B (0%)
./frontend/.nuxt/dist/client/components/v-row-layout.modern.js 1.73 kB 0 B
./frontend/.nuxt/dist/client/components/v-safety-wall.js 1.31 kB -2 B (0%)
./frontend/.nuxt/dist/client/components/v-safety-wall.modern.js 1.32 kB -1 B (0%)
./frontend/.nuxt/dist/client/components/v-scroll-button.js 891 B 0 B
./frontend/.nuxt/dist/client/components/v-scroll-button.modern.js 891 B 0 B
./frontend/.nuxt/dist/client/components/v-search-grid.js 6.83 kB +5 B (0%)
./frontend/.nuxt/dist/client/components/v-search-grid.modern.js 6.18 kB +2 B (0%)
./frontend/.nuxt/dist/client/components/v-search-results-title.js 618 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-search-results-title.modern.js 620 B -2 B (0%)
./frontend/.nuxt/dist/client/components/v-server-timeout.js 302 B 0 B
./frontend/.nuxt/dist/client/components/v-server-timeout.modern.js 306 B 0 B
./frontend/.nuxt/dist/client/components/v-single-result-controls.js 1.36 kB 0 B
./frontend/.nuxt/dist/client/components/v-single-result-controls.modern.js 1.36 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-sketch-fab-viewer.js 1.01 kB 0 B
./frontend/.nuxt/dist/client/components/v-sketch-fab-viewer.modern.js 915 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-snackbar.js 1.07 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-snackbar.modern.js 1.07 kB +1 B (0%)
./frontend/.nuxt/dist/client/components/v-sources-table.js 14.4 kB -1 B (0%)
./frontend/.nuxt/dist/client/components/v-sources-table.modern.js 14.4 kB +2 B (0%)
./frontend/.nuxt/dist/client/components/v-warning-suppressor.js 307 B +1 B (0%)
./frontend/.nuxt/dist/client/components/v-warning-suppressor.modern.js 311 B 0 B
./frontend/.nuxt/dist/client/pages/about.js 1.42 kB 0 B
./frontend/.nuxt/dist/client/pages/about.modern.js 1.42 kB 0 B
./frontend/.nuxt/dist/client/pages/feedback.js 1.36 kB 0 B
./frontend/.nuxt/dist/client/pages/feedback.modern.js 1.36 kB +1 B (0%)
./frontend/.nuxt/dist/client/pages/image/_id/index.js 8.22 kB -9 B (0%)
./frontend/.nuxt/dist/client/pages/image/_id/index.modern.js 8.04 kB -3 B (0%)
./frontend/.nuxt/dist/client/pages/image/_id/report.modern.js 4.67 kB -7 B (0%)
./frontend/.nuxt/dist/client/pages/index.js 6.34 kB -1 B (0%)
./frontend/.nuxt/dist/client/pages/index.modern.js 6.3 kB -1 B (0%)
./frontend/.nuxt/dist/client/pages/preferences.js 1.32 kB +2 B (0%)
./frontend/.nuxt/dist/client/pages/preferences.modern.js 1.31 kB +2 B (0%)
./frontend/.nuxt/dist/client/pages/privacy.js 1.26 kB +1 B (0%)
./frontend/.nuxt/dist/client/pages/privacy.modern.js 1.26 kB +2 B (0%)
./frontend/.nuxt/dist/client/pages/search-help.js 1.62 kB +1 B (0%)
./frontend/.nuxt/dist/client/pages/search-help.modern.js 1.61 kB 0 B
./frontend/.nuxt/dist/client/pages/search.js 2.27 kB +2 B (0%)
./frontend/.nuxt/dist/client/pages/search.modern.js 2.09 kB +2 B (0%)
./frontend/.nuxt/dist/client/pages/search/image.js 461 B -1 B (0%)
./frontend/.nuxt/dist/client/pages/search/image.modern.js 463 B +1 B (0%)
./frontend/.nuxt/dist/client/pages/search/index.js 313 B 0 B
./frontend/.nuxt/dist/client/pages/search/model-3d.js 242 B -1 B (0%)
./frontend/.nuxt/dist/client/pages/search/model-3d.modern.js 246 B 0 B
./frontend/.nuxt/dist/client/pages/search/video.js 240 B 0 B
./frontend/.nuxt/dist/client/pages/search/video.modern.js 244 B 0 B
./frontend/.nuxt/dist/client/pages/sources.js 1.54 kB 0 B
./frontend/.nuxt/dist/client/pages/sources.modern.js 1.54 kB -1 B (0%)
./frontend/.nuxt/dist/client/vendors/app.js 68.3 kB 0 B
./frontend/.nuxt/dist/client/vendors/app.modern.js 68.1 kB -3 B (0%)

compressed-size-action

@obulat obulat force-pushed the fix/snackbar_show_on_mouse_focus branch from 8556807 to a8f3747 Compare July 29, 2023 11:11
@obulat obulat requested a review from zackkrida July 30, 2023 16:52
@obulat obulat force-pushed the fix/snackbar_show_on_mouse_focus branch from a8f3747 to 03415c9 Compare August 2, 2023 15:38
Copy link
Collaborator

@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.

Works when I test it locally 🚀 Just one clarification question to understand the intended interaction.

Comment on lines 146 to 154
/**
* Whether instructions snackbar should be shown when this track is focused.
* This is used to show instructions for keyboard navigation on the search
* results page.
*/
showsSnackbar: {
type: Boolean,
default: false,
},
Copy link
Collaborator

Choose a reason for hiding this comment

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

When is this meant to be false? In other words, in what case do we not show the instructions when keyboard navigating?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've asked @fcoveram about it, and we decided that we want to show the instructions for all audio tracks (even the main audio track for the single result page that didn't use to show it), and to hide it when the audio track loses focus.
I updated the PR to reflect that. So, now when you focus on any audio track, you see the instructions snackbar. It is completely dismissed if you interact with the audio using your keyboard. If you move the focus away from the audio track, the snackbar is only hidden (so, it re-appears if you focus on an audio track again).

Copy link
Member

Choose a reason for hiding this comment

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

How does mobile factor in here? I just noticed on the live site that clicking the boxed audio layout shows the snack bar on mobile

@obulat obulat force-pushed the fix/snackbar_show_on_mouse_focus branch from 03415c9 to d56de98 Compare August 9, 2023 08:40
@obulat obulat force-pushed the fix/snackbar_show_on_mouse_focus branch from d56de98 to 10a7079 Compare August 9, 2023 20:57
@openverse-bot
Copy link
Collaborator

Based on the high urgency of this PR, the following reviewers are being gently reminded to review this PR:

@zackkrida
@dhruvkb
This reminder is being automatically generated due to the urgency configuration.

Excluding weekend1 days, this PR was ready for review 9 day(s) ago. PRs labelled with high urgency are expected to be reviewed within 2 weekday(s)2.

@obulat, if this PR is not ready for a review, please draft it to prevent reviewers from getting further unnecessary pings.

Footnotes

  1. Specifically, Saturday and Sunday.

  2. For the purpose of these reminders we treat Monday - Friday as weekdays. Please note that the operation that generates these reminders runs at midnight UTC on Monday - Friday. This means that depending on your timezone, you may be pinged outside of the expected range.

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. The question I asked about mobile can perhaps be handled, if necessary, in a separate issue.

@obulat obulat merged commit a80aad0 into main Aug 12, 2023
@obulat obulat deleted the fix/snackbar_show_on_mouse_focus branch August 12, 2023 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🕹 aspect: interface Concerns end-users' experience with the software 🛠 goal: fix Bug fix 🟧 priority: high Stalls work on the project or its dependents 🧱 stack: frontend Related to the Nuxt frontend
Projects
Archived in project
4 participants