Commit graph

243 commits

Author SHA1 Message Date
F. E Noel Nfebe
f8033d92a3
Merge pull request #57108 from nextcloud/fix/56620-missing-supports-active
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
[stable32] fix(unified-search): Add missing supports active filters calculation
2025-12-18 11:40:09 +01:00
Ferdinand Thiessen
a3871346e1 refactor: adjust code for breaking changes in @nextcloud/dialogs v7
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-17 16:12:49 +01:00
nfebe
c0297b72af fix(unified-search): add missing supportsActiveFilters calculation
The supportsActiveFilters variable was used but never defined, causing
the filtered/unfiltered results separation to fail silently.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-16 00:10:44 +01:00
nfebe
8462564a6c fix(unified-search): Separate filtered and unfiltered results
Show results from providers that don't support active content filters
(date/person) in a separate "Additional results" section with a note
explaining that some filters may have been ignored.

Changes:
- Add computed properties to separate filtered/unfiltered results
- Track filter compatibility using baseProvider for searchFrom providers
- Deduplicate results by resourceUrl across sections
- Skip in-folder results when at root to avoid duplicating Files results
- Fix providerIsCompatibleWithFilters to check correct filter properties
- Add styling for the unfiltered results section

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-15 19:57:17 +01:00
nfebe
65ef696d43 fix(unified-search): prevent provider disabling on content filter apply
When date range or person filters were applied, providers that didn't
support these filters were automatically disabled in the UI. This made
the in-folder filter appear auto-applied and prevented users from
searching non-compatible providers.

Remove automatic provider disabling logic from updateDateFilter(),
applyPersonFilter(), and removeFilter(). Content filters now apply only
to compatible providers via existing compatibility checks while keeping
all providers available for selection.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-15 19:47:50 +01:00
Côme Chilliet
fce99cad75 chore(login): Check remember me by default
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-17 13:03:56 +01:00
Côme Chilliet
b51c1d7f8d feat(login): Add rememberme checkbox
Only present if allowed by configuration.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-17 13:03:56 +01:00
Louis Chemineau
f320c19c85 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:51 +02:00
Richard Steinmetz
a583a7d02c
fix(contactsmenu): adjust padding to new design
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-14 20:08:05 +02:00
Ferdinand Thiessen
7216060854 fix(unified-search): make sure date range option is translated
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 10:15:44 +00:00
Ferdinand Thiessen
e99ea1a351 fix: adjust server styles for new secondary status colors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 15:05:01 +02:00
Kent Delante
bca451f001
Merge pull request #54474 from nextcloud/leftybournes/feat/contactsmenu_register_actions
feat: provide api to register actions in contacts menu
2025-08-19 15:01:48 +08:00
Kent Delante
9f3da00aac feat: provide api to register actions in contacts menu
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-08-19 09:17:44 +08:00
Grigorii K. Shartsev
501fa4de05
fix(core): unified search is cut off on small window
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2025-08-15 12:34:37 +02:00
Andrey Borysenko
5c4e84f128
feat(UnifiedSearch): External search providers support
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2025-08-14 16:37:39 +03:00
kramo
c5d1f2f9ff
fix(l10n): Less jargon in source strings
This removes:
- “enable” for settings
- “settings” for settings sections
- “all” when there is no obvious subset of items
- “show” and “open” for navigation actions
- “changes” for applying/discarding
- “to clipboard” when copying
- Explaining things that cannot happen
- Explaining things twice, right below each other
- Unnecessary technical jargon
- Text that sounds like marketing copy and serves no other purpose

Signed-off-by: kramo <git@kramo.page>
2025-08-12 14:37:34 +02:00
nfebe
7fbf997420 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-08 08:07:26 +00:00
Ferdinand Thiessen
aa9dba58f4 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 08:49:23 +00:00
Ferdinand Thiessen
2be7d03395
feat(AppMenu): add slight opactiy gradient to app icons
- resolves https://github.com/nextcloud/server/issues/54141

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 19:01:07 +02:00
skjnldsv
3e7dc97cae feat: replace material icons with outline versions
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-24 10:55:43 +02:00
Daniel Calviño Sánchez
cf337a75a2 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-16 13:05:53 +02:00
skjnldsv
bf3ce79abd feat(files_sharing): show Account menu on public pages
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-11 16:43:53 +02:00
skjnldsv
506afad862 fix(core): bring back Account menu loading indicator
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-11 16:43:53 +02:00
Ferdinand Thiessen
d535c377cf fix: recommended apps button test
Regression of https://github.com/nextcloud/server/pull/52703 where the
`>` was added by accident and thus the button has a wrong label
including the rest of the button HTML.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-28 13:54:10 +02:00
nfebe
04f227a102 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:52:40 +01:00
nfebe
b35fad7a03 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:52:28 +01:00
skjnldsv
3dbc479239 chore(cypress): add setup tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-05-09 21:59:23 +02:00
nfebe
933b068f22 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:26:13 +01:00
Ferdinand Thiessen
60dd89e04c
fix(core): adjust fronend code for changes in webauthn library
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-19 11:19:48 +01:00
Ferdinand Thiessen
fb52d0a02b
fix(login): simplify code and use consistent layout
- Simplify vue code
- Use nc buttons for consistent design

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-18 16:40:15 +01:00
Ferdinand Thiessen
9a006eb29c
fix(unified-search): do not overlap search with button
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-12 10:27:29 +01:00
Ferdinand Thiessen
b06f5ba4c4
refactor: Migrate nextcloud-vue usage to new import schema
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 02:28:13 +01:00
Ferdinand Thiessen
917b77a026
fix(login): only show error state on login box if user interacted
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-17 10:50:27 +01:00
nfebe
d2fc45acbd 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 12:48:00 +01:00
nfebe
8863b85420 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-30 17:35:00 +00:00
SebastianKrupinski
bf5a54d132 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-30 16:36:50 +01:00
nfebe
a5307ac512 fix(unified-search): Prevent multiple file picker triggers in in-folder search
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 12:50:12 +01:00
nfebe
eecda06f1a 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 12:50:12 +01:00
Ferdinand Thiessen
c5c5f68f48 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 18:17:53 +01: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
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
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
Louis Chemineau
c0e5635ade fix: Vue app names
This improves the debugging experience in the vue dev tool.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-10-09 19:49:07 +02:00
Ferdinand Thiessen
04b25ba59d
feat: Implement Vue UI for public page menu
This adds a Vue implementation of the public page menu,
that is the menu that can be added using `PublicTemplateResponse::setHeaderActions`.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Louis <louis@chmn.me>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-03 16:07:49 +02:00
fenn-cs
18d0f39109 fix(UnifiedSearch): Restore normal dialog size
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-08-30 10:08:58 +01:00