Flatten threads: fix for application/json+protobuf responses
When a new message is created in a thread, the thread itself is
reloaded, but via an application/json+protobuf request (array-like data)
instead of a regular text/plain request (object-like data). Since the
code didn't work well for these types of requests, the thread didn't
fully load.
This CL fixes this issue by correctly handling application/json+protobuf
responses in the response modifiers.
An issue with the read-only interceptors has also been fixed, and tests
have been added to ensure that the array-like to object-like and
viceversa transformation functions work properly.
Bug: twpowertools:153
Change-Id: If6cd5adc67d676bf36986f325e791124fa71da51
diff --git a/src/models/Message.js b/src/models/Message.js
index f5e5b37..baebd14 100644
--- a/src/models/Message.js
+++ b/src/models/Message.js
@@ -63,7 +63,7 @@
}
static mapToMessageOrGapModels(rawArray) {
- return rawArray.map(mog => {
+ return rawArray.filter(mog => mog !== undefined).map(mog => {
if (mog[1]) return new MessageModel(mog[1]);
if (mog[2]) return new GapModel(mog[2]);
});