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

Turbo 2 UI: Can't copy terminal outputs #8372

Closed
1 task done
pmm26 opened this issue Jun 7, 2024 · 28 comments
Closed
1 task done

Turbo 2 UI: Can't copy terminal outputs #8372

pmm26 opened this issue Jun 7, 2024 · 28 comments
Labels
kind: bug Something isn't working owned-by: turborepo

Comments

@pmm26
Copy link

pmm26 commented Jun 7, 2024

Verify canary release

  • I verified that the issue exists in the latest Turborepo canary release.

Link to code that reproduces this issue

turbo dev

What package manager are you using / does the bug impact?

pnpm

What operating system are you using?

Mac

Which canary version will you have in your reproduction?

turbo-darwin-arm64@2.0.3-canary.0

Describe the Bug

After installing the new Turbo Repo V2 there was a moment of exiting in seeying the new UI. Followed shortly by a bit disapointment and reverting back to the old UI.

I have 2 things that would be great to have improved.

1 - Can't copy/select anything.
Have you ever copied some long to look on google for a possible fix.
Well I can't copy anything apart from clicking on links that VS Code recognizes.

2 - Scrolling is hard and slow.
Have you ever console.log a whole api response?
Well with this new UI forget it you will never reach the top.

IF you are not at the bottom. The application will continue to print things off screen and if you want to see the latest things.
It's going to take you a good 5 to 20 seconds to get to what's being run now.

