Skip to content

fix(resources): tidy up the room filter row - #8790

Merged
SebastianKrupinski merged 2 commits into
nextcloud:mainfrom
Rikdekker:fix/room-picker-select-height
Aug 28, 2026
Merged

fix(resources): tidy up the room filter row#8790
SebastianKrupinski merged 2 commits into
nextcloud:mainfrom
Rikdekker:fix/room-picker-select-height

Conversation

@Rikdekker

@Rikdekker Rikdekker commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Two small fixes to the filter row in the room picker, found while testing 6.6.0-rc.1 on Nextcloud 34.

1. The Features select is 2px taller than the text field next to it

NcSelect sets padding on the toggle:

image
.v-select.select .vs__dropdown-toggle {
	padding: var(--border-width-input);
}

That stacks on top of the min-height: var(--default-clickable-area) the toggle already carries in this component, so the select ends up at 36px where Minimum capacity sits at 34px. min-height is a floor, not a ceiling, so it cannot hold the padding back.

control before after
NcTextField (Minimum capacity) 34px 34px
NcSelect (Features) 36px 34px

Why clearing the padding is safe: NcSelect already drops it to 0 in its open state (.vs--open .vs__dropdown-toggle), where it swaps in the thicker --border-width-input-focused border instead. So the control does not jump when the dropdown opens — I measured the closed and open states side by side, both 34px.

On fixing this in nextcloud-vue instead: the root cause is in NcSelect, and every app placing a select next to a text field has the same mismatch. That felt out of scope here, so this fixes it locally. Worth noting the override is forward-compatible: if NcSelect later drops the padding itself, padding: 0 here becomes redundant rather than harmful — I verified all four combinations (current/fixed component × with/without this override) and every one that includes either fix lands on 34px. Happy to move it into nextcloud-vue if you would rather fix it at the source.

2. The filter labels are smaller than the colour is calibrated for

The labels pair --color-text-maxcontrast with 0.9 * --default-font-size, rendering at 13.5px.

--color-text-maxcontrast resolves to #6b6b6b, giving 5.33:1 on --color-main-background. That clears WCAG AA (4.5:1) but not AAA (7:1), and the token is calibrated for text at the default size. Shrinking the label keeps a colour already close to the floor while making the text smaller than what it was picked for — at 13.5px it is well under the 24px large-text threshold, so the full 4.5:1 requirement still applies.

Dropping the font-size override puts the labels back at 15px. The colour is unchanged, so they stay visually secondary to the controls below them.

Both changes are CSS-only, in the same filter row, and verified on a live Nextcloud 34 instance running 6.6.0-rc.1.

@codecov

codecov Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Rikdekker Rikdekker changed the title fix(resources): align the room filter select with the text field next to it fix(resources): tidy up the room filter row Aug 28, 2026
@SebastianKrupinski
SebastianKrupinski force-pushed the fix/room-picker-select-height branch from afd653e to cf31e31 Compare August 28, 2026 12:22
@SebastianKrupinski

Copy link
Copy Markdown
Contributor

/backport to stable6.6

@backportbot backportbot Bot added the backport-request A backport was requested for this pull request label Aug 28, 2026
… to it

The Features select renders 2px taller than the Minimum capacity text
field beside it, so the two controls in the filter row do not line up.

NcSelect sets `padding: var(--border-width-input)` on `.vs__dropdown-toggle`.
That padding stacks on top of the `min-height: var(--default-clickable-area)`
the toggle already carries, so the select ends up at 36px where the text
field sits at 34px. `min-height` is a floor, not a ceiling, and cannot hold
the padding back.

Measured on Nextcloud 34 with calendar 6.6.0-rc.1:

| control                        | before | after |
|--------------------------------|--------|-------|
| NcTextField (Minimum capacity) | 34px   | 34px  |
| NcSelect (Features)            | 36px   | 34px  |

NcSelect already drops the padding to 0 in its open state, so clearing it
here does not make the control jump when the dropdown opens — verified by
measuring the closed and open states side by side, both 34px.

Signed-off-by: Rik Dekker <rik@rikdekker.nl>
@SebastianKrupinski
SebastianKrupinski force-pushed the fix/room-picker-select-height branch from cf31e31 to ce5a616 Compare August 28, 2026 12:23
@SebastianKrupinski

Copy link
Copy Markdown
Contributor

Re-base on to main and removed some of the extra comments

@SebastianKrupinski
SebastianKrupinski merged commit cd12e64 into nextcloud:main Aug 28, 2026
31 of 32 checks passed
@backportbot backportbot Bot removed the backport-request A backport was requested for this pull request label Aug 28, 2026
SebastianKrupinski added a commit that referenced this pull request Aug 28, 2026
fix(resources): tidy up the room filter row
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants