Commit Graph

732 Commits (b9ab00a59e2d906fdb43eaaea37eb7a4a9cc8a13)

Author SHA1 Message Date
skjnldsv a1c84cb3c0 feat: replace material icons with outline versions (second pass)
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-24 12:34:35 +07:00
skjnldsv 3e7dc97cae feat: replace material icons with outline versions
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-24 10:55:43 +07: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 +07:00
Richard Steinmetz c690c6fbd2
fix: update request token on two-factor pages
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-23 11:20:09 +07:00
SebastianKrupinski 9b5608f629 fix: reload login page after password reset
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-06-19 13:27:27 +07:00
skjnldsv a2039684ce fix(core): getRequestToken import typo
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-17 11:14:46 +07:00
Ferdinand Thiessen ab5f642604
chore(core): fix typo in session heartbeat service
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 20:43:50 +07:00
Ferdinand Thiessen 5d0d490388
fix: the core config is not loaded on error pages
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 15:56:22 +07:00
Ferdinand Thiessen a388e2b55b
test(core): migrate session heartbeat tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 15:55:11 +07:00
Ferdinand Thiessen da5828ef42
refactor(OC): restructure session heartbeat code - use types and human reading order
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 15:55:11 +07:00
Ferdinand Thiessen f4966b2bf4
refactor(OC): migrate session heart beat to Typescript
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 15:55:11 +07:00
Ferdinand Thiessen 8fe3a4195d
fix(OC): validate request token and move logic to one place
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 15:55:11 +07:00
Ferdinand Thiessen 84ab0dc97e
refactor(OC): migrate request token handling to Typescript
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-16 15:54:47 +07:00
skjnldsv a6fc4aa9fd fix(files_sharing): public user menu semantic
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-11 16:43:53 +07: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 +07:00
skjnldsv 506afad862 fix(core): bring back Account menu loading indicator
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-11 16:43:53 +07:00
Ferdinand Thiessen 3dea8f7fec 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-05 11:13:24 +07: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 +07: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 +07: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 +07:00
skjnldsv 3dbc479239 chore(cypress): add setup tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-05-09 21:59:23 +07:00
Ferdinand Thiessen 77b663231f
chore: migrate types to `@simplewebauthn/browser` (changes package layout)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-18 23:56:06 +07: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 +07: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 +07: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 +07:00
Ferdinand Thiessen 8035c8d6b8
Merge pull request #51418 from nextcloud/fix/unified-search-bar
fix(unified-search): do not overlap search bar with button
2025-03-18 15:36:34 +07:00
skjnldsv 2eea322594 fix(core): setup fieldset spacing
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-03-13 20:51:00 +07:00
skjnldsv 0179cb4d8d feat(core): add setup cypress tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-03-13 20:51:00 +07:00
skjnldsv cc12719df5 feat(core): migrate setup to vue
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-03-13 16:00:18 +07: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 +07:00
Valdnet 45b0a0379e fix(l10n): remove unnecessary space
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2025-02-28 16:42:14 +07:00
Maksim Sukharev afd27f4bc4 fix: wipe local storages on log out
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-02-24 10:37:19 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
nfebe d3dc6beb00 refactor: Drop deprecated use of defineStore
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-29 12:50:12 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00