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

[BREAK] Marketplace standalone page and app request flow #27389

Merged
merged 149 commits into from
Feb 18, 2023

Conversation

rique223
Copy link
Contributor

@rique223 rique223 commented Nov 28, 2022

Proposed changes (including videos or screenshots)

Remove marketplace from the admin menu (on both the file system and the UI), change it into a standalone page, expose its use to end-users, and create an app request flow that allows end-users to ask for app installations in their workspaces directly through Rocket Chats UI.

Demo loom: https://www.loom.com/share/643ba3432225418e96c10041f386ff48

Jira tasks and ADRs

All tasks, descriptions, and designs of work done in this PR can be found on the tasks below, which also double down as simplified ADRs.

MKP-147 - Remove marketplace from the admin menu and put it on its own page

MKP-68 - Create an enterprise option on the new marketplace sidebar

MKP-150 - Implement the SideNav of the new marketplace page

MKP-151 - Brainstorm and implement the new marketplace routes

MKP-179 - Retrieve number of requested apps and make it available for components

MKP-181 - Implement requested option on marketplace sidebar

MKP-184 - Create requested apps page

MKP-185 - Implement requested apps list layout and logic

MKP-180 - Implement requested apps option to home screen kebab menu

MKP-188 - Implement the requested apps tab on app details page

MKP-187 - Implement visualized requests system on apps list tags and app requests tab

MKP-164 - ALL view the app's technical documentation page

MKP-197 - Rocket.cat notification for admins when an app is requested

MKP-224 - After i click submit request in the modal the modal is not closing

Issue(s)

Steps to test or reproduce

To test the exposed marketplace and end-user request flow:

  1. Run Rocket.Chat pointing cloud and marketplace to staging
    E.G.: yarn dev
  2. Create a new Rocket.Chat instance
  3. Create 1 admin account and a couple of end-user accounts (this can be done by simply logging out of the main admin account and creating a new one from the login screen)
  4. Login into one of the end-user accounts
  5. Click on the administration kebab menu and select marketplace
  6. Select any app and click on the request option through the app menu (the small kebab menu on each individual app list entry) or through the request button inside of the app details page of the selected app
  7. Write your request message and submit, your request should now appear in the requested tab of the app details page of the requested app;

To test the admin request flow and request visualization system:

  1. On the same workspace as before repeat step 1 and skip steps 2, 3, and 4 of the end-user test flow;
  2. Login into the admin account
  3. Click on the administration kebab
  4. Verify if the unseen requests badge is present on the "Requested" option
  5. Click on the "Requested" option
  6. Verify if the unseen requests badge is present on the "Requested" option of the marketplace sidebar
  7. Select any app with unseen requests (The ones with a blue tag)
  8. Click on the Requests tab
  9. Any changes to this tab content page should mark the requests as seen. E.G.: Closing the marketplace, going back to the apps list, changing items per page or page in the pagination, changing tabs, and so on;

Further comments

Moved marketplace out of the views/admin folder. Currently it is rendering on the main layout of marketplace but it will get its own sidebar soon.
@codecov
Copy link

codecov bot commented Nov 29, 2022

Codecov Report

Merging #27389 (d2552fb) into develop (e125a15) will increase coverage by 11.95%.
The diff coverage is 34.78%.

❗ Current head d2552fb differs from pull request most recent head 9be74fc. Consider uploading reports for the commit 9be74fc to get more accurate results

Impacted file tree graph

@@             Coverage Diff              @@
##           develop   #27389       +/-   ##
============================================
+ Coverage    32.98%   44.93%   +11.95%     
============================================
  Files          628      766      +138     
  Lines        12492    14893     +2401     
  Branches      1847     2067      +220     
============================================
+ Hits          4120     6692     +2572     
+ Misses        8164     7909      -255     
- Partials       208      292       +84     
Flag Coverage Δ
e2e 44.89% <34.78%> (+11.91%) ⬆️

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

rique223 and others added 11 commits December 15, 2022 13:19
* refactor: ♻️ Change marketplace 'all' context to 'explore' context

Changed the context that represents the all apps list from 'all' to 'context' in order for it to better represent the UI components under that route.

* feat: ✨ Add redirect for users that access marketplace through the old 'all' context

Added a redirect for users that try to access marketplace through the old route (/all/list) which can happen if someone bookmarked the old marketplace.

* fix: 🐛 Fix what is it page behavior

Fixed a problem in which the what is it page would constantly change betwwen the main marketplace page and itself because of some routing problems.

* Add tab prop to AppRow route navigation function

* Fix unit tests

* Update apps/meteor/client/views/marketplace/AppDetailsPage/AppDetailsPageHeader.tsx

Co-authored-by: Júlia Jaeger Foresti <60678893+juliajforesti@users.noreply.github.com>

* Lint

* First review

* Second review

* use marketplace as route only

* change function name

* small adjustment

Co-authored-by: Júlia Jaeger Foresti <60678893+juliajforesti@users.noreply.github.com>
Co-authored-by: Tiago Evangelista Pinto <tiago.evangelista@rocket.chat>
* feat: ✨ Implement new enterprise option in new marketplace sidebar

Implemented a new option in the new marketplace that shows only enterprise apps.

* fix: 🐛 Fix pagination bug

Fixed a bug in which the pagination would show the wrong set of pages and total on the enterprise page. This bug happened because pagination was using the overall total number of apps, minus filtering, to calculate its total.

Co-authored-by: Tiago Evangelista Pinto <tiago.evangelista@rocket.chat>
@RocketChat RocketChat deleted a comment from dougfabris Jan 11, 2023
@casalsgh casalsgh requested review from a team February 17, 2023 20:48
@d-gubert d-gubert self-requested a review February 17, 2023 20:51
d-gubert
d-gubert previously approved these changes Feb 17, 2023
KevLehman
KevLehman previously approved these changes Feb 17, 2023
@ggazzo ggazzo dismissed stale reviews from KevLehman and d-gubert via 978aa38 February 17, 2023 21:32
@ggazzo ggazzo merged commit 8d74caf into develop Feb 18, 2023
@ggazzo ggazzo deleted the feat/new-marketplace branch February 18, 2023 01:42
@sampaiodiego sampaiodiego mentioned this pull request Mar 9, 2023
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
squad: apps ecosystem AECO squad: apps-engine stat: ready to merge PR tested and approved waiting for merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.