-
-
Notifications
You must be signed in to change notification settings - Fork 833
Conversation
1f31e88
to
9cc09f6
Compare
Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
9cc09f6
to
0d35f41
Compare
the videos are helpful, thank you. Generally, this looks fine to me although I don't expect the user to have to "accept" a join invite once their knock has been granted. In the first video the room is in the room list with the hand icon which is great but once 'accepted' the room jumps to the invite list and when clicking on it their asked to join the room? |
@daniellekirkwood Yes, it happens because in order to add the user into the room we need to invite him first, although the user has already knocked. Synapse by default doesn't auto-accept the invitation and in this use case it would be really nice. Currently this auto-accept behavior should be possible via custom synapse module or widget. I think it is a very good point. |
@daniellekirkwood another option could be to auto-accept these invites from Element client, but this should be done as a separate PR. |
that would be great, thank you |
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.
Thank you for your contribution @maheichyk .
Unfortunately it seems like we get „stuck rooms“ with this PR:
All of those rooms with the hand are either rejected knocks or rooms that I've forgotten.
You can reproduce it by
- User A: Knock at a room
- User B: Reject
- User A: Sees the red badge
- User A: Reload (probably several times)
- User A has now a stuck room
Also rooms that I've discarded from the archive tend to reappear. Just reload the app several times.
Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
beed6d2
to
ddacabe
Compare
@weeman1337 This change fixes the issue that knocks were "stuck". At the moment denied knocks will disappear after some time if Element is reloaded several times, but this is probably okay for initial implementation (@daniellekirkwood please correct me if I am wrong here), because there is some uncertainty how to implement this correctly and would be nice to improve it in separate PR. It would be nice to move this PR forward. |
Thank you for working further on this @maheichyk Unfortunately the issue seems still to exist: I can see two errors in console. Probably this helps:
|
What about removing the room from the client if it is discarded from the ui? If this goes to a separate issue can you please create one and link it to the epic? |
Another issue is that the room does sometimes not appear in the list: There are some log items:
|
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.
Looks good code-wise. Unfortunately, the feature seems to have its flaws. @daniellekirkwood how do you think we should proceed here? Should we create issues for the things I found in the comments before and merge it as it is?
@@ -65,7 +68,7 @@ export function splitRoomsByMembership(rooms: Room[]): MembershipSplit { | |||
export function getEffectiveMembership(membership: string): EffectiveMembership { | |||
if (membership === "invite") { | |||
return EffectiveMembership.Invite; | |||
} else if (membership === "join") { | |||
} else if (membership === "join" || (SettingsStore.getValue("feature_ask_to_join") && membership === "knock")) { |
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 below can be removed now 🥳
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.
thanks, removed
test/utils/membership-test.ts
Outdated
import { createTestClient, mkRoomMember, stubClient } from "../test-utils"; | ||
|
||
describe("isKnockDenied", () => { | ||
// const userId = MatrixClientPeg.get()!.getSafeUserId() //TODO: MA |
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 is still a TODO comment here. Hard-coding any matrix ID should be okay here.
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.
thanks for the point, deleted
This happens in Element for invite -> reject -> forget flow when room is sticky: user rejects the room he is invited into, then selects (clicks) on this room in archive (so room is sticky) and clicks on forget in the room options menu, the same errors. In the case of knock the room is sticky and the same problem just appears when we click on forget. Would be good to resolve this as separate issue. |
👍 Okay. Can you please create one and add it to the epic? |
When room is forgotten (including denied knock) it should be deleted from the client already (this is how it already done for normal room forget) but it doesn't work for denied because of the issue before. |
Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
I have created an issue: element-hq/element-web#26195 |
I tried on PR deployment and cannot reproduce it unfortunately, would be nice to have an issue with steps to reproduce, but the root cause could be not directly related to the changes in this PR. |
Thank you for creating a new issue to track the bugs found here!
I think this is acceptable for now. If the user chooses to do nothing when they have been rejected 🤷 that feels like an enhancement we can handle better later. Though, if the user chooses to "forget" the room it should be moved to their "historical" list. If this is not happening today, I would consider that a bug. I'm not sure our process on PRs that have bugs, @weeman1337 ? I think that new issue created handles the bug cases introduced here, are we ok to accept this PR with the understanding that @maheichyk will work on those bugs, or do we need a PR for the bugs before accepting this one? |
Agree. @maheichyk already created issues. |
Changes in [1.11.47](https://github.com/vector-im/element-web/releases/tag/v1.11.47) (2023-10-24) ================================================================================================= ## 🦖 Deprecations * Deprecate customisations in favour of Module API ([\#25736](element-hq/element-web#25736)). Fixes #25733. ## ✨ Features * element-hq/element-x-ios/issues/1824 - Convert the apple-app-site-association file to a newer format… ([\#26307](element-hq/element-web#26307)). Contributed by @stefanceriu. * Iterate `io.element.late_event` decoration ([\#11760](matrix-org/matrix-react-sdk#11760)). Fixes #26384. * Render timeline separator for late event groups ([\#11739](matrix-org/matrix-react-sdk#11739)). * OIDC: revoke tokens on logout ([\#11718](matrix-org/matrix-react-sdk#11718)). Fixes #25394. Contributed by @kerryarchibald. * Show `io.element.late_event` in MessageTimestamp when known ([\#11733](matrix-org/matrix-react-sdk#11733)). * Show all labs flags if developerMode enabled ([\#11746](matrix-org/matrix-react-sdk#11746)). Fixes #24571 and #8498. * Use Compound tooltips on MessageTimestamp to improve UX of date time discovery ([\#11732](matrix-org/matrix-react-sdk#11732)). Fixes #25913. * Consolidate 4s passphrase input fields and use stable IDs ([\#11743](matrix-org/matrix-react-sdk#11743)). Fixes #26228. * Disable upgraderoom command without developer mode enabled ([\#11744](matrix-org/matrix-react-sdk#11744)). Fixes #17620. * Avoid rendering app download buttons if disabled in config ([\#11741](matrix-org/matrix-react-sdk#11741)). Fixes #26309. * OIDC: refresh tokens ([\#11699](matrix-org/matrix-react-sdk#11699)). Fixes #25839. Contributed by @kerryarchibald. * OIDC: register ([\#11727](matrix-org/matrix-react-sdk#11727)). Fixes #25393. Contributed by @kerryarchibald. * Use stable get_login_token and remove unstable MSC3882 support ([\#11001](matrix-org/matrix-react-sdk#11001)). Contributed by @hughns. ## 🐛 Bug Fixes * Set max size for Element logo in search warning ([\#11779](matrix-org/matrix-react-sdk#11779)). Fixes #26408. * Avoid error when DMing oneself ([\#11754](matrix-org/matrix-react-sdk#11754)). Fixes #7242. * Fix: Message shield alignment is not right. ([\#11703](matrix-org/matrix-react-sdk#11703)). Fixes #26142. Contributed by @manancodes. * fix logging full event ([\#11755](matrix-org/matrix-react-sdk#11755)). Fixes #26376. * OIDC: use delegated auth account URL from `OidcClientStore` ([\#11723](matrix-org/matrix-react-sdk#11723)). Fixes #26305. Contributed by @kerryarchibald. * Fix: Members list shield alignment is not right. ([\#11700](matrix-org/matrix-react-sdk#11700)). Fixes #26261. Contributed by @manancodes. * Fix: <detail> HTML elements clickable area too wide. ([\#11666](matrix-org/matrix-react-sdk#11666)). Fixes #25454. Contributed by @manancodes. * Fix untranslated headings in the devtools dialog ([\#11734](matrix-org/matrix-react-sdk#11734)). * Fixes invite dialog alignment and pill color contrast ([\#11722](matrix-org/matrix-react-sdk#11722)). Contributed by @gabrc52. * Prevent select element in General settings overflowing in a room with very long room-id ([\#11597](matrix-org/matrix-react-sdk#11597)). Contributed by @ABHIXIT2. * Fix: Clicking on members pile does nothing. ([\#11657](matrix-org/matrix-react-sdk#11657)). Fixes #26164. Contributed by @manancodes. * Fix: Wierd shadow below room avatar in dark mode. ([\#11678](matrix-org/matrix-react-sdk#11678)). Fixes #26153. Contributed by @manancodes. * Fix start_sso / start_cas URLs failing to redirect to a authentication prompt ([\#11681](matrix-org/matrix-react-sdk#11681)). Contributed by @Half-Shot. Changes in [1.11.46](https://github.com/vector-im/element-web/releases/tag/v1.11.46) (2023-10-10) ================================================================================================= ## ✨ Features * Use .well-known to discover a default rendezvous server for use with Sign in with QR ([\#11655](matrix-org/matrix-react-sdk#11655)). Contributed by @hughns. * Message layout will update according to the selected style ([\#10170](matrix-org/matrix-react-sdk#10170)). Fixes #21782. Contributed by @manancodes. * Implement MSC4039: Add an MSC for a new Widget API action to upload files into the media repository ([\#11311](matrix-org/matrix-react-sdk#11311)). Contributed by @dhenneke. * Render space pills with square corners to match new avatar ([\#11632](matrix-org/matrix-react-sdk#11632)). Fixes #26056. * Linkify room topic ([\#11631](matrix-org/matrix-react-sdk#11631)). Fixes #26185. * Show knock rooms in the list ([\#11573](matrix-org/matrix-react-sdk#11573)). Contributed by @maheichyk. ## 🐛 Bug Fixes * Bump matrix-web-i18n dependency to 3.1.3 ([\#26287](element-hq/element-web#26287)) * Fix: Avatar shrinks with long names ([\#11698](matrix-org/matrix-react-sdk#11698)). Fixes #26252. Contributed by @manancodes. * Update custom translations to support nested fields in structured JSON ([\#11685](matrix-org/matrix-react-sdk#11685)). * Fix: Edited message remove button is hard to reach. ([\#11674](matrix-org/matrix-react-sdk#11674)). Fixes #24917. Contributed by @manancodes. * Fix: Theme selector radio button not aligned in center with the text ([\#11676](matrix-org/matrix-react-sdk#11676)). Fixes #25460. Contributed by @manancodes. * Fix: Unread notification dot aligned ([\#11658](matrix-org/matrix-react-sdk#11658)). Fixes #25285. Contributed by @manancodes. * Fix: sync intentional mentions push rules with legacy rules ([\#11667](matrix-org/matrix-react-sdk#11667)). Fixes #26227. Contributed by @kerryarchibald. * Revert "Fix regression around FacePile with overflow (#11527)" ([\#11634](matrix-org/matrix-react-sdk#11634)). Fixes #26209. * Fix: Alignment Fixed ([\#11648](matrix-org/matrix-react-sdk#11648)). Fixes #26169. Contributed by @manancodes. * Fix: onFinished added which closes the menu ([\#11647](matrix-org/matrix-react-sdk#11647)). Fixes #25556. Contributed by @manancodes. * Don't start key backups when opening settings ([\#11640](matrix-org/matrix-react-sdk#11640)). * Fix add to space avatar text centering ([\#11643](matrix-org/matrix-react-sdk#11643)). Fixes #26154. * fix avatar styling in lightbox ([\#11641](matrix-org/matrix-react-sdk#11641)). Fixes #26196.
…ixed yet) * Use .well-known to discover a default rendezvous server for use with Sign in with QR ([\#11655](matrix-org/matrix-react-sdk#11655)). Contributed by @hughns. * Message layout will update according to the selected style ([\#10170](matrix-org/matrix-react-sdk#10170)). Fixes #21782. Contributed by @manancodes. * Implement MSC4039: Add an MSC for a new Widget API action to upload files into the media repository ([\#11311](matrix-org/matrix-react-sdk#11311)). Contributed by @dhenneke. * Render space pills with square corners to match new avatar ([\#11632](matrix-org/matrix-react-sdk#11632)). Fixes #26056. * Linkify room topic ([\#11631](matrix-org/matrix-react-sdk#11631)). Fixes #26185. * Show knock rooms in the list ([\#11573](matrix-org/matrix-react-sdk#11573)). Contributed by @maheichyk. * Bump matrix-web-i18n dependency to 3.1.3 ([\#26287](element-hq/element-web#26287)) * Fix: Avatar shrinks with long names ([\#11698](matrix-org/matrix-react-sdk#11698)). Fixes #26252. Contributed by @manancodes. * Update custom translations to support nested fields in structured JSON ([\#11685](matrix-org/matrix-react-sdk#11685)). * Fix: Edited message remove button is hard to reach. ([\#11674](matrix-org/matrix-react-sdk#11674)). Fixes #24917. Contributed by @manancodes. * Fix: Theme selector radio button not aligned in center with the text ([\#11676](matrix-org/matrix-react-sdk#11676)). Fixes #25460. Contributed by @manancodes. * Fix: Unread notification dot aligned ([\#11658](matrix-org/matrix-react-sdk#11658)). Fixes #25285. Contributed by @manancodes. * Fix: sync intentional mentions push rules with legacy rules ([\#11667](matrix-org/matrix-react-sdk#11667)). Fixes #26227. Contributed by @kerryarchibald. * Revert "Fix regression around FacePile with overflow (#11527)" ([\#11634](matrix-org/matrix-react-sdk#11634)). Fixes #26209. * Fix: Alignment Fixed ([\#11648](matrix-org/matrix-react-sdk#11648)). Fixes #26169. Contributed by @manancodes. * Fix: onFinished added which closes the menu ([\#11647](matrix-org/matrix-react-sdk#11647)). Fixes #25556. Contributed by @manancodes. * Don't start key backups when opening settings ([\#11640](matrix-org/matrix-react-sdk#11640)). * Fix add to space avatar text centering ([\#11643](matrix-org/matrix-react-sdk#11643)). Fixes #26154. * fix avatar styling in lightbox ([\#11641](matrix-org/matrix-react-sdk#11641)). Fixes #26196.
We @nordeck are currently implementing the knock rooms behind the feature flag
feature_ask_to_join
(introduced in #11182).This PR allows to see knocked rooms in the rooms list. Knock rooms have incon/notification showing the knock request status.
Epic: vector-im/element-web/issues/18655
Videos:
knock_approve.mp4
knock_cancel.mp4
knock_forget.mp4
Checklist
Type: enhancement
Here's what your changelog entry will look like:
✨ Features