feat(ui): timeline live location sharing support#6232
Conversation
19a1efc to
03dc078
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6232 +/- ##
==========================================
- Coverage 89.90% 89.89% -0.01%
==========================================
Files 371 372 +1
Lines 102281 102443 +162
Branches 102281 102443 +162
==========================================
+ Hits 91958 92094 +136
- Misses 6762 6786 +24
- Partials 3561 3563 +2 ☔ View full report in Codecov by Sentry. |
|
Tested on android, working nicely! |
03dc078 to
87b8983
Compare
|
@stefanceriu can you make sure to expose the Also if I clear the cache, it looks like the aggregation gets broken : sometimes the live location is displayed as live even if it's finished, something its completly missing from the timeline :/ |
I don't know what that's about but I don't think it's related to this PR. We've seen pinned events break after clearing the cache too if I remember correctly so can you please check the SS responses and see if they match your expectations 🙏 |
f992b02 to
2040bbd
Compare
body is not the same thing than description, you should have either body or m.text available in the model (or both for compatibility).
I'll check a bit more |
As far as I can tell that's not actually available in ruma and the parent MSC3488 (static location sharing) explicitely states that
.. so now I'm confused 🤔 |
2040bbd to
d44624a
Compare
crates/matrix-sdk-ui/src/timeline/event_item/content/live_location.rs
Outdated
Show resolved
Hide resolved
crates/matrix-sdk-ui/src/timeline/event_item/content/live_location.rs
Outdated
Show resolved
Hide resolved
crates/matrix-sdk-ui/src/timeline/event_item/content/live_location.rs
Outdated
Show resolved
Hide resolved
bnjbvr
left a comment
There was a problem hiding this comment.
Looks good, but I have one concern about the handling of the stop beacon, that I hadn't thought about yesterday.
1508e11 to
0c53d22
Compare
…nfo` state events
0c53d22 to
a535c25
Compare
…ion sharing # Conflicts: # crates/matrix-sdk-ui/src/timeline/event_item/mod.rs # crates/matrix-sdk-ui/src/timeline/mod.rs
… timeline events
…d `org.matrix.msc3672.beacon` events and aggregate them onto the timeline's `LiveLocation` # Conflicts: # crates/matrix-sdk-ui/src/timeline/event_handler.rs
a535c25 to
c95506d
Compare
c95506d to
2cc4894
Compare
This PR implements MSC3489 live location sharing support in the
matrix-sdk-uitimeline layer and exposes it through thematrix-sdk-ffiFFI bindings by aggregatingorg.matrix.msc3672.beacons into their parentorg.matrix.msc3672.beacon_infoand exposing them as a newTimelineItemContent::LiveLocationvariant.beacon_infostate events that have theirliveflag set to true will create a new timeline item while non-live ones will try to update the existing timeline item, if found.The design follows the same aggregation model already in use for polls and choses the
LiveLocationnaming scheme for everything on top of the UI Timeline, abstracting the idea ofbeacons.CHANGELOG.mdfiles.