Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

structured notification system is getting unwieldy #1875

Open
rbtcollins opened this issue May 25, 2019 · 2 comments
Open

structured notification system is getting unwieldy #1875

rbtcollins opened this issue May 25, 2019 · 2 comments

Comments

@rbtcollins
Copy link
Contributor

Describe the problem you are trying to solve
We're having to generate user feedback from many narrow places in the code - such as spin-loops around rename() syscalls to deal with virus scanners - and the notification system as it currently all hooks together is quite unwieldy.

Describe the solution you'd like
I haven't thought this far ahead yet. I will. Perhaps a 'context' object of some sort that we make systematically available. I'd like to avoid creating overly strong coupling in the system. And I'd like it to be designed work with an eventual highly concurrent build where multiple tars are downloading and unpacking all at once with 4 or 5 lines of progress bar showing at once.

Notes

@kinnison
Copy link
Contributor

We thought about migrating most of the notifications to a standard logging framework, but then there is the idea to move to something external to replace our progress bars, so perhaps a context which can be passed around which is a conduit to a UX thread dealing with all of that might make sense.

@rbtcollins
Copy link
Contributor Author

Another design requirement: structured programmatic output for use from visual code and other tools.
I'm thinking of bolting a structured encoding - e.g.. protobuf- onto stdout; ok maybe protobuf is a bad choice and YAML or something less demanding of clean 8-bit channels would be better, though, waggles hand, I've been around that before with subunit and honestly biting the bullet and making it truely 8-bit clean wasn't that hard and chased bugs out of the system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants