turbo icon indicating copy to clipboard operation
turbo copied to clipboard

Turbo 2 UI: Can't copy and hard to scroll

Open pmm26 opened this issue 1 year ago • 20 comments

Verify canary release

  • [X] 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?

[email protected]

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 - 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

2 - 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.

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 avatar Jun 07 '24 10:06 pmm26

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 avatar Jun 07 '24 13:06 lveillard

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

lveillard avatar Jun 07 '24 13:06 lveillard

When you say "can't copy", are you meaning the same as https://github.com/vercel/turbo/issues/8306 or are you meaning "can't select at all"?

anthonyshew avatar Jun 07 '24 14:06 anthonyshew

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 avatar Jun 07 '24 15:06 pmm26

  • 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.

pmm26 avatar Jun 07 '24 15:06 pmm26

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 😅

lveillard avatar Jun 07 '24 18:06 lveillard

Same here! Cannot select any text.

imprakharshukla avatar Jun 08 '24 18:06 imprakharshukla

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

Crauzer avatar Jun 09 '24 15:06 Crauzer

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

jackiboy avatar Jun 11 '24 09:06 jackiboy

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

thhermansen avatar Jun 11 '24 11:06 thhermansen

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

iAverages avatar Jun 11 '24 12:06 iAverages

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)

leonard-henriquez avatar Jun 14 '24 13:06 leonard-henriquez

@leonard-henriquez This feature was the first to go through the official RFC process: https://github.com/vercel/turbo/discussions/7802

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

anthonyshew avatar Jun 14 '24 18:06 anthonyshew

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!

leonard-henriquez avatar Jun 17 '24 12:06 leonard-henriquez

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

mxn2020 avatar Jun 22 '24 17:06 mxn2020

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

chris-olszewski avatar Jun 25 '24 18:06 chris-olszewski

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 avatar Jun 26 '24 14:06 lveillard

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?

lveillard avatar Jun 26 '24 14:06 lveillard

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:

anthonyshew avatar Jun 28 '24 19:06 anthonyshew

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

https://github.com/jesseduffield/lazygit

samburgers avatar Jun 29 '24 22:06 samburgers

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.

anthonyshew avatar Jul 01 '24 16:07 anthonyshew

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.

lishaduck avatar Jul 03 '24 16:07 lishaduck

@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 avatar Jul 05 '24 00:07 anthonyshew

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

anthonyshew avatar Jul 30 '24 22:07 anthonyshew

how ca we disable this ?

duard avatar Aug 02 '24 12:08 duard

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.

shawnmclean avatar Aug 05 '24 02:08 shawnmclean

@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.

anthonyshew avatar Aug 05 '24 03:08 anthonyshew

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.

net avatar Oct 16 '24 16:10 net

resurrected in 2.4.2

gitchiefdeals avatar Apr 06 '25 22:04 gitchiefdeals

resurrected in 2.4.2

Yep, experiencing this issue again on 2.4.2 as well.

steezeburger avatar Apr 08 '25 02:04 steezeburger