Correctly identify sticker picker widgets

Widgets added to account data have the `type` of "m.widget", meaning we have to look at the `content.type` which will tell us what it is. 

This also fixes a bug where all user widgets become sticker picker widgets under the right conditions.

Signed-off-by: Travis Ralston <travpc@gmail.com>
This commit is contained in:
Travis Ralston 2018-05-13 16:41:19 -06:00
parent f8fd90c559
commit 210fcf0d52

View file

@ -58,8 +58,7 @@ function getUserWidgetsArray() {
*/ */
function getStickerpickerWidgets() { function getStickerpickerWidgets() {
const widgets = getUserWidgetsArray(); const widgets = getUserWidgetsArray();
const stickerpickerWidgets = widgets.filter((widget) => widget.type='m.stickerpicker'); return widgets.filter((widget) => widget.content && widget.content.type === "m.stickerpicker");
return stickerpickerWidgets;
} }
/** /**
@ -73,7 +72,7 @@ function removeStickerpickerWidgets() {
} }
const userWidgets = client.getAccountData('m.widgets').getContent() || {}; const userWidgets = client.getAccountData('m.widgets').getContent() || {};
Object.entries(userWidgets).forEach(([key, widget]) => { Object.entries(userWidgets).forEach(([key, widget]) => {
if (widget.type === 'm.stickerpicker') { if (widget.content && widget.content.type === 'm.stickerpicker') {
delete userWidgets[key]; delete userWidgets[key];
} }
}); });