element-hq / element-x-android

Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
GNU Affero General Public License v3.0
1.08k stars 155 forks source link

unable to mark a room as favorite #3495

Closed johansmitsnl closed 1 month ago

johansmitsnl commented 1 month ago

Steps to reproduce

  1. Long press on the room
  2. Check the toggle button

Or

  1. Enter the room
  2. Tab the name of the room
  3. Try to toggle the favourite

Outcome

What did you expect?

That it is marked as favorite

What happened instead?

Nothing

Your phone model

Nokia XR20

Operating system version

13

Application version and app store

0.6.2

Homeserver

synapse 0.115.0

Will you send logs?

Yes

Are you willing to provide a PR?

No

davidegirardi commented 1 month ago

I also encountered this. I noticed that if you try to mark a room as favourite it actually works, you see a room become favourite in other clients like Element Desktop, but the change is not reflected in Element X Android.

Unmarking a room does not work since EXA believes the toggle is off already.

networkException commented 1 month ago

I've been debugging this and it appears to be an issue in the matrix-rust-sdk. No matrix_sdk_ffi::room_info::RoomInfo that gets created in rust land has the is_favourite bit set, so changes to the value never reach the Kotlin side.


My best guess right now is some kind of difference in the sliding sync configuration (possibly only concurring with native synapse). My Element X build does receive account data, also room specific (some m.fully_reads) but no m.tags at all.

All the while a tweaked example create from the rust sdk happily gets those m.tagss and has no issue processing them in higher level apis. This is using the exact same rust-sdk tree for both builds

...ah that didn't use sliding sync

networkException commented 1 month ago

It looks like there just was server side support for getting favorited rooms missing, as such this is likely a duplicate of #3521

spaetz commented 1 month ago

This works well now with Synapse 1.116rc1 (perhaps already 1.115?) and EXA 0.6.4.