Suggestions:

  • Add something to be able to go straight to Latest.
  • Scroll bar (not sure if it's possible) or some keybind to scroll up faster

Expected Behavior

Be able to scroll quickly and be able to copy text from the terminal.

To Reproduce

turbo dev

Additional context

I tested it on canary.

I'm running on a MAC M2 Pro V14.2.1
Terminal running in VS Code.
Running on ZSH: zsh 5.9 (arm-apple-darwin22.6.0)

Running Oh-my-zsh:
ZSH_THEME="robbyrussell"

@pmm26 pmm26 added kind: bug Something isn't working needs: triage New issues get this label. Remove it after triage owned-by: turborepo labels Jun 7, 2024
@lveillard
Copy link

Up! Its a great V0 but not the best UX yet

My struggles are the same, so duplicating some ideas I support and adding new ones:

  • Scrollbar or go to latest. Also enhance scroll performance somehow.
  • Being able to copy, at least when interacting after entering with Enter
  • Enable terminal ctrl F search
  • Resize on window resize

@lveillard
Copy link

Also had some issues debugging an error that was happening in a different task.
Used to having all the errors together I totally missed it for hours!

Having some kind of UX that points to tasks that have thrown an error, like coloring the name in red, or having some kind of notification would be great.

Ex: Youre running a nextjs app, and a server, the server throws an error and is not well catched in your nextjs app so you dont see the error as it is in the context of the server task

@anthonyshew
Copy link
Contributor

When you say "can't copy", are you meaning the same as #8306 or are you meaning "can't select at all"?

@pmm26
Copy link
Author

pmm26 commented Jun 7, 2024

When you say "can't copy", are you meaning the same as #8306 or are you meaning "can't select at all"?

I can't select at all.
Not even to get dirty output.

@pmm26
Copy link
Author

pmm26 commented Jun 7, 2024

  • Scrollbar or go to latest. Also enhance scroll performance somehow.

A scrollbar can solver the problem with going up or down.

If there is no scrollbar a "go to latest" solves the problem of going down. In my opinon it would also need something extra to go up faster.

@lveillard
Copy link

lveillard commented Jun 7, 2024

When you say "can't copy", are you meaning the same as #8306 or are you meaning "can't select at all"?

I can't select at all. Not even to get dirty output.

Same for me. Can't even select the text. In vscode and terminal is powershell 😅

@imprakharshukla

This comment was marked as spam.

@Crauzer
Copy link

Crauzer commented Jun 9, 2024

Yep, can't select anything at all from my VS Code terminal. This completely destroys UX because you cannot copy errors etc...

@jackiboy
Copy link

I reverted back to 1.0 because of the scroll issue. It does not behave like a normal terminal window when scrolling.

@thhermansen
Copy link

Setting env var TURBO_UI=false may help too until the new UI gets improved.

@iAverages
Copy link

There is a config option in the turbo.json file to toggle back to the old output: https://turbo.build/repo/docs/reference/configuration#ui

@leonard-henriquez
Copy link

Although this new UI is a great idea, it seems half baked.
Currently, if we can't scroll, select and copy data from the output, it's a productivity killer.
Going back to the old UI but can't wait to have a fully working version !
(it's awesome that turbo is open source but it's a real bummer that it doesn't rely more on the community to get feedback before launching and releasing new features)

@anthonyshew
Copy link
Contributor

@leonard-henriquez This feature was the first to go through the official RFC process: #7802

Bugs are bugs and we are working hard at getting fixes.

@leonard-henriquez
Copy link

I truly appreciate all the open-source work that has been put into Turbo.
It’s great that you implemented an RFC process! 💯
But wasn’t scrolling literally the very first feedback?
I just think it would have been worth waiting for a more stable version before officially releasing v2 and encouraging people to move to the new version.
Anyways, thank you very much for working on it!

@mxn2020
Copy link

mxn2020 commented Jun 22, 2024

The console ui is not very useful. It uses a lot of ressources, hangs, does not respond,...
When you launch multiple tasks the resource usage is out of control.

Screenshot 2024-06-22 at 19 15 57

@chris-olszewski
Copy link
Member

@mxn2020 Can you open an issue with a reproduction. This seems like a very different issue from the original one reported

@lveillard
Copy link

The console ui is not very useful. It uses a lot of resources, hangs, does not respond,... When you launch multiple tasks the resource usage is out of control.

Same for me since i've updated turbo to v2 it consumes way more resources and my poor laptop gets too hot. Please add me in the issue you create.

Meanwhile, coming back to the main thread, is there an ETA for being able to copy the console contents? Is in the roadmap? This is the main issue we face with this new version and makes debugging really hard in several scenarios. And indeed the scroll speed is the second most painful regression :S

@lveillard
Copy link

lveillard commented Jun 26, 2024

Btw I know its late for this kind of feedback, but, why not just running N terminal sessions instead of a single one with this complicated feature? Just opening N terminals in the right order would do. Since I've updated to turbo 2 thats what Im actually doing while these features are not there. As I cant debug without the copy paste behaviour, I just go one by one to the specific folders and run the dev commands. This way I have the 3-4 tasks running.

image

I feel like building this full single multi-terminal from scratch could be a bit overkill isnt?

@anthonyshew
Copy link
Contributor

Hey, folks, updating here:

We've disabled the terminal UI in 2.0.6 as the default until we can sort out this issue specifically. We're estimating around a week to get it fixed, and it's clear this isn't the experience we were looking for.

We're still focused on getting the fix for this and appreciate the kind feedback on this. We'll be back.

As a reminder, options to toggle the TUI on and off at your convenience:

@samburgers
Copy link

for the scrolling, this terminal ui is pretty decent for scrollbar handling inspiration

https://github.com/jesseduffield/lazygit

@anthonyshew anthonyshew changed the title Turbo 2 UI: Can't copy and hard to scroll Turbo 2 UI: Can't copy terminal outputs Jul 1, 2024
@anthonyshew anthonyshew removed the needs: triage New issues get this label. Remove it after triage label Jul 1, 2024
@anthonyshew
Copy link
Contributor

anthonyshew commented Jul 1, 2024

In the interest of ensuring we're keeping issues focused on one thing at a time, I've created an Issue to focus on scrolling here. Please leave feedback on scrolling there. 🙏

Those of us on the core team will be focusing on copying terminal outputs on this issue. We appreciate those of you contributing feedback on this Issue and appreciate you keeping up with our housekeeping.

@lishaduck
Copy link

This isn't entirely the same, but it's the same root cause—the border, which also breaks links. When in, i.e., vscode, you can ⌘-click links from eslint, etc, but this wraps them and breaks longer links.

@anthonyshew
Copy link
Contributor

@lishaduck You're correct that that wouldn't be in scope for this issue. If you'd like to report it in a new one, that would be great.

@anthonyshew
Copy link
Contributor

Fixed in #8713 and released in 2.0.10! We appreciate everyone's patience on this as we got this figured out.

@duard
Copy link

duard commented Aug 2, 2024

how ca we disable this ?

@shawnmclean
Copy link

Is there a way to quickly scroll to the end? I tried key strokes like page down and end, or arrow keys, seems I'm only able to use mouse scroll. This is slow, especially if the logs has gone many lines down.

@anthonyshew
Copy link
Contributor

@duard, you can control your UI preference using the ui config or the --ui flag (sorry for lack of link, looks like my redeploy of the docs didn't go through on Friday). 😄

@shawnmclean, we're tracking improving scrolling here if you'd like better visibility.

@net
Copy link

net commented Oct 16, 2024

I agree with @lveillard, reimplementing tmux is the wrong direction. The DX will always be subpar compared to what the user is used to from their actual terminal.

Instead the user should just open N terminal sessions so they can get the full features of whatever environment they run their terminal sessions in (be it VSCode, tmux, Zellij, Zed, just their native terminal app, etc.) and the Turborepo daemon should deduplicate task runs across the multiple sessions behind the scenes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug Something isn't working owned-by: turborepo
Projects
None yet
Development

No branches or pull requests