[PR #15240] [MERGED] (A better) Refactoring of how connection restarting is handled #30531

Open
opened 2026-01-31 09:41:23 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/15240
Author: @zadjii-msft
Created: 4/26/2023
Status: Merged
Merged: 4/28/2023
Merged by: @DHowett

Base: mainHead: dev/migrie/f/more-sane-connection-restarting


📝 Commits (10+)

  • 977b9d0 Let controls swap their connection, rudimentary work for duplicating a connection
  • f5be21d this is a very sensible Pane refactoring
  • ac50f3d I think it all worked on the first try?
  • 8fd2c60 Merge remote-tracking branch 'origin/main' into dev/migrie/f/more-sane-connection-restarting
  • 35306ee from initial commentary with dustin
  • cf86693 Merge remote-tracking branch 'origin/main' into dev/migrie/f/more-sane-connection-restarting
  • 7f53dbb Enable restarting defterm connections
  • 733b742 Merge remote-tracking branch 'origin/main' into dev/migrie/f/more-sane-connection-restarting
  • 22ccd6b yea I'm cool with this
  • ad1f333 that's kinda obvious

📊 Changes

13 files changed (+160 additions, -31 deletions)

View changed files

📝 src/cascadia/TerminalApp/Pane.cpp (+11 -0)
📝 src/cascadia/TerminalApp/Pane.h (+3 -0)
📝 src/cascadia/TerminalApp/TerminalPage.cpp (+55 -2)
📝 src/cascadia/TerminalApp/TerminalPage.h (+2 -1)
📝 src/cascadia/TerminalConnection/ConnectionStateHolder.h (+0 -8)
📝 src/cascadia/TerminalConnection/ConptyConnection.cpp (+2 -8)
📝 src/cascadia/TerminalConnection/ConptyConnection.h (+1 -0)
📝 src/cascadia/TerminalControl/ControlCore.cpp (+60 -11)
📝 src/cascadia/TerminalControl/ControlCore.h (+5 -1)
📝 src/cascadia/TerminalControl/ControlCore.idl (+3 -0)
📝 src/cascadia/TerminalControl/TermControl.cpp (+10 -0)
📝 src/cascadia/TerminalControl/TermControl.h (+5 -0)
📝 src/cascadia/TerminalControl/TermControl.idl (+3 -0)

📄 Description

A different take on #14548.

We didn't love that a connection could transition back in the state diagram, from Closed -> Start. That felt wrong. To remedy this, we're going to allow the ControlCore to...

ASK the app to restart its connection. This is a much more sensible approach, than leaving the ConnectionInfo in the core and having the core do the restart itself. That's mental.

Cleanup from #14060

Closes #14327

Obsoletes #14548


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/15240 **Author:** [@zadjii-msft](https://github.com/zadjii-msft) **Created:** 4/26/2023 **Status:** ✅ Merged **Merged:** 4/28/2023 **Merged by:** [@DHowett](https://github.com/DHowett) **Base:** `main` ← **Head:** `dev/migrie/f/more-sane-connection-restarting` --- ### 📝 Commits (10+) - [`977b9d0`](https://github.com/microsoft/terminal/commit/977b9d01a1c17ee0a13717115af48d3bedc0bbac) Let controls swap their connection, rudimentary work for duplicating a connection - [`f5be21d`](https://github.com/microsoft/terminal/commit/f5be21dec503618ebe706c78deac29ebc4df16c7) this is a very sensible Pane refactoring - [`ac50f3d`](https://github.com/microsoft/terminal/commit/ac50f3ddfa44adf07a6bb15826fea925347e69cc) I think it all worked on the first try? - [`8fd2c60`](https://github.com/microsoft/terminal/commit/8fd2c60f2704283dc0fc64581b2e675c5e691dfb) Merge remote-tracking branch 'origin/main' into dev/migrie/f/more-sane-connection-restarting - [`35306ee`](https://github.com/microsoft/terminal/commit/35306ee1bebaf13ceb365e5ac279c07b135de01b) from initial commentary with dustin - [`cf86693`](https://github.com/microsoft/terminal/commit/cf866938f3ba195733adbfbce022d0f5bfbf0862) Merge remote-tracking branch 'origin/main' into dev/migrie/f/more-sane-connection-restarting - [`7f53dbb`](https://github.com/microsoft/terminal/commit/7f53dbb2c51607fea9f19d5e7031a2f7ac7f3c49) Enable restarting defterm connections - [`733b742`](https://github.com/microsoft/terminal/commit/733b7420177b48ed5c4faa19f4f1e00d55d7feb7) Merge remote-tracking branch 'origin/main' into dev/migrie/f/more-sane-connection-restarting - [`22ccd6b`](https://github.com/microsoft/terminal/commit/22ccd6bad4f192472b81a53399659a83eb7f4788) yea I'm cool with this - [`ad1f333`](https://github.com/microsoft/terminal/commit/ad1f333499de7491935cda73138e9e797b924b01) that's kinda obvious ### 📊 Changes **13 files changed** (+160 additions, -31 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalApp/Pane.cpp` (+11 -0) 📝 `src/cascadia/TerminalApp/Pane.h` (+3 -0) 📝 `src/cascadia/TerminalApp/TerminalPage.cpp` (+55 -2) 📝 `src/cascadia/TerminalApp/TerminalPage.h` (+2 -1) 📝 `src/cascadia/TerminalConnection/ConnectionStateHolder.h` (+0 -8) 📝 `src/cascadia/TerminalConnection/ConptyConnection.cpp` (+2 -8) 📝 `src/cascadia/TerminalConnection/ConptyConnection.h` (+1 -0) 📝 `src/cascadia/TerminalControl/ControlCore.cpp` (+60 -11) 📝 `src/cascadia/TerminalControl/ControlCore.h` (+5 -1) 📝 `src/cascadia/TerminalControl/ControlCore.idl` (+3 -0) 📝 `src/cascadia/TerminalControl/TermControl.cpp` (+10 -0) 📝 `src/cascadia/TerminalControl/TermControl.h` (+5 -0) 📝 `src/cascadia/TerminalControl/TermControl.idl` (+3 -0) </details> ### 📄 Description A different take on #14548. > We didn't love that a connection could transition back in the state diagram, from Closed -> Start. That felt wrong. To remedy this, we're going to allow the ControlCore to... ASK the app to restart its connection. This is a much more sensible approach, than leaving the ConnectionInfo in the core and having the core do the restart itself. That's mental. Cleanup from #14060 Closes #14327 Obsoletes #14548 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:41:23 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#30531