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
13 files changed
tree: 5aa2694eeac1ab1589049ffa7a6cbc24906635ae
  1. .github/
  2. cws/
  3. docs/
  4. playbooks/
  5. roles/
  6. src/
  7. templates/
  8. tools/
  9. .babelrc
  10. .clang-format
  11. .editorconfig
  12. .eslintrc.json
  13. .gitignore
  14. .gitreview
  15. .zuul.yaml
  16. i18n-config.toml
  17. jest.config.js
  18. LICENSE
  19. Makefile
  20. OWNERS
  21. package-lock.json
  22. package.json
  23. README.md
  24. tagRelease.bash
  25. webpack.config.js
README.md

TW Power Tools

Available in the Chrome Web Store

An extension which brings several enhancements to the Google Forums and the Community Console.

For a list of features/enhancements, check out the feature list doc.

Information for contributors

This extension is being actively developed, and everyone is welcome to make feature requests, report issues and contribute code changes.

In order to make feature requests or report issues, please do so at the Monorail Issue Tracker:

To see a more exhaustive guide on how to contribute, and information on how to contribute code changes, please read the following doc:

Beta channel

Before releasing updates to the stable channel, the newest versions are uploaded to the beta channel so they can be tested by everyone who's interested. This is another way to contribute to the project, because beta testing can make us notice bugs before they reach the stable channel.

The beta channel for Chrome is available here.