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

Add pagination to marketplace #15457

Merged
merged 32 commits into from Apr 12, 2023
Merged

Add pagination to marketplace #15457

merged 32 commits into from Apr 12, 2023

Conversation

remidej
Copy link
Contributor

@remidej remidej commented Jan 16, 2023

This PR combines previously approved PRs: #14935 #14911 #15006 #15420 #15447

What does it do?

  • Adds pagination to the marketplace page
  • Replace the marketplace's local search by a backend one
  • Remove the code to filter out v3 plugins, as they have been removed entirely
  • Improves the performance of the marketplace tests

Why is it needed?

With 100+ plugins on the marketplace, making unpaginated requests created performance problems.

How to test it?

Open /admin/marketplace and navigate from page to page. Try making searches too, and combining them with filters.

@remidej remidej self-assigned this Jan 16, 2023
@remidej remidej added pr: enhancement This PR adds or updates some part of the codebase or features source: marketplace Source is admin in-app marketplace labels Jan 16, 2023
@codecov
Copy link

codecov bot commented Jan 16, 2023

Codecov Report

Patch coverage has no change and project coverage change: -12.36 ⚠️

Comparison is base (fe5d703) 59.97% compared to head (54e7aff) 47.61%.

❗ Current head 54e7aff differs from pull request most recent head e96d4eb. Consider uploading reports for the commit e96d4eb to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##             main   #15457       +/-   ##
===========================================
- Coverage   59.97%   47.61%   -12.36%     
===========================================
  Files        1485      448     -1037     
  Lines       37488    15773    -21715     
  Branches     7523     3382     -4141     
===========================================
- Hits        22482     7511    -14971     
+ Misses      12797     6855     -5942     
+ Partials     2209     1407      -802     
Flag Coverage Δ
back 47.40% <ø> (-2.58%) ⬇️
front ?
unit_back 47.40% <ø> (-2.58%) ⬇️
unit_front ?

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1263 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@markkaylor
Copy link
Contributor

@remidej does this need further testing if it combines previously approved PRs, did the last PR merged contain all changes on this branch?

@remidej
Copy link
Contributor Author

remidej commented Jan 17, 2023

@markkaylor all the code here should have been reviewed, I don't believe there was any commit on the feature branch directly. But I'd appreciate it if someone could manually test it really quick to be sure since it's targeting main

markkaylor
markkaylor previously approved these changes Jan 20, 2023
Copy link
Contributor

@markkaylor markkaylor left a comment

Choose a reason for hiding this comment

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

Great work Rémi, this is awesome.

One small thing I noticed but I don't think it is a big deal. We don't seem to have an onBlur handler on the filter button. When you apply a filter and then click the search it would be nice if the filters closed. What do you think? If you agree I think we could go ahead and merge this and just create a ticket for that in the backlog.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 29, 2023

Size Change: +518 B (0%)

Total Size: 1.42 MB

