-
-
Notifications
You must be signed in to change notification settings - Fork 831
Conversation
Signed-off-by: Maximilian Malek <maximilian.malek@uni-graz.at>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is going to require a design review to check we really want this behaviour
@@ -408,7 +408,7 @@ const SpotlightDialog: React.FC<IProps> = ({ initialText = "", initialFilter = n | |||
!entry.query?.some(q => q.includes(lcQuery)) | |||
) return; // bail, does not match query | |||
} else if (isMemberResult(entry)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to remove the if statement completely
Fuzzy search is pointless with clients that apply their own sort order (and especially use an unstable sort, like element) Hack to work around matrix-org/matrix-react-sdk#9556
Without digging into this code to deep, the file name indicates this is only the Spotlight search (i.e. what appears when you press Ctrl+K or the top left "fake input box button"). Would this not need to be changed for the "Start new chat" and "Invite to room" modals, too? |
Would be nice to finally get rid of this but matrix-org/matrix-react-sdk#9556 is still a thing
I've tried comparing the netlify build with the product and can't see the difference here - could you give me an example of where and how this changes the user's experience? Thank you! |
@@ -408,7 +408,7 @@ const SpotlightDialog: React.FC<IProps> = ({ initialText = "", initialFilter = n | |||
!entry.query?.some(q => q.includes(lcQuery)) | |||
) return; // bail, does not match query | |||
} else if (isMemberResult(entry)) { | |||
if (!entry.query?.some(q => q.includes(lcQuery))) return; // bail, does not match query | |||
// Do not filter users |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment needs to say WHY (because we rely on the server to filter DIRECTORY results for us)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you elaborate why clientside filtering is done in the first place? I think the spec suggests nothing of the kind, and I think additional validation seems superfluous since the server should be trustworthy enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably a copy-pasta, but you'd need to ask whomever wrote it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@HarHarLinks and me investigated it further and found the following:
The component has different sources for the users: (1) the results from the user profile endpoint and (2) all users that joined any room that I am in.
(1) was already server-side filtered using the user entered query:
useDebouncedCallback(filter === Filter.People, searchPeople, searchParams); |
(2) is not pre-filtered, but every user is added to the possible user results:
matrix-react-sdk/src/components/views/dialogs/spotlight/SpotlightDialog.tsx
Lines 358 to 364 in 7a250f4
for (const user of [...findVisibleRoomMembers(cli, msc3946ProcessDynamicPredecessor), ...users]) { | |
// Make sure we don't have any user more than once | |
if (alreadyAddedUserIds.has(user.userId)) continue; | |
alreadyAddedUserIds.add(user.userId); | |
userResults.push(toMemberResult(user)); | |
} |
The conditional in discussion is thus required to filter the users in (2):
matrix-react-sdk/src/components/views/dialogs/spotlight/SpotlightDialog.tsx
Lines 414 to 415 in 7a250f4
} else if (isMemberResult(entry)) { | |
if (!entry.query?.some((q) => q.includes(lcQuery))) return; // bail, does not match query |
However, this line will also filter the results that were already filtered by the server. This shouldn't be necessary because I would assume that we can trust that the homeserver returns proper results.
Proposal
We would propose some refactorings to remove the double-filtering of the server results:
// ...
+ const localUsers = findVisibleRoomMembers(cli, msc3946ProcessDynamicPredecessor).filter(... apply the filtering by trimmedQuery ...);
+ for (const user of [...localUsers, ...users]) {
- for (const user of [...findVisibleRoomMembers(cli, msc3946ProcessDynamicPredecessor), ...users]) {
// Make sure we don't have any user more than once
if (alreadyAddedUserIds.has(user.userId)) continue;
alreadyAddedUserIds.add(user.userId);
userResults.push(toMemberResult(user));
}
// ...
With this change, the filtering of the possibleResults can be skipped:
- } else if (isMemberResult(entry)) {
- if (!entry.query?.some((q) => q.includes(lcQuery))) return; // bail, does not match query
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Further, we suggest to add our use-case to the tests.
From a product POV, I think we want to move on with this as it makes progress towards better user discoverability. There are some unknowns which we'd like to clarify, though:
Yes, that would be appreciated to better understand the change in behavior.
|
O.K., I try to give the use case, here, and why we need this change: Example fuzzy search: Example search by attribute: Out of scope here, but next stage would be, to also allow more complex search result objects in the client, which contain also the found attribute and give transparency, why the person was found: |
This was super helpful -- thank you! |
@SimonBrandner & @pmaier1 I think we're good to remove the Design Reviewer and instead add a Product one. I'll do that now but feel free to comment if you think it still needs design input. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From a product POV this goes in the right direction 👍
Please still let us know whether there are other locations to be made consistent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comment/approach needs improving as per the earlier request
Those appear to not filter the results in the same way it is done in spotlight and hence already work for the use-case described by @HatoNordeck. The android app "works" regarding this use-case from my point of view (it matches web's invite behavior, and to my knowledge it does not have a secondary "spotlight" search as web does). iOS remains untested by myself as I don't have Apple hardware. |
I tested it with the Bundesmessenger fork (It has no changes in this UI part) and it seems to work just fine for the User invite dialogs. There don't seem to be any other searches that accept User searches in the first place. They are not filtering any of the results. |
Progress update: I talked to OP out of band about following up on this request. We decided that as soon as we (Nordeck) feel confident enough about having tested our proposed amendment (#9556 (comment)) we are going to open our own PR which is to supersede this one. |
Changes in [1.11.39](https://github.com/vector-im/element-web/releases/tag/v1.11.39) (2023-08-15) ================================================================================================= ## 🦖 Deprecations * Deprecate camelCase config options ([\#25800](element-hq/element-web#25800)). * Deprecate customisations in favour of Module API ([\#25736](element-hq/element-web#25736)). Fixes #25733. ## ✨ Features * Update labs.md for knock rooms ([\#25923](element-hq/element-web#25923)). Contributed by @charlynguyen. * Package release builds of element-web in package.element.io debs ([\#25198](element-hq/element-web#25198)). * Allow knocking rooms ([\#11353](matrix-org/matrix-react-sdk#11353)). Contributed by @charlynguyen. * Support adding space-restricted joins on rooms not members of those spaces ([\#9017](matrix-org/matrix-react-sdk#9017)). Fixes #19213. * Clear requiresClient and show pop-out if widget-api fails to ready ([\#11321](matrix-org/matrix-react-sdk#11321)). Fixes vector-im/customer-retainer#73. * Bump pagination sizes due to hidden events ([\#11342](matrix-org/matrix-react-sdk#11342)). * Remove display of key backup signatures from backup settings ([\#11333](matrix-org/matrix-react-sdk#11333)). * Use PassphraseFields in ExportE2eKeysDialog to enforce minimum passphrase complexity ([\#11222](matrix-org/matrix-react-sdk#11222)). Fixes #9478. ## 🐛 Bug Fixes * Fix "Export chat" not respecting configured time format in plain text mode ([\#10696](matrix-org/matrix-react-sdk#10696)). Fixes #23838. Contributed by @rashmitpankhania. * Fix some missing 1-count pluralisations around event list summaries ([\#11371](matrix-org/matrix-react-sdk#11371)). Fixes #25925. * Fix create subspace dialog not working for public space creation ([\#11367](matrix-org/matrix-react-sdk#11367)). Fixes #25916. * Search for users on paste ([\#11304](matrix-org/matrix-react-sdk#11304)). Fixes #17523. Contributed by @peterscheu-aceart. * Fix AppTile context menu not always showing up when it has options ([\#11358](matrix-org/matrix-react-sdk#11358)). Fixes #25914. * Fix clicking on home all rooms space notification not working ([\#11337](matrix-org/matrix-react-sdk#11337)). Fixes #22844. * Fix joining a suggested room switching space away ([\#11347](matrix-org/matrix-react-sdk#11347)). Fixes #25838. * Fix home/all rooms context menu in space panel ([\#11350](matrix-org/matrix-react-sdk#11350)). Fixes #25896. * Make keyboard handling in and out of autocomplete completions consistent ([\#11344](matrix-org/matrix-react-sdk#11344)). Fixes #25878. * De-duplicate reactions by sender to account for faulty/malicious servers ([\#11340](matrix-org/matrix-react-sdk#11340)). Fixes #25872. * Fix disable_3pid_login being ignored for the email field ([\#11335](matrix-org/matrix-react-sdk#11335)). Fixes #25863. * Upgrade wysiwyg editor for ctrl+backspace windows fix ([\#11324](matrix-org/matrix-react-sdk#11324)). Fixes vector-im/verticals-internal#102. * Unhide the view source event toggle - it works well enough ([\#11336](matrix-org/matrix-react-sdk#11336)). Fixes #25861. Changes in [1.11.38](https://github.com/vector-im/element-web/releases/tag/v1.11.38) (2023-08-04) ================================================================================================= ## ✨ Features * Package release builds of element-web in package.element.io debs ([\#25198](element-hq/element-web#25198)). ## 🐛 Bug Fixes * Revert to using the /presence API for presence ([\#11366](matrix-org/matrix-react-sdk#11366)) Changes in [1.11.37](https://github.com/vector-im/element-web/releases/tag/v1.11.37) (2023-08-01) ================================================================================================= ## 🦖 Deprecations * Deprecate camelCase config options ([\#25800](element-hq/element-web#25800)). * Deprecate customisations in favour of Module API ([\#25736](element-hq/element-web#25736)). Fixes #25733. ## ✨ Features * Do not show "Forget room" button in Room View header for guest users ([\#10898](matrix-org/matrix-react-sdk#10898)). Contributed by @spantaleev. * Switch to updating presence via /sync calls instead of PUT /presence ([\#11223](matrix-org/matrix-react-sdk#11223)). Fixes #20809 #13877 and #4813. * Fix blockquote colour contrast ([\#11299](matrix-org/matrix-react-sdk#11299)). Fixes matrix-org/element-web-rageshakes#21800. * Don't hide room header buttons in video rooms and rooms with a call ([\#9712](matrix-org/matrix-react-sdk#9712)). Fixes #23900. * OIDC: Persist details in session storage, create store ([\#11302](matrix-org/matrix-react-sdk#11302)). Fixes #25710. Contributed by @kerryarchibald. * Allow setting room join rule to knock ([\#11248](matrix-org/matrix-react-sdk#11248)). Contributed by @charlynguyen. * Retry joins on 524 (Cloudflare timeout) also ([\#11296](matrix-org/matrix-react-sdk#11296)). Fixes #8776. * Make sure users returned by the homeserver search API are displayed. Don't silently drop any. ([\#9556](matrix-org/matrix-react-sdk#9556)). Fixes #24422. Contributed by @maxmalek. * Offer to unban user during invite if inviter has sufficient permissions ([\#11256](matrix-org/matrix-react-sdk#11256)). Fixes #3222. * Split join and goto slash commands, the latter shouldn't auto_join ([\#11259](matrix-org/matrix-react-sdk#11259)). Fixes #10128. * Integration work for rich text editor 2.3.1 ([\#11172](matrix-org/matrix-react-sdk#11172)). Contributed by @alunturner. * Compound color pass ([\#11079](matrix-org/matrix-react-sdk#11079)). Fixes vector-im/internal-planning#450 and #25547. * Warn when demoting self via /op and /deop slash commands ([\#11214](matrix-org/matrix-react-sdk#11214)). Fixes #13726. ## 🐛 Bug Fixes * Correct Jitsi preferred_domain property ([\#25813](element-hq/element-web#25813)). Contributed by @benbz. * Fix edge case with sent indicator being drawn when it shouldn't be ([\#11320](matrix-org/matrix-react-sdk#11320)). * Use correct translation function for WYSIWYG buttons ([\#11315](matrix-org/matrix-react-sdk#11315)). Fixes vector-im/verticals-internal#109. * Handle empty own profile ([\#11319](matrix-org/matrix-react-sdk#11319)). Fixes #25510. * Fix peeked rooms showing up in historical ([\#11316](matrix-org/matrix-react-sdk#11316)). Fixes #22473. * Ensure consistency when rendering the sent event indicator ([\#11314](matrix-org/matrix-react-sdk#11314)). Fixes #17937. * Prevent re-filtering user directory results in spotlight ([\#11290](matrix-org/matrix-react-sdk#11290)). Fixes #24422. * Fix GIF label on dark theme ([\#11312](matrix-org/matrix-react-sdk#11312)). Fixes #25836. * Fix issues around room notification settings flaking out ([\#11306](matrix-org/matrix-react-sdk#11306)). Fixes #16472 #21309 and #6828. * Fix invite dialog showing the same user multiple times ([\#11308](matrix-org/matrix-react-sdk#11308)). Fixes #25578. * Don't show composer send button if user cannot send ([\#11298](matrix-org/matrix-react-sdk#11298)). Fixes #25825. * Restore color for sender in imageview ([\#11289](matrix-org/matrix-react-sdk#11289)). Fixes #25822. * Fix changelog dialog heading size ([\#11286](matrix-org/matrix-react-sdk#11286)). Fixes #25789. * Restore offline presence badge color ([\#11287](matrix-org/matrix-react-sdk#11287)). Fixes #25792. * Fix bubble message layout avatar overlap ([\#11284](matrix-org/matrix-react-sdk#11284)). Fixes #25818. * Fix voice call tile size ([\#11285](matrix-org/matrix-react-sdk#11285)). Fixes #25684. * Fix layout of sessions tab buttons ([\#11279](matrix-org/matrix-react-sdk#11279)). Fixes #25545. * Don't bother showing redundant tooltip on space menu ([\#11276](matrix-org/matrix-react-sdk#11276)). Fixes #20380. * Remove reply fallback from notifications ([\#11278](matrix-org/matrix-react-sdk#11278)). Fixes #17859. * Populate info.duration for audio & video file uploads ([\#11225](matrix-org/matrix-react-sdk#11225)). Fixes #17720. * Hide widget menu button if it there are no options available ([\#11257](matrix-org/matrix-react-sdk#11257)). Fixes #24826. * Fix colour regressions ([\#11273](matrix-org/matrix-react-sdk#11273)). Fixes #25788, #25808 #25811 and #25812. * Fix room view not properly maintaining scroll position ([\#11274](matrix-org/matrix-react-sdk#11274)). Fixes #25810. * Prevent user from accidentally double clicking user info admin actions ([\#11254](matrix-org/matrix-react-sdk#11254)). Fixes #10944. * Fix missing metaspace notification badges ([\#11269](matrix-org/matrix-react-sdk#11269)). Fixes #25679. * Fix clicking MXID in timeline going to matrix.to ([\#11263](matrix-org/matrix-react-sdk#11263)). Fixes #23342. * Restoring optional ligatures by resetting letter-spacing ([\#11202](matrix-org/matrix-react-sdk#11202)). Fixes #25727. * Allow emoji presentation selector to not break BigEmoji styling ([\#11253](matrix-org/matrix-react-sdk#11253)). Fixes #17848. * Make event highliht use primary content token ([\#11255](matrix-org/matrix-react-sdk#11255)). * Fix event info events size and color ([\#11252](matrix-org/matrix-react-sdk#11252)). Fixes #25778. * Fix color mapping for blockquote border ([\#11251](matrix-org/matrix-react-sdk#11251)). Fixes #25782. * Strip emoji variation when searching emoji by emoji ([\#11221](matrix-org/matrix-react-sdk#11221)). Fixes #18703.
Changes in [1.11.39](https://github.com/vector-im/element-web/releases/tag/v1.11.39) (2023-08-15) ================================================================================================= ## 🦖 Deprecations * Deprecate camelCase config options ([\#25800](element-hq/element-web#25800)). * Deprecate customisations in favour of Module API ([\#25736](element-hq/element-web#25736)). Fixes #25733. ## ✨ Features * Update labs.md for knock rooms ([\#25923](element-hq/element-web#25923)). Contributed by @charlynguyen. * Package release builds of element-web in package.element.io debs ([\#25198](element-hq/element-web#25198)). * Allow knocking rooms ([\#11353](matrix-org/matrix-react-sdk#11353)). Contributed by @charlynguyen. * Support adding space-restricted joins on rooms not members of those spaces ([\#9017](matrix-org/matrix-react-sdk#9017)). Fixes #19213. * Clear requiresClient and show pop-out if widget-api fails to ready ([\#11321](matrix-org/matrix-react-sdk#11321)). Fixes vector-im/customer-retainer#73. * Bump pagination sizes due to hidden events ([\#11342](matrix-org/matrix-react-sdk#11342)). * Remove display of key backup signatures from backup settings ([\#11333](matrix-org/matrix-react-sdk#11333)). * Use PassphraseFields in ExportE2eKeysDialog to enforce minimum passphrase complexity ([\#11222](matrix-org/matrix-react-sdk#11222)). Fixes #9478. ## 🐛 Bug Fixes * Fix "Export chat" not respecting configured time format in plain text mode ([\#10696](matrix-org/matrix-react-sdk#10696)). Fixes #23838. Contributed by @rashmitpankhania. * Fix some missing 1-count pluralisations around event list summaries ([\#11371](matrix-org/matrix-react-sdk#11371)). Fixes #25925. * Fix create subspace dialog not working for public space creation ([\#11367](matrix-org/matrix-react-sdk#11367)). Fixes #25916. * Search for users on paste ([\#11304](matrix-org/matrix-react-sdk#11304)). Fixes #17523. Contributed by @peterscheu-aceart. * Fix AppTile context menu not always showing up when it has options ([\#11358](matrix-org/matrix-react-sdk#11358)). Fixes #25914. * Fix clicking on home all rooms space notification not working ([\#11337](matrix-org/matrix-react-sdk#11337)). Fixes #22844. * Fix joining a suggested room switching space away ([\#11347](matrix-org/matrix-react-sdk#11347)). Fixes #25838. * Fix home/all rooms context menu in space panel ([\#11350](matrix-org/matrix-react-sdk#11350)). Fixes #25896. * Make keyboard handling in and out of autocomplete completions consistent ([\#11344](matrix-org/matrix-react-sdk#11344)). Fixes #25878. * De-duplicate reactions by sender to account for faulty/malicious servers ([\#11340](matrix-org/matrix-react-sdk#11340)). Fixes #25872. * Fix disable_3pid_login being ignored for the email field ([\#11335](matrix-org/matrix-react-sdk#11335)). Fixes #25863. * Upgrade wysiwyg editor for ctrl+backspace windows fix ([\#11324](matrix-org/matrix-react-sdk#11324)). Fixes vector-im/verticals-internal#102. * Unhide the view source event toggle - it works well enough ([\#11336](matrix-org/matrix-react-sdk#11336)). Fixes #25861. Changes in [1.11.38](https://github.com/vector-im/element-web/releases/tag/v1.11.38) (2023-08-04) ================================================================================================= ## ✨ Features * Package release builds of element-web in package.element.io debs ([\#25198](element-hq/element-web#25198)). ## 🐛 Bug Fixes * Revert to using the /presence API for presence ([\#11366](matrix-org/matrix-react-sdk#11366)) Changes in [1.11.37](https://github.com/vector-im/element-web/releases/tag/v1.11.37) (2023-08-01) ================================================================================================= ## 🦖 Deprecations * Deprecate camelCase config options ([\#25800](element-hq/element-web#25800)). * Deprecate customisations in favour of Module API ([\#25736](element-hq/element-web#25736)). Fixes #25733. ## ✨ Features * Do not show "Forget room" button in Room View header for guest users ([\#10898](matrix-org/matrix-react-sdk#10898)). Contributed by @spantaleev. * Switch to updating presence via /sync calls instead of PUT /presence ([\#11223](matrix-org/matrix-react-sdk#11223)). Fixes #20809 #13877 and #4813. * Fix blockquote colour contrast ([\#11299](matrix-org/matrix-react-sdk#11299)). Fixes matrix-org/element-web-rageshakes#21800. * Don't hide room header buttons in video rooms and rooms with a call ([\#9712](matrix-org/matrix-react-sdk#9712)). Fixes #23900. * OIDC: Persist details in session storage, create store ([\#11302](matrix-org/matrix-react-sdk#11302)). Fixes #25710. Contributed by @kerryarchibald. * Allow setting room join rule to knock ([\#11248](matrix-org/matrix-react-sdk#11248)). Contributed by @charlynguyen. * Retry joins on 524 (Cloudflare timeout) also ([\#11296](matrix-org/matrix-react-sdk#11296)). Fixes #8776. * Make sure users returned by the homeserver search API are displayed. Don't silently drop any. ([\#9556](matrix-org/matrix-react-sdk#9556)). Fixes #24422. Contributed by @maxmalek. * Offer to unban user during invite if inviter has sufficient permissions ([\#11256](matrix-org/matrix-react-sdk#11256)). Fixes #3222. * Split join and goto slash commands, the latter shouldn't auto_join ([\#11259](matrix-org/matrix-react-sdk#11259)). Fixes #10128. * Integration work for rich text editor 2.3.1 ([\#11172](matrix-org/matrix-react-sdk#11172)). Contributed by @alunturner. * Compound color pass ([\#11079](matrix-org/matrix-react-sdk#11079)). Fixes vector-im/internal-planning#450 and #25547. * Warn when demoting self via /op and /deop slash commands ([\#11214](matrix-org/matrix-react-sdk#11214)). Fixes #13726. ## 🐛 Bug Fixes * Correct Jitsi preferred_domain property ([\#25813](element-hq/element-web#25813)). Contributed by @benbz. * Fix edge case with sent indicator being drawn when it shouldn't be ([\#11320](matrix-org/matrix-react-sdk#11320)). * Use correct translation function for WYSIWYG buttons ([\#11315](matrix-org/matrix-react-sdk#11315)). Fixes vector-im/verticals-internal#109. * Handle empty own profile ([\#11319](matrix-org/matrix-react-sdk#11319)). Fixes #25510. * Fix peeked rooms showing up in historical ([\#11316](matrix-org/matrix-react-sdk#11316)). Fixes #22473. * Ensure consistency when rendering the sent event indicator ([\#11314](matrix-org/matrix-react-sdk#11314)). Fixes #17937. * Prevent re-filtering user directory results in spotlight ([\#11290](matrix-org/matrix-react-sdk#11290)). Fixes #24422. * Fix GIF label on dark theme ([\#11312](matrix-org/matrix-react-sdk#11312)). Fixes #25836. * Fix issues around room notification settings flaking out ([\#11306](matrix-org/matrix-react-sdk#11306)). Fixes #16472 #21309 and #6828. * Fix invite dialog showing the same user multiple times ([\#11308](matrix-org/matrix-react-sdk#11308)). Fixes #25578. * Don't show composer send button if user cannot send ([\#11298](matrix-org/matrix-react-sdk#11298)). Fixes #25825. * Restore color for sender in imageview ([\#11289](matrix-org/matrix-react-sdk#11289)). Fixes #25822. * Fix changelog dialog heading size ([\#11286](matrix-org/matrix-react-sdk#11286)). Fixes #25789. * Restore offline presence badge color ([\#11287](matrix-org/matrix-react-sdk#11287)). Fixes #25792. * Fix bubble message layout avatar overlap ([\#11284](matrix-org/matrix-react-sdk#11284)). Fixes #25818. * Fix voice call tile size ([\#11285](matrix-org/matrix-react-sdk#11285)). Fixes #25684. * Fix layout of sessions tab buttons ([\#11279](matrix-org/matrix-react-sdk#11279)). Fixes #25545. * Don't bother showing redundant tooltip on space menu ([\#11276](matrix-org/matrix-react-sdk#11276)). Fixes #20380. * Remove reply fallback from notifications ([\#11278](matrix-org/matrix-react-sdk#11278)). Fixes #17859. * Populate info.duration for audio & video file uploads ([\#11225](matrix-org/matrix-react-sdk#11225)). Fixes #17720. * Hide widget menu button if it there are no options available ([\#11257](matrix-org/matrix-react-sdk#11257)). Fixes #24826. * Fix colour regressions ([\#11273](matrix-org/matrix-react-sdk#11273)). Fixes #25788, #25808 #25811 and #25812. * Fix room view not properly maintaining scroll position ([\#11274](matrix-org/matrix-react-sdk#11274)). Fixes #25810. * Prevent user from accidentally double clicking user info admin actions ([\#11254](matrix-org/matrix-react-sdk#11254)). Fixes #10944. * Fix missing metaspace notification badges ([\#11269](matrix-org/matrix-react-sdk#11269)). Fixes #25679. * Fix clicking MXID in timeline going to matrix.to ([\#11263](matrix-org/matrix-react-sdk#11263)). Fixes #23342. * Restoring optional ligatures by resetting letter-spacing ([\#11202](matrix-org/matrix-react-sdk#11202)). Fixes #25727. * Allow emoji presentation selector to not break BigEmoji styling ([\#11253](matrix-org/matrix-react-sdk#11253)). Fixes #17848. * Make event highliht use primary content token ([\#11255](matrix-org/matrix-react-sdk#11255)). * Fix event info events size and color ([\#11252](matrix-org/matrix-react-sdk#11252)). Fixes #25778. * Fix color mapping for blockquote border ([\#11251](matrix-org/matrix-react-sdk#11251)). Fixes #25782. * Strip emoji variation when searching emoji by emoji ([\#11221](matrix-org/matrix-react-sdk#11221)). Fixes #18703.
Signed-off-by: Maximilian Malek maximilian.malek@uni-graz.at
Fixes element-hq/element-web#24422
Checklist
Notes: Make sure users returned by the homeserver search API are displayed. Don't silently drop any.
Currently, Element only displays search results that contain the search term as substring, which is IMHO an anti-feature. This one-line change removes the filter for the people search and displays all results sent by the homeserver.
Pros:
Cons:
Ideally those other substring filters nearby should be removed entirely, but the user search is the biggest problem on my end right now so I've kept this PR to the minimum.
Background: I'm working on an identity server & search provider similar to ma1sd that handles the
_matrix/client/r0/user_directory/search
endpoint redirected via reverse proxy.This means I'm able to inject users into the search that are not returned by synapse.
We've been using ma1sd's LDAP-based search extensively, but I ended up writing my own since ma1sd is too slow. Added fuzzy search, then realized element silently drops results it doesn't like.
Here's what your changelog entry will look like:
✨ Features