Skip to content

[stable34] fix(settings): trigger group search on the correct NcSelect event (#7988) - #8244

Merged
vitormattos merged 3 commits into
stable34from
backport/7989/stable34
Sep 4, 2026
Merged

vitormattos merged 3 commits into
stable34from
backport/7989/stable34

Conversation

@backportbot-libresign

@backportbot-libresign backportbot-libresign Bot commented Sep 3, 2026

Copy link
Copy Markdown

Backport of #7989

Warning, This backport's changes differ from the original and might be incomplete ⚠️

Todo

  • Review and resolve any conflicts
  • Review and verify the backported changes
  • Amend HEAD commit to remove the line stating to skip CI

Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

ethanhawkes-gif and others added 2 commits September 3, 2026 22:26
The "Signature request access" group selector listened for
`@search-change`, which NcSelect (from @nextcloud/vue) / vue-select
does not emit. Typing in the selector therefore never called
`searchGroup`, so only the initial `onMounted` load (limit 20) ran and
groups beyond the first 20 could not be found on larger instances.

NcSelect exposes vue-select's native `search` event; switching the
listener to `@search` makes typing query the backend as intended. The
existing selection/save flow (`@update:modelValue`) is unchanged.

Adds a regression test asserting that emitting the `search` event
issues a `cloud/groups/details` request with the typed query. The test
fails on the previous `@search-change` wiring (zero requests) and
passes with the fix.

Fixes #7988

Signed-off-by: Ethan Hawkes <ethanhawkes-gif@users.noreply.github.com>
Drive the loading state through NcSelect's own `search`-event callback
instead of the reactive `loadingGroups`/`:disabled` binding. Toggling
`:disabled` per keystroke disabled the focused text input and dropped
focus on every character; routing the spinner through vue-select's
`loading` callback keeps the input enabled throughout the search.

`loadingGroups` now only guards the initial onMounted load. Adopts the
simpler approach proposed by the issue reporter.

Signed-off-by: Ethan Hawkes <ethanhawkes-gif@users.noreply.github.com>
Co-authored-by: Spitfireap <45575529+Spitfireap@users.noreply.github.com>
refactor(settings): route exposed searchGroup through loadingGroups

Extract the raw group fetch into a private `searchGroupApi` and let the

exposed `searchGroup` wrap it, driving the reactive

`loadingGroups`/`:disabled` binding so any parent component that calls the

exposed function gets a visible loading state.

`searchGroupEvent` (the NcSelect `@search` handler) keeps driving only

vue-select's own `loading()` callback via `searchGroupApi`, so the text

input stays enabled and never loses focus while typing (#7988). The

initial onMounted load now relies on `searchGroup`'s own toggling.

Adopts the structure proposed by the issue reporter.

Signed-off-by: Ethan Hawkes <ethanhawkes-gif@users.noreply.github.com>

Co-authored-by: Spitfireap <45575529+Spitfireap@users.noreply.github.com>

[skip ci]

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos
vitormattos force-pushed the backport/7989/stable34 branch from fc0d479 to 0138313 Compare September 4, 2026 13:26
@vitormattos
vitormattos marked this pull request as ready for review September 4, 2026 13:36
@vitormattos
vitormattos merged commit bac9b28 into stable34 Sep 4, 2026
3 checks passed
@vitormattos
vitormattos deleted the backport/7989/stable34 branch September 4, 2026 13:36
@github-project-automation github-project-automation Bot moved this from 0. Backlog to 4. to release in LibreSign Roadmap Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants