mirror of
https://github.com/matrix-org/sliding-sync.git
synced 2025-03-10 13:37:11 +00:00
Render m.reaction events
This commit is contained in:
parent
0295e968b0
commit
0ebf6b6fd0
@ -21,6 +21,10 @@ INF Poller: v2 poll loop started ip=::1 since= user_id=@kegan:matrix.org
|
||||
```
|
||||
Wait for the first initial v2 sync to be processed (this can take minutes!) and then v3 APIs will be responsive.
|
||||
|
||||
### How can I help?
|
||||
|
||||
At present, the best way to help would be to run a local v3 server pointed at a busy account and just leave it and a client running in the background. Look at it occasionally and submit any issues you notice. You can save console logs by right-clicking -> Save As.
|
||||
|
||||
## API
|
||||
|
||||
API is under active development and is not stable.
|
||||
|
@ -142,18 +142,7 @@ const renderMessage = (container, ev) => {
|
||||
msgCell.setAttribute("id", eventIdKey);
|
||||
msgCell.getElementsByClassName("msgsender")[0].textContent = ev.sender;
|
||||
msgCell.getElementsByClassName("msgtimestamp")[0].textContent = formatTimestamp(ev.origin_server_ts);
|
||||
let body = "";
|
||||
switch (ev.type) {
|
||||
case "m.room.message":
|
||||
body = ev.content.body;
|
||||
break;
|
||||
case "m.room.member":
|
||||
body = membershipChangeText(ev);
|
||||
break;
|
||||
default:
|
||||
body = ev.type + " event";
|
||||
break;
|
||||
}
|
||||
let body = textForEvent(ev);
|
||||
msgCell.getElementsByClassName("msgcontent")[0].textContent = body;
|
||||
container.appendChild(msgCell);
|
||||
};
|
||||
@ -293,13 +282,12 @@ const render = (container) => {
|
||||
roomSenderSpan.textContent = mostRecentEvent.sender;
|
||||
roomTimestampSpan.textContent = formatTimestamp(mostRecentEvent.origin_server_ts);
|
||||
|
||||
if (mostRecentEvent.type === "m.room.message") {
|
||||
roomContentSpan.textContent = mostRecentEvent.content.body;
|
||||
} else if (mostRecentEvent.type === "m.room.member") {
|
||||
const body = textForEvent(mostRecentEvent);
|
||||
if (mostRecentEvent.type === "m.room.member") {
|
||||
roomContentSpan.textContent = "";
|
||||
roomSenderSpan.textContent = membershipChangeText(mostRecentEvent);
|
||||
} else if (mostRecentEvent.type) {
|
||||
roomContentSpan.textContent = mostRecentEvent.type + " event";
|
||||
roomSenderSpan.textContent = body;
|
||||
} else {
|
||||
roomContentSpan.textContent = body;
|
||||
}
|
||||
} else {
|
||||
roomContentSpan.textContent = "";
|
||||
@ -499,6 +487,25 @@ const doSyncRequest = async (accessToken, pos, reqBody) => {
|
||||
return respBody;
|
||||
}
|
||||
|
||||
const textForEvent = (ev) => {
|
||||
let body = "";
|
||||
switch (ev.type) {
|
||||
case "m.room.message":
|
||||
body = ev.content.body;
|
||||
break;
|
||||
case "m.room.member":
|
||||
body = membershipChangeText(ev);
|
||||
break;
|
||||
case "m.reaction":
|
||||
body = "reacted with " + (ev.content["m.relates_to"] || {}).key;
|
||||
break;
|
||||
default:
|
||||
body = ev.type + " event";
|
||||
break;
|
||||
}
|
||||
return body;
|
||||
}
|
||||
|
||||
const membershipChangeText = (ev) => {
|
||||
const prevContent = (ev.unsigned || {}).prev_content || {};
|
||||
const prevMembership = prevContent.membership || "leave";
|
||||
|
Loading…
x
Reference in New Issue
Block a user