Filename Size Change
packages/core/admin/build/Admin_marketplace.********.chunk.js 8.24 kB +408 B (+5%) 🔍
packages/core/admin/build/content-manager.********.chunk.js 63.6 kB +81 B (0%)
packages/core/admin/build/main.********.js 512 kB -12 B (0%)
packages/core/helper-plugin/build/helper-plugin.esm.js 19.5 kB +23 B (0%)
packages/core/helper-plugin/build/helper-plugin.js 17.4 kB +24 B (0%)
ℹ️ View Unchanged
Filename Size Change
packages/core/admin/build/Admin_homePage.********.chunk.js 8.49 kB 0 B
packages/core/admin/build/Admin_InternalErrorPage.********.chunk.js 496 B 0 B
packages/core/admin/build/Admin_pluginsPage.********.chunk.js 1.2 kB 0 B
packages/core/admin/build/Admin_profilePage.********.chunk.js 3.05 kB 0 B
packages/core/admin/build/Admin_settingsPage.********.chunk.js 9.38 kB 0 B
packages/core/admin/build/admin-app.********.chunk.js 24.8 kB 0 B
packages/core/admin/build/Admin-authenticatedApp.********.chunk.js 8.29 kB -4 B (0%)
packages/core/admin/build/admin-edit-roles-page.********.chunk.js 16 kB 0 B
packages/core/admin/build/admin-edit-users.********.chunk.js 3.91 kB 0 B
packages/core/admin/build/admin-roles-list.********.chunk.js 3.06 kB 0 B
packages/core/admin/build/admin-users.********.chunk.js 6.46 kB 0 B
packages/core/admin/build/api-tokens-create-page.********.chunk.js 230 B 0 B
packages/core/admin/build/api-tokens-edit-page.********.chunk.js 229 B 0 B
packages/core/admin/build/api-tokens-list-page.********.chunk.js 2.78 kB 0 B
packages/core/admin/build/ar-json.********.chunk.js 4.98 kB 0 B
packages/core/admin/build/audit-logs-settings-page.********.chunk.js 7.31 kB 0 B
packages/core/admin/build/bb3108f7fd1e6179bde1.svg 352 B 0 B
packages/core/admin/build/bb4d0d527bdfb161bc5a.svg 2.33 kB 0 B
packages/core/admin/build/ca-json.********.chunk.js 12.9 kB 0 B
packages/core/admin/build/content-type-builder-list-view.********.chunk.js 7.78 kB 0 B
packages/core/admin/build/content-type-builder-translation-ar-json.********.chunk.js 1.35 kB 0 B
packages/core/admin/build/content-type-builder-translation-cs-json.********.chunk.js 2.88 kB 0 B
packages/core/admin/build/content-type-builder-translation-de-json.********.chunk.js 4.19 kB 0 B
packages/core/admin/build/content-type-builder-translation-dk-json.********.chunk.js 3.75 kB 0 B
packages/core/admin/build/content-type-builder-translation-en-json.********.chunk.js 3.95 kB 0 B
packages/core/admin/build/content-type-builder-translation-es-json.********.chunk.js 3.98 kB 0 B
packages/core/admin/build/content-type-builder-translation-fr-json.********.chunk.js 1.66 kB 0 B
packages/core/admin/build/content-type-builder-translation-id-json.********.chunk.js 3.34 kB 0 B
packages/core/admin/build/content-type-builder-translation-it-json.********.chunk.js 3.47 kB 0 B
packages/core/admin/build/content-type-builder-translation-ja-json.********.chunk.js 1.23 kB 0 B
packages/core/admin/build/content-type-builder-translation-ko-json.********.chunk.js 4.37 kB 0 B
packages/core/admin/build/content-type-builder-translation-ms-json.********.chunk.js 3.28 kB 0 B
packages/core/admin/build/content-type-builder-translation-nl-json.********.chunk.js 3.3 kB 0 B
packages/core/admin/build/content-type-builder-translation-pl-json.********.chunk.js 4.17 kB 0 B
packages/core/admin/build/content-type-builder-translation-pt-BR-json.********.chunk.js 4.17 kB 0 B
packages/core/admin/build/content-type-builder-translation-pt-json.********.chunk.js 1.1 kB 0 B
packages/core/admin/build/content-type-builder-translation-ru-json.********.chunk.js 4.69 kB 0 B
packages/core/admin/build/content-type-builder-translation-sk-json.********.chunk.js 3.74 kB 0 B
packages/core/admin/build/content-type-builder-translation-sv-json.********.chunk.js 4.18 kB 0 B
packages/core/admin/build/content-type-builder-translation-th-json.********.chunk.js 4.36 kB 0 B
packages/core/admin/build/content-type-builder-translation-tr-json.********.chunk.js 3.84 kB 0 B
packages/core/admin/build/content-type-builder-translation-uk-json.********.chunk.js 4.37 kB 0 B
packages/core/admin/build/content-type-builder-translation-zh-Hans-json.********.chunk.js 3.5 kB 0 B
packages/core/admin/build/content-type-builder-translation-zh-json.********.chunk.js 4.5 kB 0 B
packages/core/admin/build/content-type-builder.********.chunk.js 24.1 kB 0 B
packages/core/admin/build/cs-json.********.chunk.js 5.88 kB 0 B
packages/core/admin/build/de-json.********.chunk.js 12.8 kB 0 B
packages/core/admin/build/dk-json.********.chunk.js 10.5 kB 0 B
packages/core/admin/build/email-settings-page.********.chunk.js 3.73 kB 0 B
packages/core/admin/build/email-translation-ar-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-cs-json.********.chunk.js 121 B 0 B
packages/core/admin/build/email-translation-de-json.********.chunk.js 120 B 0 B
packages/core/admin/build/email-translation-dk-json.********.chunk.js 616 B 0 B
packages/core/admin/build/email-translation-en-json.********.chunk.js 610 B 0 B
packages/core/admin/build/email-translation-es-json.********.chunk.js 675 B 0 B
packages/core/admin/build/email-translation-fr-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-id-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-it-json.********.chunk.js 118 B 0 B
packages/core/admin/build/email-translation-ja-json.********.chunk.js 787 B 0 B
packages/core/admin/build/email-translation-ko-json.********.chunk.js 758 B 0 B
packages/core/admin/build/email-translation-ms-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-nl-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-pl-json.********.chunk.js 660 B 0 B
packages/core/admin/build/email-translation-pt-BR-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-pt-json.********.chunk.js 668 B 0 B
packages/core/admin/build/email-translation-ru-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-sk-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-th-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-tr-json.********.chunk.js 687 B 0 B
packages/core/admin/build/email-translation-uk-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-vi-json.********.chunk.js 122 B 0 B
packages/core/admin/build/email-translation-zh-Hans-json.********.chunk.js 473 B 0 B
packages/core/admin/build/email-translation-zh-json.********.chunk.js 730 B 0 B
packages/core/admin/build/en-json.********.chunk.js 14.7 kB 0 B
packages/core/admin/build/es-json.********.chunk.js 14 kB 0 B
packages/core/admin/build/eu-json.********.chunk.js 14.1 kB 0 B
packages/core/admin/build/fr-json.********.chunk.js 11.2 kB 0 B
packages/core/admin/build/gu-json.********.chunk.js 14.2 kB 0 B
packages/core/admin/build/he-json.********.chunk.js 6.48 kB 0 B
packages/core/admin/build/hi-json.********.chunk.js 16.3 kB 0 B
packages/core/admin/build/highlight.js.********.chunk.js 842 B 0 B
packages/core/admin/build/hu-json.********.chunk.js 15.4 kB 0 B
packages/core/admin/build/i18n-settings-page.********.chunk.js 8.28 kB 0 B
packages/core/admin/build/i18n-translation-de-json.********.chunk.js 1.62 kB 0 B
packages/core/admin/build/i18n-translation-dk-json.********.chunk.js 1.62 kB 0 B
packages/core/admin/build/i18n-translation-en-json.********.chunk.js 1.55 kB 0 B
packages/core/admin/build/i18n-translation-es-json.********.chunk.js 1.68 kB 0 B
packages/core/admin/build/i18n-translation-fr-json.********.chunk.js 1.73 kB 0 B
packages/core/admin/build/i18n-translation-ko-json.********.chunk.js 1.86 kB 0 B
packages/core/admin/build/i18n-translation-pl-json.********.chunk.js 1.8 kB 0 B
packages/core/admin/build/i18n-translation-tr-json.********.chunk.js 1.7 kB 0 B
packages/core/admin/build/i18n-translation-zh-Hans-json.********.chunk.js 1.64 kB 0 B
packages/core/admin/build/i18n-translation-zh-json.********.chunk.js 1.73 kB 0 B
packages/core/admin/build/id-json.********.chunk.js 7.46 kB 0 B
packages/core/admin/build/index.html 262 B -2 B (-1%)
packages/core/admin/build/it-json.********.chunk.js 7.93 kB 0 B
packages/core/admin/build/ja-json.********.chunk.js 12.2 kB 0 B
packages/core/admin/build/ko-json.********.chunk.js 11.5 kB 0 B
packages/core/admin/build/ml-json.********.chunk.js 17.2 kB 0 B
packages/core/admin/build/ms-json.********.chunk.js 6.16 kB 0 B
packages/core/admin/build/nl-json.********.chunk.js 14.3 kB 0 B
packages/core/admin/build/no-json.********.chunk.js 5.48 kB 0 B
packages/core/admin/build/pl-json.********.chunk.js 13.1 kB 0 B
packages/core/admin/build/pt-BR-json.********.chunk.js 13.8 kB 0 B
packages/core/admin/build/pt-json.********.chunk.js 5.71 kB 0 B
packages/core/admin/build/ru-json.********.chunk.js 20.5 kB 0 B
packages/core/admin/build/runtime~main.********.js 4.73 kB 0 B
packages/core/admin/build/sa-json.********.chunk.js 16.9 kB 0 B
packages/core/admin/build/sk-json.********.chunk.js 11.8 kB 0 B
packages/core/admin/build/sso-settings-page.********.chunk.js 1.52 kB 0 B
packages/core/admin/build/sv-json.********.chunk.js 14.1 kB 0 B
packages/core/admin/build/th-json.********.chunk.js 9.01 kB 0 B
packages/core/admin/build/tr-json.********.chunk.js 13.7 kB 0 B
packages/core/admin/build/transfer-tokens-create-page.********.chunk.js 235 B 0 B
packages/core/admin/build/transfer-tokens-edit-page.********.chunk.js 234 B 0 B
packages/core/admin/build/transfer-tokens-list-page.********.chunk.js 2.89 kB 0 B
packages/core/admin/build/uk-json.********.chunk.js 7.71 kB 0 B
packages/core/admin/build/Upload_ConfigureTheView.********.chunk.js 1.76 kB 0 B
packages/core/admin/build/upload-settings.********.chunk.js 3.25 kB 0 B
packages/core/admin/build/upload-translation-ca-json.********.chunk.js 2.48 kB 0 B
packages/core/admin/build/upload-translation-de-json.********.chunk.js 2.19 kB 0 B
packages/core/admin/build/upload-translation-dk-json.********.chunk.js 1.96 kB 0 B
packages/core/admin/build/upload-translation-en-json.********.chunk.js 2.58 kB 0 B
packages/core/admin/build/upload-translation-es-json.********.chunk.js 2.45 kB 0 B
packages/core/admin/build/upload-translation-fr-json.********.chunk.js 2.86 kB 0 B
packages/core/admin/build/upload-translation-he-json.********.chunk.js 1.84 kB 0 B
packages/core/admin/build/upload-translation-it-json.********.chunk.js 1.56 kB 0 B
packages/core/admin/build/upload-translation-ja-json.********.chunk.js 1.92 kB 0 B
packages/core/admin/build/upload-translation-ko-json.********.chunk.js 2.5 kB 0 B
packages/core/admin/build/upload-translation-ms-json.********.chunk.js 1.41 kB 0 B
packages/core/admin/build/upload-translation-pl-json.********.chunk.js 2.19 kB 0 B
packages/core/admin/build/upload-translation-pt-BR-json.********.chunk.js 1.61 kB 0 B
packages/core/admin/build/upload-translation-pt-json.********.chunk.js 1.61 kB 0 B
packages/core/admin/build/upload-translation-ru-json.********.chunk.js 2.02 kB 0 B
packages/core/admin/build/upload-translation-sk-json.********.chunk.js 2.58 kB 0 B
packages/core/admin/build/upload-translation-th-json.********.chunk.js 1.99 kB 0 B
packages/core/admin/build/upload-translation-tr-json.********.chunk.js 2.35 kB 0 B
packages/core/admin/build/upload-translation-uk-json.********.chunk.js 1.96 kB 0 B
packages/core/admin/build/upload-translation-zh-Hans-json.********.chunk.js 3.12 kB 0 B
packages/core/admin/build/upload-translation-zh-json.********.chunk.js 2.65 kB 0 B
packages/core/admin/build/upload.********.chunk.js 7.89 kB 0 B
packages/core/admin/build/users-advanced-settings-page.********.chunk.js 3.56 kB 0 B
packages/core/admin/build/users-email-settings-page.********.chunk.js 4.4 kB 0 B
packages/core/admin/build/users-permissions-translation-ar-json.********.chunk.js 1.51 kB 0 B
packages/core/admin/build/users-permissions-translation-cs-json.********.chunk.js 1.46 kB 0 B
packages/core/admin/build/users-permissions-translation-de-json.********.chunk.js 1.58 kB 0 B
packages/core/admin/build/users-permissions-translation-dk-json.********.chunk.js 1.92 kB 0 B
packages/core/admin/build/users-permissions-translation-en-json.********.chunk.js 1.81 kB 0 B
packages/core/admin/build/users-permissions-translation-es-json.********.chunk.js 2.05 kB 0 B
packages/core/admin/build/users-permissions-translation-fr-json.********.chunk.js 1.41 kB 0 B
packages/core/admin/build/users-permissions-translation-id-json.********.chunk.js 1.49 kB 0 B
packages/core/admin/build/users-permissions-translation-it-json.********.chunk.js 1.57 kB 0 B
packages/core/admin/build/users-permissions-translation-ja-json.********.chunk.js 1.53 kB 0 B
packages/core/admin/build/users-permissions-translation-ko-json.********.chunk.js 2.23 kB 0 B
packages/core/admin/build/users-permissions-translation-ms-json.********.chunk.js 1.27 kB 0 B
packages/core/admin/build/users-permissions-translation-nl-json.********.chunk.js 1.32 kB 0 B
packages/core/admin/build/users-permissions-translation-pl-json.********.chunk.js 2.11 kB 0 B
packages/core/admin/build/users-permissions-translation-pt-BR-json.********.chunk.js 1.21 kB 0 B
packages/core/admin/build/users-permissions-translation-pt-json.********.chunk.js 1.3 kB 0 B
packages/core/admin/build/users-permissions-translation-ru-json.********.chunk.js 2.12 kB 0 B
packages/core/admin/build/users-permissions-translation-sk-json.********.chunk.js 1.38 kB 0 B
packages/core/admin/build/users-permissions-translation-sv-json.********.chunk.js 2.01 kB 0 B
packages/core/admin/build/users-permissions-translation-th-json.********.chunk.js 2.01 kB 0 B
packages/core/admin/build/users-permissions-translation-tr-json.********.chunk.js 2.07 kB 0 B
packages/core/admin/build/users-permissions-translation-uk-json.********.chunk.js 1.75 kB 0 B
packages/core/admin/build/users-permissions-translation-vi-json.********.chunk.js 1.51 kB 0 B
packages/core/admin/build/users-permissions-translation-zh-Hans-json.********.chunk.js 2.19 kB 0 B
packages/core/admin/build/users-permissions-translation-zh-json.********.chunk.js 2.1 kB 0 B
packages/core/admin/build/users-providers-settings-page.********.chunk.js 5.9 kB 0 B
packages/core/admin/build/users-roles-settings-page.********.chunk.js 7.33 kB 0 B
packages/core/admin/build/vi-json.********.chunk.js 5.98 kB 0 B
packages/core/admin/build/webhook-edit-page.********.chunk.js 7.96 kB 0 B
packages/core/admin/build/webhook-list-page.********.chunk.js 3.68 kB 0 B
packages/core/admin/build/zh-Hans-json.********.chunk.js 17.2 kB 0 B
packages/core/admin/build/zh-json.********.chunk.js 15.1 kB 0 B

compressed-size-action

Copy link
Contributor Author

@remidej remidej left a comment

Choose a reason for hiding this comment

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

I tested it this morning, everything seems to work as expected ✅

Copy link
Contributor

@markkaylor markkaylor left a comment

Choose a reason for hiding this comment

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

Tested locally, works like a charm. Huge improvement to the marketplace!

@Feranchz Feranchz merged commit 8e4d8ea into main Apr 12, 2023
59 of 61 checks passed
@Feranchz Feranchz deleted the feature/market-pagination branch April 12, 2023 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: enhancement This PR adds or updates some part of the codebase or features source: marketplace Source is admin in-app marketplace
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants