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

feat(settings): migrate AppAPI ExApps management to settings #48665

Merged
merged 19 commits into from
Oct 29, 2024

Conversation

andrey18106
Copy link
Contributor

@andrey18106 andrey18106 commented Oct 11, 2024

Summary

This PR migrates the UI for ExApp management to default Apps management page (settings app).
On backend side in settings app there is only addition for initial state for ExApps UI.
All ExApp related logic is in separate store that uses backend API part of AppAPI.

Screen Shot 2024-10-14 at 17 01 48

TODO

Checklist

Copy link
Member

@bigcat88 bigcat88 left a comment

Choose a reason for hiding this comment

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

Checked, the functionality works.

Note for future reviewers: a backport of this pull request will be included in version 30.0.2, the merge is planned to be right after the release of 30.0.1, so that everyone has enough time to test.

Copy link
Contributor

@susnux susnux left a comment

Choose a reason for hiding this comment

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

Nothing very critical but a lot of stuff summing up. See comments.

apps/settings/lib/Controller/AppSettingsController.php Outdated Show resolved Hide resolved
apps/settings/lib/Controller/AppSettingsController.php Outdated Show resolved Hide resolved
apps/settings/src/components/AppList/AppItem.vue Outdated Show resolved Hide resolved
apps/settings/src/mixins/AppManagement.js Outdated Show resolved Hide resolved
apps/settings/src/mixins/AppManagement.js Outdated Show resolved Hide resolved
apps/settings/src/mixins/AppManagement.js Outdated Show resolved Hide resolved
apps/settings/src/mixins/AppManagement.js Outdated Show resolved Hide resolved
apps/settings/src/mixins/AppManagement.js Outdated Show resolved Hide resolved
apps/settings/src/store/app_api_apps.js Outdated Show resolved Hide resolved
apps/settings/src/store/app_api_apps.js Outdated Show resolved Hide resolved
Copy link
Member

@julien-nc julien-nc left a comment

Choose a reason for hiding this comment

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

I'm not sure how likely it is to happen in a production environment but in my dev setup, some apps don't have a licence so when clicking on their list item, the sidebar does not open.
image

@susnux
Copy link
Contributor

susnux commented Oct 15, 2024

I'm not sure how likely it is to happen in a production environment but in my dev setup, some apps don't have a licence so when clicking on their list item, the sidebar does not open.

How can this happen? I was pretty sure the license is a required field in appinfo.xml thus the appstore should deny uploading such an app?

@andrey18106
Copy link
Contributor Author

I'm not sure how likely it is to happen in a production environment but in my dev setup, some apps don't have a licence so when clicking on their list item, the sidebar does not open.

How can this happen? I was pretty sure the license is a required field in appinfo.xml thus the appstore should deny uploading such an app?

It's a Test Deploy app, or any other manual-install type ExApp, it has no appstore information, only short info from DB.

Copy link
Contributor

@susnux susnux left a comment

Choose a reason for hiding this comment

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

Thank you! Some more comments, then it should be fine.

apps/settings/src/app-types.ts Outdated Show resolved Hide resolved
apps/settings/src/app-types.ts Outdated Show resolved Hide resolved
apps/settings/src/components/AppList/AppDaemonBadge.vue Outdated Show resolved Hide resolved
apps/settings/src/components/AppList/AppItem.vue Outdated Show resolved Hide resolved
apps/settings/src/components/AppList/AppItem.vue Outdated Show resolved Hide resolved
apps/settings/src/components/AppList/AppItem.vue Outdated Show resolved Hide resolved
apps/settings/src/components/AppList/AppItem.vue Outdated Show resolved Hide resolved
apps/settings/src/views/AppStoreSidebar.vue Outdated Show resolved Hide resolved
@andrey18106 andrey18106 force-pushed the feat/settings/app_api_apps_management branch from 55f212e to 1ef44de Compare October 23, 2024 20:49
Copy link
Contributor

@susnux susnux left a comment

Choose a reason for hiding this comment

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

I did not test with external app but code looks sane, as we need to backport (there will be a refactor on master soon, so lets get this in first).

@andrey18106 andrey18106 force-pushed the feat/settings/app_api_apps_management branch from 56e3f45 to b0e3af3 Compare October 29, 2024 12:06
@andrey18106
Copy link
Contributor Author

/compile

@andrey18106 andrey18106 force-pushed the feat/settings/app_api_apps_management branch from a8cd19e to fe354d3 Compare October 29, 2024 13:23
@andrey18106
Copy link
Contributor Author

/compile

Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>

# Conflicts:
#	apps/settings/lib/Controller/AppSettingsController.php

# Conflicts:
#	apps/settings/lib/Controller/AppSettingsController.php
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
…s bundled

Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
andrey18106 and others added 7 commits October 29, 2024 20:54
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
@andrey18106 andrey18106 force-pushed the feat/settings/app_api_apps_management branch from 99bf58e to be23e7d Compare October 29, 2024 18:54
@andrey18106
Copy link
Contributor Author

/compile

@andrey18106 andrey18106 enabled auto-merge October 29, 2024 18:56
@andrey18106
Copy link
Contributor Author

/backport to stable30

@andrey18106 andrey18106 added 4. to release Ready to be released and/or waiting for tests to finish and removed 3. to review Waiting for reviews labels Oct 29, 2024
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
@andrey18106 andrey18106 merged commit d266779 into master Oct 29, 2024
177 checks passed
@andrey18106 andrey18106 deleted the feat/settings/app_api_apps_management branch October 29, 2024 19:24
andrey18106 added a commit to nextcloud/app_api that referenced this pull request Oct 29, 2024
This PR synchronizes backend logic for ExAppFetcher and required changes
for Apps management.

![Screen Shot 2024-10-14 at 17 01
48](https://github.com/user-attachments/assets/60667041-92b1-4d9e-a78a-9476a1271d1f)

## TODO

- [ ] Merge with the server PR for settings app changes:
nextcloud/server#48665
- [x] Remove old UI parts that are not needed anymore

---------

Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Co-authored-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4. to release Ready to be released and/or waiting for tests to finish enhancement feature: apps management
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants