[roll] Roll fuchsia [ffx] Show context for FfxContext wrappers.

This change updates `user_message` and `bug_context` to properly attach
context without duplicating messages, and allowing for users of `ffx` to
see error contexts more clearly.

Before this change, if a user were to have a default target that was set
incorrectly (e.g. there is no target named "foobar"):

Before this change we'd see this kind of error:

```
$ ffx target reboot -b
Failed to create target proxy
```

This doesn't tell us much of anything.

After this change we see:

```
$ ffx target reboot -b
Failed to create target proxy: Timeout attempting to reach target "foobar"
```

Which would at least tell us we're attempting to locate a target named
"foobar"

Some changes had to be made to existing code that wraps errors in order
to prevent duplication, namely that one needs to unwrap the source
`anyhow::Error` and rewrap it to prevent duplicating the error
messaging/chain.

Original-Fixed: 410051423

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1254328
Original-Revision: 6874883f5b2252bb5a6d259c3a0f5c6fbdcf901a
GitOrigin-RevId: d5b8aa63d604cff7e46a207fb6c53326c087b22a
Change-Id: I537a693e7715e8473cc597862acc5a7210cc45c2
1 file changed
tree: b74bc64cf8d44de7bc0ca3805b1543f8d8a99f2a
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.