Comments (5)
Personally, I prefer option 3, but if I was worried about moving parts and so forth I'd be strongly considering option 1. I have some sentimental attachment to this project but it's mainly an excuse for me to hack on something in Go where performance is a factor more than anything else.
If you went with option 2 or 3, you could integrate that directly in to the agent to reduce the load on your own servers, and have the agent send both ANSI and the line changes. Also, less moving parts & service management. That said .. we (Marketplacer) very rarely ever upgrade our agents (because lazy/risk averse) so backward compat may be an issue for some of your customers.
from terminal-to-html.
I’d been thinking we’d go for option 1, but I think I’m having the engineer’s fallacy of seeing an interesting problem I want to take on when there’s already a viable solution in place. 😅
I figure as much as it’d be nice to defer this responsibility to the Agent, it might well make more sense to defer it to the end user’s computer if anything. I think the possibility of pushing the raw ANSI over a websocket came up at one point.
Now the interesting thing is that these options seem to flout the existing line limits we have in place. That’s potentially okay if we’re buffering things correctly and ensuring the lines are accepted correctly, but it’d be worth double checking our math when we calculate which lines are valid.
from terminal-to-html.
but I think I’m having the engineer’s fallacy of seeing an interesting problem I want to take on
I have exactly this problem ;)
from terminal-to-html.
Hello!
I'm looking for something to hack on this RailsCamp, and this seems appropriate as it's Go and Javascript.
Did you end up reaching a decision?
from terminal-to-html.
At RailsCamp I worked on a proof of concept for streaming support: https://github.com/buildkite/terminal/compare/mp/Streaming?expand=1
Demo by building it then running cat fixtures/npm.sh.raw | ./terminal-to-html -rateLimit 100
and opening http://localhost:6060
Supports multiple clients (had it up to 25 at RC during the demo). If you stop the server and re-run it with new input it'll refresh also.
from terminal-to-html.
Related Issues (20)
- APC with standard ST terminator would break parser
- Published docker image HOT 3
- pkg.go.dev does not recognize your LICENSE HOT 1
- Support Buildkite log groups and expand/collapsing
- DECSC / DECRC should save more than cursor position
- Request to take ownership of the terminal Ruby gem HOT 6
- Prevent wrapping long lines on small screens HOT 4
- Support for terminal URLs HOT 2
- Incorrect output for `playwright` output - lines being incorrectly removed
- (feature request) Automatically add links for URLs HOT 1
- terminal-to-html imposes odd formatting on Terraform plans HOT 3
- Garbled output from Gradle HOT 8
- [Feature request] Add an option to customize title of output HTML HOT 1
- Dockerfile out of date?
- Add support to install with homebrew HOT 1
- Flaky test: TestRendererAgainstCases renders APC escapes as processing instructions
- Add the remaining 8-bit colors to the css
- Add checksum for an archive while downloading
- Ignore 2J & 3J "scrollback clear" codes HOT 1
- Bug with rendering characters in Gradle progress output HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terminal-to-html.