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

[stable28] Fix status check and saving of external storages #47735

Merged
merged 12 commits into from
Sep 5, 2024

Conversation

backportbot[bot]
Copy link

@backportbot backportbot bot commented Sep 4, 2024

Backport of #46859

An additional commit to remove the usage of jQuery tooltip was added at the beginning. This was already done for Nextcloud 29 and later, as in that case the tooltip usage threw an error that caused the UI to be unusable. In Nextcloud 28 there is no error, but using the jQuery tooltip call causes the tooltip to be unreadable, so it was removed as well (which makes the native tooltip to be shown instead).

@skjnldsv
Copy link
Member

skjnldsv commented Sep 4, 2024

/compile amend /

@skjnldsv
Copy link
Member

skjnldsv commented Sep 4, 2024

This one requires a bit more adjusting

In Nextcloud 29 and later the tooltip usage threw an error that caused
the UI to be unusable, so it was removed. In Nextcloud 28 there is no
error, but using the jQuery tooltip call causes the tooltip to be
unreadable, so it was removed as well (which makes the native tooltip to
be shown instead).

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
Signed-off-by: Daniel Calviño Sánchez <[email protected]>
Userglobal storages are now automatically recheck when loaded, similarly
to how it is done for global storages.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
Setting a null status was supposed to remove the status check, but
nothing was changed in that case. Now the status check is properly
removed, and doing that by hiding the element rather than just turning
it invisible also prevents that clicking on the invisible status
triggers a check, as until the new configuration is saved the check will
still be performed with the old configuration, which could be misleading
for the user.

Additionally, an explicit width is set to the parent of the span element
to prevent its width from changing when the span is shown and hidden.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
When a storage is saved the status check can fail even if saving the
storage succeeds. In those cases further details are provided in the
status message of the storage, which is now set as the tooltip,
similarly to how it is done when rechecking the storage.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
When saving, updating and rechecking an storage fails (which is
different to the soft-fail when the action itself succeeds but the
status check does not) further details are provided in the error message
of the response, which is now set as the tooltip.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
If the status is updated but no explicit message is provided (for
example, if the status check succeeded) the default tooltip (from the
template) is now set to prevent a mismatch between the status and the
tooltip (for example, if the configuration is fixed after a failed
status check).

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
Signed-off-by: Daniel Calviño Sánchez <[email protected]>
As a new storage is added by selecting a backend the selected backend
needs to be reset. Otherwise it is not possible to add another storage
with the same backend.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
As the external storage uses the Nextcloud server itself the number of
workers of the PHP process running the Nextcloud server had to be
increased. Otherwise if a request is sent for the external storage while
handling a request from the integration tests a deadlock would occur.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
When updating global storages and user storages a property is not
updated by "StoragesService::updateStorage()" if the value matches the
unmodified placeholder. However, userglobal storages are not updated
through the "StoragesService"; as only the authentication mechanism is
updated it is directly done with "saveBackendOptions()" in
"IUserProvided" or "UserGlobalAuth". Due to this the unmodified
placeholder value needs to be explicitly checked in those cases and
replaced by the actual value (note that in this case it is not possible
to just skip updating a specific property).

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
The row to add a new mount point is cloned when a new mountpoint is
added, so it is expected that it includes a status span. However, it
should not be displayed in that row, only in the cloned row when its
status is updated.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
@danxuliu danxuliu marked this pull request as ready for review September 5, 2024 02:24
@danxuliu
Copy link
Member

danxuliu commented Sep 5, 2024

This one requires a bit more adjusting

Done. I have also updated the pull request description with some details of an additional commit.

@blizzz blizzz merged commit f99f750 into stable28 Sep 5, 2024
71 checks passed
@blizzz blizzz deleted the backport/46859/stable28 branch September 5, 2024 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants