Description
Extension Version
v2.27.2023062109 (Preview)
Problem Statement
For our MVP, we descoped the plan/apply logs to essentially just be a local file download of the raw logs; we did not have time to invest in a fancier display.
Notes from @jpogran on the issue and why we descoped for now:
TFC supports two different views of the plan/apply 'logs', which aren't really logs per se. The 'log' is really a listing of resources and what is planned to changed or actually changed. At some point TFC improved it's display of these logs from 'console UI' to 'structured'. Console is just text that looks like it was copy pasted from a terminal, structured is JSON lines that can be made pretty in the UI. We have to support getting either response, as it all depends on whether a user set that setting on their workspace, so turning that into a Treeview or other pretty visualization would be non-trivial.
An alternate approach I tried is to retrieve the plan JSON directly from TFC. This is the JSON representation of the plan itself, and is the thing closest to getting us what appears in the website. However the amount and length of the information does not compose well into a treeview no matter where it sits (either in sidebar or in a panel). There is simply too much there to fit into current UI constraints. It would be better to invest in a webView or custom editor, which is not possible in the timeframe we have.
Expected User Experience
As a TFC user, I expect the plan/apply logs to look more integrated with the rest of the extension, and to be easier to parse visually if I'm doing a run that impacts hundreds of resources.
Proposal
The starting point is to investigate James' suggestion to invest in a web view or custom editor, but we're open to other suggestions.
References
Help Wanted
- I'm interested in contributing a fix myself
Community Note
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
- If you are interested in working on this issue or have submitted a pull request, please leave a comment