Commit graph

730 commits

Author SHA1 Message Date
Pauli Järvinen
0f82848929 fix(core): legacy app navigation snapper width on RTL
After ec9e283e there was still such a problem with the legacy app navigation
snapper that its width was only 266 px on the RTL layout instead of the
normal 300 px. The 266 px is the default width of Snap.js module. While the
left side snapper width is configured with the property maxPosition, the right
side snapper is configured by passing a negative value for the property
minPosition.

Signed-off-by: Pauli Järvinen <pauli.jarvinen@gmail.com>
2025-11-29 17:33:09 +02:00
Côme Chilliet
c6c630a382 chore(login): Check remember me by default
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-17 14:16:40 +00:00
Côme Chilliet
96ab777817 feat(login): Add rememberme checkbox
Only present if allowed by configuration.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-17 14:16:40 +00:00
Julius Knorr
34ff6621f0
fix: Force direct login after password reset
With SSO setups users may otherwise be redirected to the IdP directly
instead of the regular login form that they reset the password for

Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-11-13 11:46:28 +01:00
Ferdinand Thiessen
7336491b1b
fix: legacy app navigation snapper on RTL layout
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-14 15:55:36 +02:00
Louis Chemineau
393883eab4 feat(unified-search): Use existing min search length config
This setting existed already for the legacy unified search.
This commit expose that setting to the new front-end, and
also ignore non valid requests in the backend.

We also take the opportunity to register the config in the lexicon.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-29 10:55:48 +02:00
Ferdinand Thiessen
895f82872d fix(unified-search): make sure date range option is translated
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-21 17:48:37 +02:00
Richard Steinmetz
5cbd018e79
fix(contactsmenu): adjust padding to new design
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-15 11:16:58 +02:00
Grigorii K. Shartsev
e30089627f fix(core): unified search is cut off on small window
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-08-19 05:20:45 +00:00
nfebe
435ec7ae71 fix(unified-search): Smarter load more button
This commit introduces a change to prevent showing the load more button,
if the length of existing results is not equal to the requested limit (which implies
it is less than because we never expect it to be more)

Additionally, there is an enhancment to override provider filders passed to the find method.
This would improve speed.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-08-15 13:01:48 +01:00
Ferdinand Thiessen
10eda65525
fix(AppMenu): ensure that aria attributes are set when needed
We hide **if** there is **no** notification.
We *do not* hide and *show the label* **if** there are notifications for
that application.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-01 18:04:34 +02:00
Daniel Calviño Sánchez
0f03afad4c fix: Fix clearing unified search when modal is closed
The unified search modal was intended to be cleared when closed.
However, "UnifiedSearchModal" did not emit "update:query" when its
internal query value ("searchQuery") changed, so "UnifiedSearch.query"
was kept as an empty string. When the modal was closed "update:query"
was emitted with an empty string, which should have cleared
"UnifiedSearch.query" and that, in turn, should have cleared the modal.
However as "UnifiedSearch.query" was already an empty string the watcher
that updates "UnifiedSearchModal.searchQuery" from "UnifiedSearch.query"
was not triggered and the modal was not cleared.

As "UnifiedSearch.query" is now updated with the value of
"UnifiedSearchModal.searchQuery" the latter can not be trimmed when
updated from the former, as that would in turn also trim
"UnifiedSearchModal.searchQuery" and prevent to search for anything with
spaces at the beginning or end (even if those trailing spaces are just
temporary while writing something like "searched value").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-07-17 11:41:21 +00:00
Richard Steinmetz
bc93c6afff
fix: update request token on two-factor pages
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-23 16:01:15 +02:00
SebastianKrupinski
c80d5553c4 fix: reload login page after password reset
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-06-19 17:51:05 +00:00
skjnldsv
1695dfc87f fix(core): getRequestToken import typo
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-06-17 13:56:46 +00:00
Ferdinand Thiessen
fad03a73cd
fix(core): adjust install script
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-17 00:31:17 +02:00
Ferdinand Thiessen
60080aab87
chore(core): fix typo in session heartbeat service
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 20:49:01 +02:00
Ferdinand Thiessen
bc784d7a8a
fix: the core config is not loaded on error pages
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 20:49:00 +02:00
Ferdinand Thiessen
c3e66e22c7
test(core): migrate session heartbeat tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 20:48:12 +02:00
Ferdinand Thiessen
688ca81a6e
refactor(OC): restructure session heartbeat code - use types and human reading order
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 20:48:12 +02:00
Ferdinand Thiessen
2662728bc3
refactor(OC): migrate session heart beat to Typescript
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 20:48:12 +02:00
Ferdinand Thiessen
ba40565aff
fix(OC): validate request token and move logic to one place
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 20:48:11 +02:00
Ferdinand Thiessen
2c57c9a5d4
refactor(OC): migrate request token handling to Typescript
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 20:46:54 +02:00
Ferdinand Thiessen
ad445917a6 fix(core): correctly show displayname when picking a file
Ensure that the display name is shown instead of the filename (important for public shares).
Fixed in the library but the legacy wrapper still uses it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-12 22:00:25 +02:00
nfebe
4a0c6a8db3 fix(unified_search): Reset result limit for new search requests
Before now the result limit is never reset until the page is refreshed.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-05-16 10:29:03 +00:00
nfebe
728b80b540 fix(unified_search): Maintain non-provider filters when loading more results
Maintain existing non-provider filters (like date and person filters) while
loading more results for a specific provider.

This now works as the provider data passed to the `newResults` array after search
is built dynamically and not manually, the result of a manual build was that the
`provider.filters` properpy which is used in the `find` method was being left out
in the providers pushed into the results array.

