Fix creatorUserId is required error when opening sticker picker (#10423)

* Use sender if sticker picker widget does not have creatorUserId

* Add creatorUserId when creating sticker picker widgets

* Add e2e test for stickerpicker widget missing creatorUserId

* Fix stickerpicker widget event data in e2e tests

* Fix userId in stickerpicker e2e tests

* Fix linter errors
This commit is contained in:
Justin Carlson 2023-03-23 13:25:16 -04:00 committed by GitHub
parent 372c5e1fbf
commit 332d1268a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 11 deletions

View file

@ -273,7 +273,7 @@ export default class Stickerpicker extends React.PureComponent<IProps, IState> {
roomId: stickerpickerWidget.content.roomId,
eventId: stickerpickerWidget.content.eventId,
avatar_url: stickerpickerWidget.content.avatar_url,
creatorUserId: stickerpickerWidget.content.creatorUserId,
creatorUserId: stickerpickerWidget.content.creatorUserId || stickerpickerWidget.sender,
};
stickersContent = (

View file

@ -236,13 +236,6 @@ export default class WidgetUtils {
widgetName: string,
widgetData: IWidgetData,
): Promise<void> {
const content = {
type: widgetType.preferred,
url: widgetUrl,
name: widgetName,
data: widgetData,
};
const client = MatrixClientPeg.get();
// Get the current widgets and clone them before we modify them, otherwise
// we'll modify the content of the old event.
@ -257,11 +250,21 @@ export default class WidgetUtils {
const addingWidget = Boolean(widgetUrl);
const userId = client.getSafeUserId();
const content = {
type: widgetType.preferred,
url: widgetUrl,
name: widgetName,
data: widgetData,
creatorUserId: userId,
};
// Add new widget / update
if (addingWidget) {
userWidgets[widgetId] = {
content: content,
sender: client.getUserId()!,
sender: userId,
state_key: widgetId,
type: "m.widget",
id: widgetId,