widgets: Prevent traceback for submessage event.

We can have this scenario:

    - somebody else creates a widget-ready message
    - message arrives in storage
    - (message is not yet in view, so no message.widget)
    - new submessage event arrives

We want to just ignore submessage events in that case.

(There's a more complete fix coming for this scenario, where
we at least update message.submessages for the eventuality
that we do render the message later.)
This commit is contained in:
Steve Howell
2018-05-22 22:39:24 +00:00
parent 998e1048e8
commit eb5763ee36

View File

@@ -67,9 +67,9 @@ exports.activate = function (in_opts) {
exports.handle_event = function (widget_event) {
var message = message_store.get(widget_event.message_id);
if (!message) {
if (!message || !message.widget) {
// It is common for submessage events to arrive on
// messages that we don't yet have in storage. We
// messages that we don't yet have in view. We
// just ignore them completely here.
return;
}