Skip to content

feat: add connection status, disconnect button, and recent tcp connections list#526

Merged
matthewCmatt merged 4 commits intomeshtastic:mainfrom
itslenny:dev/add-disconnect-and-recent-connections
Sep 18, 2025
Merged

feat: add connection status, disconnect button, and recent tcp connections list#526
matthewCmatt merged 4 commits intomeshtastic:mainfrom
itslenny:dev/add-disconnect-and-recent-connections

Conversation

@itslenny
Copy link
Copy Markdown
Contributor

@itslenny itslenny commented Sep 10, 2025

Background

I recently discovered this project, and am super excited to use (and contributing to) it extensively. The first issue I ran into is that it is a bit of a pain to switch between my nodes, and I kept forgetting which node I was connected to. So, this PR adds a connection status card, a disconnect button, and a list of recent connections. These features allows me to quickly switch between my nodes, and helps me not forget which one I'm connected to.

Changes

  • Add connection status - shows the current connection
  • Add disconnect button - allows connecting to another node without exiting the app
  • Add recent TCP connections list - allows quickly switching between recent nodes
  • Add current connection page tab to state - avoids needing to click TCP tab every time I want to switch between nodes
  • Add "connecting..." overlay
    • Fixes small visual glitch where the "Connecting..." button would briefly go back to "Connect" before the page changes
    • Fixes similar visual glitch of recent connections appearing in the list while connecting
    • Allows cancelling connection if it takes too long

Screenshots

When there are no recent connections (when user upgrades to this version) the UI appears unchanged
Screenshot 2025-09-10 at 2 05 15 PM

Once you connect you'll see a connection status card with a disconnect button
Screenshot 2025-09-11 at 10 51 11 AM

Disconnect button with sidebar collapsed
Screenshot 2025-09-11 at 10 51 18 AM

Connection status (serial connection)
Screenshot 2025-09-11 at 11 01 49 AM

Connection status (bluetooth)
Screenshot 2025-09-11 at 10 50 50 AM

Recent connections are shown in a list below the existing TCP connection form
Screenshot 2025-09-10 at 2 05 57 PM

New connecting screen with cancel button
Screenshot 2025-09-10 at 2 19 38 PM

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Sep 10, 2025

CLA assistant check
All committers have signed the CLA.

@matthewCmatt
Copy link
Copy Markdown
Collaborator

WOW, this is an awesome PR. This is something people have wanted for a while.

I'm looking forward to merging this once I do some testing. I've added a couple comments for things to discuss as well.

Could you try rebasing on the bluetooth branch? I think there will be some merge conflicts once that one is merged. Let me know if there's bad conflicts, happy to help out.

Comment thread src/components/Sidebar/ConnectionStatus.tsx Outdated
Comment thread src/components/Sidebar/Sidebar.tsx Outdated
@itslenny
Copy link
Copy Markdown
Contributor Author

itslenny commented Sep 11, 2025

@matthewCmatt thanks for merging the bluetooth changes. The only real conflict was that I removed setPrimaryDeviceConnectionKey in favor of setPrimaryDeviceConnection to include the connection type, and I had to add a bluetooth icon to the connection status card.

I updated the disconnect icon and moved the connection status card as you suggested. I think it looks a lot better. I updated the screenshots in the original PR

@matthewCmatt matthewCmatt merged commit 73baac7 into meshtastic:main Sep 18, 2025
1 check passed
@matthewCmatt
Copy link
Copy Markdown
Collaborator

closes #458

@matthewCmatt
Copy link
Copy Markdown
Collaborator

Tested manually on MacOS using bluetooth and serial connection.

Disconnection on bluetooth seems a little buggy, but that's probably something with meshtastic.rs.

Thanks @itslenny!

@itslenny itslenny deleted the dev/add-disconnect-and-recent-connections branch September 18, 2025 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants