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
Terminal support for remote development #11108
Conversation
Did you run the collab server too? It requires some new requests/messages
to work. I’ll add these requirements to the PR later today.
Kirill Bulatov ***@***.***>于2024年4月28日 周日5:30写道:
… Looks amazing if it actually works, can't wait to test it!
Right now, though, I lack the ability to open the terminal still (have
spawned the code both remotely and locally):
image.png (view on web)
<https://github.com/zed-industries/zed/assets/2690773/59fee223-d848-4e17-b072-d96f50199aca>
I see something related is going on though:
!!!is remote
!!!is remote
!!break
and there is a bunch of non-awaited futures that might be the culprit?
warning: unused implementer of `futures::Future` that must be used
--> crates/terminal_view/src/terminal_panel.rs:375:13
|
375 | / self.replace_terminal(
376 | | working_directory,
377 | | spawn_task,
378 | | existing_item_index,
379 | | existing_terminal,
380 | | cx,
381 | | );
| |_____________^
|
= note: futures do nothing unless you `.await` or poll them
= note: `#[warn(unused_must_use)]` on by default
warning: unused implementer of `futures::Future` that must be used
--> crates/terminal_view/src/terminal_panel.rs:396:33
|
396 | / ... terminal_panel.replace_terminal(
397 | | ... working_directory,
398 | | ... spawn_task,
399 | | ... existing_item_index,
400 | | ... existing_terminal,
401 | | ... cx,
402 | | ... );
| |_______________________^
|
= note: futures do nothing unless you `.await` or poll them
If there are some extra steps needed to test it, would be nice to mention
it in the PR/docs/elsewhere.
Also:
permission control
could be omitted entirely at this point I think: shared projects belong to
the same user, and other multiplayer projects may turn the clients'
terminals into readonly mode for now.
Am I missing something?
—
Reply to this email directly, view it on GitHub
<#11108 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCEFLV7DLAUPCSFEDGSRLTY7QKGBAVCNFSM6AAAAABG4LFAR6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBRGE4DONRZGU>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Oh indeed it opens on the client side this way, thank you for pointing it out — I've got confused somehow. A few immediate notes that you might be aware about, but feels important to emphasize early:
|
Hey @Yesterday17 , I was thinking to put more traction into this and get the both readonly and writeful remote terminals by the end of this month. |
Sorry for the late reply... I was on holiday during the past week, and would be busy in the remaining days of this month. So I may not have enough time to participate in the pairing. But feel free to use any code submitted in this PR! Also, for the |
No worries and thanks for replying, hope you've had a nice holiday! I think at this point, I will close this PR due to its conflicts and the desire to rewrite it slightly: so far, it seems that running an But we would still need something like this for, ideally, collaborative terminal, or at least a terminal "read-only view" (seems the most feasible and useful application of the current code now).
I've started applying parts of this PR to my branch, fixing the small issues (managed to get rid of one channel pair too!): main...kb/remote-terminal My plan was to slowly get this branch working for read-only follow-up mode and try to note and solve as many terminal-related issues as I can — but this is not going to happen this month as I've planned, esp. due to me allocating time on other things. |
This PR introduces a MVP version of remote terminal support for validation purposes. I may do some code clean up and mark it ready for review in the following days.
There are many missing points, such as permission control and terminal syncing
Release Notes:
Screenshot
Just looks like local terminal, but in dev server.