ui: Update target selection box correctly

The old logic to update the target selection box was flawed in two ways:
(1) After connecting a new Android device, we were first queuing an
    action to update the state's available device list and then
    immediately attempting to look up the new device in the old state's
    device list (where it didn't exist yet). Fix by selecting the new
    device directly without going through onTargetChange().
(2) A mithril bug prevented correct simultaneous update of the select's
    options and selectedIndex. Work around this by updating the
    selectedIndex manually in mithril's onupdate() lifecycle callback.

Also fix PostMessageHandler to ignore a common type of error that
happens often during local dev.

Change-Id: Iea043e209c247dee26543b211ccee544458ba793
3 files changed
tree: 402b5204f751075acd2d829f3fdc5faf9499c277
  1. bazel/
  2. build_overrides/
  3. buildtools/
  4. debian/
  5. docs/
  6. gn/
  7. include/
  8. infra/
  9. protos/
  10. src/
  11. test/
  12. tools/
  13. ui/
  14. .clang-format
  15. .gitignore
  16. .gn
  17. .style.yapf
  18. Android.bp
  19. Android.bp.extras
  20. BUILD
  21. BUILD.extras
  22. BUILD.gn
  23. codereview.settings
  24. heapprofd.rc
  25. LICENSE
  26. MODULE_LICENSE_APACHE2
  27. NOTICE
  28. OWNERS
  29. perfetto.rc
  30. PRESUBMIT.py
  31. README.chromium
  32. README.md
  33. TEST_MAPPING
  34. WORKSPACE
README.md

Perfetto - Performance instrumentation and tracing

Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.

See www.perfetto.dev for docs.

Bugs

  • For bugs affecting Android or the tracing internals use the internal bug tracker (go/perfetto-bugs).
  • For bugs affecting Chrome use http://crbug.com, Component:Speed>Tracing label:Perfetto.

Community

You can reach us on our Discord channel. If you prefer using IRC we have an experimental Discord <> IRC bridge synced with #perfetto-dev on Freenode.