Skip to content

Conversation

@danditomaso
Copy link
Collaborator

@danditomaso danditomaso commented Oct 29, 2025

Description

This PR introduces the Connections page to the web client. This will replace the New Connection dialog that was previously used. Some benefits of this page is it stores connections in the deviceStore and persists the connection details to indexDB. Users can add HTTP, Bluetooth or Serial connections and HTTP connections are will also have a reachability test to show if nodes are reachable.

Related Issues

Fixes #589
Fixes #701
Fixes #241

Changes Made

  • Add connections screen
  • Add deviceStore methods to add, update, delete saved connections
  • Enable device store persistence
  • Add all translation keys to connections.json file.

Testing Done

  • Throughly tested locally during development
  • Using this PR to test HTTP support (force HTTPS when site is also HTTPS

Screenshots (if applicable)

image image image

Checklist

  • Code follows project style guidelines
  • [] Documentation has been updated or added
  • Tests have been added or updated
  • All i18n translation labels have been added (read
    CONTRIBUTING_I18N_DEVELOPER_GUIDE.md for more details)

Copilot AI review requested due to automatic review settings October 29, 2025 18:04
@vercel
Copy link

vercel bot commented Oct 29, 2025

@danditomaso is attempting to deploy a commit to the Meshtastic Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the Dashboard page into a Connections page, introducing a comprehensive connection management system. The changes support saving, managing, and switching between multiple device connections (HTTP, Bluetooth, Serial) with persistent storage.

Key changes:

  • Replaced Dashboard with a new Connections page that manages device connections
  • Added connection state management with status tracking and persistence
  • Implemented LRU (Least Recently Used) list hook for recent HTTP connections
  • Added UI components for connection management (AlertDialog, Card, Badge)

Reviewed Changes

Copilot reviewed 64 out of 66 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
packages/web/src/pages/Connections/index.tsx New Connections page with card-based UI for managing connections
packages/web/src/pages/Connections/useConnections.ts Core connection management logic and lifecycle hooks
packages/web/src/pages/Connections/utils.ts Helper functions for connection creation and status checks
packages/web/src/core/stores/deviceStore/index.ts Added savedConnections state and CRUD operations
packages/web/src/core/stores/deviceStore/types.ts New Connection and ConnectionStatus type definitions
packages/web/src/core/hooks/useLRUList.ts Reusable LRU list hook with localStorage persistence
packages/web/src/components/UI/AlertDialog.tsx New AlertDialog component using Radix UI primitives
packages/web/src/components/UI/Card.tsx New Card component for connection cards
packages/web/src/components/UI/Badge.tsx New Badge component for status indicators
packages/web/src/components/Dialog/AddConnectionDialog/* Dialog for adding new connections with validation
packages/web/src/routes.tsx Updated routes to use Connections instead of Dashboard
packages/web/public/i18n/locales/*/connections.json Renamed dashboard namespace to connections
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@danditomaso danditomaso changed the title feat(connections): Add connection screen feat(connections): Add connections page (replaces new device dialog) Oct 29, 2025
@vercel
Copy link

vercel bot commented Oct 29, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
web-test Ready Ready Preview Comment Nov 4, 2025 1:12am

danditomaso and others added 8 commits November 1, 2025 11:08
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
The Config_DisplayConfig_GpsCoordinateFormat export doesn't exist in the protobufs package. The correct export is Config_DisplayConfig_DeprecatedGpsCoordinateFormat, which matches what's used in the validation schema.

Added TODO comment explaining that this field is deprecated since protobufs 2.7.4 and should be migrated to DeviceUIConfig.gps_format when DeviceUI settings are implemented.
- Split long enum reference across multiple lines to improve code readability
- Maintains consistent code formatting standards without changing functionality
* fix(core): ensure core package works in browser

* style(core): revert new line removal
* feat: scaffold UI library

* Update packages/ui/src/components/theme-provider.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add lock file

* lint/formatting fixes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@CLAassistant
Copy link

CLAassistant commented Nov 3, 2025

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
4 out of 5 committers have signed the CLA.

✅ danditomaso
✅ benallfree
✅ Azarattum
✅ dzienisz
❌ github-actions[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
4 out of 5 committers have signed the CLA.

✅ danditomaso
✅ dzienisz
✅ benallfree
✅ Azarattum
❌ github-actions[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

@danditomaso danditomaso merged commit 1af1295 into meshtastic:main Nov 4, 2025
2 of 4 checks passed
@danditomaso danditomaso deleted the feat(conn)-save-user-connections branch November 4, 2025 01: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

5 participants