Fixes #52081

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-05-16 10:29:03 +00:00
Ferdinand Thiessen
ba280a1968
fix(unified-search): do not overlap search with button
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-02 13:23:35 +02:00
Ferdinand Thiessen
7dc45631cf fix(core): adjust fronend code for changes in webauthn library
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-01 19:10:11 +02:00
nfebe
2a631f4676 fix(login): Improve CSRF error message for better user understanding
This commit changes the CSRF error message displayed in the login form to
provide more specific information to the user. Instead of the generic less helpful error.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-03-25 14:49:04 +00:00
Valdnet
c4d7e9be9d
fix(l10n): remove unnecessary space
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2025-03-02 12:43:37 +01:00
Maksim Sukharev
0ec5954f1c fix: wipe local storages on log out
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-02-25 16:47:32 +01:00
Ferdinand Thiessen
0b75350f24 fix(login): only show error state on login box if user interacted
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-19 17:10:10 +01:00
nfebe
77c88e1ae7 fix(unified-search): filteredProviders now inherits all provider props
The main providers come from both the backend and client side plugins such as `in-folder` search.
The main providers may carry callbacks functions and other information that should be passed to the `filteredProviders`.
This is important because the current code does not make a distinction between `filteredProviders` and `providers`
rightly so, becuase they are the same thing!

Without the mentioned distinction above, sooner or later, we try to access a property on the `filteredProviders` which we
did not transfer with the manual property copy.

----

This fix prevents in-folder search from searching everywhere when "load more results" is clicked; Essentially ignoring the in-folder
search filter.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-03 19:19:02 +01:00
nfebe
74200f28cb fix: Use searchFrom property for client side plugins
The client-side plugin `in-folder` uses the `files` provider, this makes it

overlap with the main files provider itself.

This change follows eecda06f1a after it was discovered

that some apps/providers like `dav` use providers from another app like `contacts`

Signed-off-by: nfebe <fenn25.fn@gmail.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-31 12:10:34 +00:00
SebastianKrupinski
c1f9114e72 fix: unified search provider id
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-31 11:40:53 +00:00
nfebe
6e2e35f641 fix(unified-search): Prevent multiple file picker triggers in in-folder search
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 21:32:29 +01:00
nfebe
6bb24885d6 refactor: Drop deprecated use of defineStore
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 21:32:29 +01:00
nfebe
f2678b122e fix(unified-search): Use appId for searching
Each provider may search from a particular app so we should use that for searching.

Before this commit, we used `provider.id` instead of `provider.appId` the problem with the previous
approach is that it forces the provider id to be a valid search provider (an app that supports search)
limiting the developers ability to use unique IDs to identify the different providers (especially plugin providers)
inside the places filter.

For example the Files search plugin "In folder" (search in folder plugin) was required to have id as `files` while the
files provider itself already has id as `files`.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 21:32:29 +01:00
Ferdinand Thiessen
67e7c706f4 fix(unifiedsearch): Simplify and correct thumbnail styles
Ensure that the if a preview is available the maximum sizes are
respected (clickable area).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-27 17:42:19 +00:00
Maksim Sukharev
c464aeb228 fix(UnifiedSearch): request data only when opening modal
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-01-18 09:52:50 +01:00
Ferdinand Thiessen
24851d930d
chore: Resolve ESLint warnings
- Add default value to non-required Vue props
- Reformat function to async function if needed
- Add some documentation
- Allow `any` in places where it makes sense (tests)
- Order vue component sections as required

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-16 22:18:29 +01:00
nfebe
ed59ccea46 feat: Adapt providers disabled property to match user applied filters
Some filters are only available for certain providers, the UI should give the user
a hint to what providers such filters are available in.

Currently, if a filter (date or person) is not support by an a provider, the provider is
blurred out in the places dropdown.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-13 11:21:23 +01:00
Richard Steinmetz
f91446023d
feat(contacts-menu): implement custom javascript hook action
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-09 14:41:41 +01:00
Ferdinand Thiessen
1df23140b8 fix: Redirect user to login if session is terminated
If a session timed out or was closed in another tab,
then currently the user gets random error messages.
This intercepts 401 responses (should only happen if logged out, or the
users does something wrong).

If we get a 401, we make sure its because of the session,
by checking if the user can access the files app.
If that is also the case we forward the user to the login page
and set the redirect URL to the last used URL.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-12-19 18:56:46 +01:00
Ferdinand Thiessen
0945169e57 fix(recommended-apps): Typo "screen sharing" vs "screensharing"
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-11-19 15:14:15 +01:00
Ferdinand Thiessen
52769a47ed fix(core): Do not use v-html for translation output
The content that can be renderered does *not* include HTML (see
`recommended` object).
But `v-html` was used, this is potentially dangerous, even though we
sanitize the translation values, so no urgent harm but better safe than
sorry.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-11-19 09:35:23 +00:00
Ferdinand Thiessen
f6e6ba4851 refactor(styles): Adjust code style in SCSS sources to match our stylelint config
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-11-19 09:42:13 +01:00
skjnldsv
b15fdfd40e chore(profile): move profile app from core to apps
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-14 10:25:02 +01:00
Faisal Alghamdi
cccdaa10eb Fix(core): fix app menu alignment in RTL mode.
Signed-off-by: Faisal Alghamdi <falghamdi125@gmail.com>
2024-11-09 11:25:37 +01:00
skjnldsv
ed901604ab feat(core): offer clipboard fallback for non-secure environments
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-08 14:01:33 +01:00