feat(connections): Add connections page (replaces new device dialog) (#919)
* feat(conn): add connection screen and logic * fixes from code review * force https * code review fixes * add http for self testing * enable deviceStore persistance * added translations * disabled feature flag * i18n updates * chore: add new folders to biome config (#910) * chore(i18n): New Crowdin Translations by GitHub Action (#908) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * fix: use correct deprecated GPS coordinate format enum (#917) 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. * style: fix line wrapping for GPS coordinate format enum (#918) - 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 (#923) * fix(core): ensure core package works in browser * style(core): revert new line removal * fix: add @serialport/bindings-cpp to onlyBuiltDependencies (#914) * feat(ui): Add UI library (#900) * 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> * formatting/linting fixes * fixed some paring logic * fixed connection issue with serial --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: Kamil Dzieniszewski <kamil.dzieniszewski@gmail.com> Co-authored-by: Azarattum <43073346+Azarattum@users.noreply.github.com> Co-authored-by: Ben Allfree <ben@benallfree.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
co-authored by
Copilot
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Crowdin Bot
Kamil Dzieniszewski
Azarattum
Ben Allfree
parent
a1a646983e
commit
1af1295b8f
@@ -1,14 +1,18 @@
|
||||
{
|
||||
"button": {
|
||||
"apply": "Apply",
|
||||
"addConnection": "Add Connection",
|
||||
"saveConnection": "Save connection",
|
||||
"backupKey": "Backup Key",
|
||||
"cancel": "Cancel",
|
||||
"connect": "Connect",
|
||||
"clearMessages": "Clear Messages",
|
||||
"close": "Close",
|
||||
"confirm": "Confirm",
|
||||
"delete": "Delete",
|
||||
"dismiss": "Dismiss",
|
||||
"download": "Download",
|
||||
"disconnect": "Disconnect",
|
||||
"export": "Export",
|
||||
"generate": "Generate",
|
||||
"regenerate": "Regenerate",
|
||||
@@ -21,7 +25,10 @@
|
||||
"requestNewKeys": "Request New Keys",
|
||||
"requestPosition": "Request Position",
|
||||
"reset": "Reset",
|
||||
"retry": "Retry",
|
||||
"save": "Save",
|
||||
"setDefault": "Set as default",
|
||||
"unsetDefault": "Unset default",
|
||||
"scanQr": "Scan QR Code",
|
||||
"traceRoute": "Trace Route",
|
||||
"submit": "Submit"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"page": {
|
||||
"title": "Connect to a Meshtastic device",
|
||||
"description": "Add a device connection via HTTP, Bluetooth, or Serial. Your saved connections will be saved in your browser."
|
||||
},
|
||||
"connectionType_ble": "BLE",
|
||||
"connectionType_serial": "Serial",
|
||||
"connectionType_network": "Network",
|
||||
"deleteConnection": "Delete connection",
|
||||
"areYouSure": "This will remove {{name}}. You canot undo this action.",
|
||||
"moreActions": "More actions",
|
||||
"noConnections": {
|
||||
"title": "No connections yet.",
|
||||
"description": "Create your first connection. It will connect immediately and be saved for later."
|
||||
},
|
||||
"lastConnectedAt": "Last connected: {{date}}",
|
||||
"neverConnected": "Never connected",
|
||||
"toasts": {
|
||||
"connected": "Connected",
|
||||
"nowConnected": "{{name}} is now connected",
|
||||
"nowDisconnected": "{{name}} are now disconnecte",
|
||||
"disconnected": "Disconnected",
|
||||
"failed": "Failed to connect",
|
||||
"checkConnetion": "Check your device or settings and try again",
|
||||
"defaultSet": "Default set",
|
||||
"defaultConnection": "Default connection is now {{nameisconnected}}",
|
||||
"deleted": "Deleted",
|
||||
"deletedByName": "{{name}} was removed",
|
||||
"pickConnectionAgain": "Could not connect. You may need to reselect the device/port.",
|
||||
"added": "Connection added",
|
||||
"savedByName": "{{name}} saved.",
|
||||
"savedCantConnect": "The connection was saved but could not connect."
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"dashboard": {
|
||||
"title": "Connected Devices",
|
||||
"description": "Manage your connected Meshtastic devices.",
|
||||
"connectionType_ble": "BLE",
|
||||
"connectionType_serial": "Serial",
|
||||
"connectionType_network": "Network",
|
||||
"noDevicesTitle": "No devices connected",
|
||||
"noDevicesDescription": "Connect a new device to get started.",
|
||||
"button_newConnection": "New Connection"
|
||||
}
|
||||
}
|
||||
@@ -3,18 +3,6 @@
|
||||
"description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?",
|
||||
"title": "Clear All Messages"
|
||||
},
|
||||
"deviceName": {
|
||||
"description": "The Device will restart once the config is saved.",
|
||||
"longName": "Long Name",
|
||||
"shortName": "Short Name",
|
||||
"title": "Change Device Name",
|
||||
"validation": {
|
||||
"longNameMax": "Long name must not be more than 40 characters",
|
||||
"shortNameMax": "Short name must not be more than 4 characters",
|
||||
"longNameMin": "Long name must have at least 1 character",
|
||||
"shortNameMin": "Short name must have at least 1 character"
|
||||
}
|
||||
},
|
||||
"import": {
|
||||
"description": "Import a Channel Set from a Meshtastic URL. <br />Valid Meshtasic URLs start with \"<italic>https://meshtastic.org/e/...</italic>\"",
|
||||
"error": {
|
||||
@@ -41,49 +29,77 @@
|
||||
"description": "Are you sure you want to regenerate the pre-shared key?",
|
||||
"regenerate": "Regenerate"
|
||||
},
|
||||
"newDeviceDialog": {
|
||||
"title": "Connect New Device",
|
||||
"https": "https",
|
||||
"http": "http",
|
||||
"tabHttp": "HTTP",
|
||||
"tabBluetooth": "Bluetooth",
|
||||
"tabSerial": "Serial",
|
||||
|
||||
"useHttps": "Use HTTPS",
|
||||
"connecting": "Connecting...",
|
||||
"connect": "Connect",
|
||||
"connectionFailedAlert": {
|
||||
"title": "Connection Failed",
|
||||
"descriptionPrefix": "Could not connect to the device. ",
|
||||
"httpsHint": "If using HTTPS, you may need to accept a self-signed certificate first. ",
|
||||
"openLinkPrefix": "Please open ",
|
||||
"openLinkSuffix": " in a new tab",
|
||||
"acceptTlsWarningSuffix": ", accept any TLS warnings if prompted, then try again",
|
||||
"learnMoreLink": "Learn more"
|
||||
},
|
||||
"httpConnection": {
|
||||
"label": "IP Address/Hostname",
|
||||
"placeholder": "000.000.000.000 / meshtastic.local"
|
||||
},
|
||||
"serialConnection": {
|
||||
"noDevicesPaired": "No devices paired yet.",
|
||||
"newDeviceButton": "New device",
|
||||
"deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}"
|
||||
},
|
||||
"bluetoothConnection": {
|
||||
"noDevicesPaired": "No devices paired yet.",
|
||||
"newDeviceButton": "New device",
|
||||
"connectionFailed": "Connection failed",
|
||||
"deviceDisconnected": "Device disconnected",
|
||||
"unknownDevice": "Unknown Device",
|
||||
"errorLoadingDevices": "Error loading devices",
|
||||
"unknownErrorLoadingDevices": "Unknown error loading devices"
|
||||
},
|
||||
"addConnection": {
|
||||
"title": "Add connection",
|
||||
"description": "Choose a connection type and fill in the details",
|
||||
"validation": {
|
||||
"requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
|
||||
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
|
||||
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
|
||||
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
|
||||
},
|
||||
"bluetoothConnection": {
|
||||
"namePlaceholder": "My Bluetooth Node",
|
||||
"supported": {
|
||||
"title": "Web Bluetooth supported"
|
||||
},
|
||||
"notSupported": {
|
||||
"title": "Web Bluetooth not supported",
|
||||
"description": "Your browser or device does not support Web Bluetooth"
|
||||
},
|
||||
"short": "BT: {{deviceName}}",
|
||||
"long": "Bluetooth Device",
|
||||
"device": "Device",
|
||||
"selectDevice": "Select device",
|
||||
"selected": "Bluetooth device selected",
|
||||
"notSelected": "No device selected",
|
||||
"helperText": "Uses the Meshtastic Bluetooth service for discovery."
|
||||
},
|
||||
"serialConnection": {
|
||||
"namePlaceholder": "My Serial Node",
|
||||
"helperText": "Selecting a port grants permission so the app can open it to connect.",
|
||||
"supported": {
|
||||
"title": "Web Serial supported"
|
||||
},
|
||||
"notSupported": {
|
||||
"title": "Web Serial not supported",
|
||||
"description": "Your browser or device does not support Web Serial"
|
||||
},
|
||||
"portSelected": {
|
||||
"title": "Serial port selected",
|
||||
"description": "Port permissions granted."
|
||||
},
|
||||
"port": "Port",
|
||||
"selectPort": "Select port",
|
||||
"deviceName": "USB {{vendorId}}:{{productId}}",
|
||||
"notSelected": "No port selected"
|
||||
},
|
||||
"httpConnection": {
|
||||
"namePlaceholder": "My HTTP Node",
|
||||
"inputPlaceholder": "192.168.1.10 or meshtastic.local",
|
||||
"heading": "URL or IP",
|
||||
"useHttps": "Use HTTTPS",
|
||||
"invalidUrl": {
|
||||
"title": "Invalid URL",
|
||||
"description": "Please enter a valid HTTP or HTTPS URL."
|
||||
},
|
||||
"connectionTest": {
|
||||
"description": "Test the connetion before saving to verify the device is reachable.",
|
||||
"button": {
|
||||
"loading": "Testing...",
|
||||
"label": "Test connection"
|
||||
},
|
||||
"reachable": "Reachable",
|
||||
"notReachable": "Not reachable",
|
||||
"success": {
|
||||
"title": "Connection test successful",
|
||||
"description": "The device appears to be reachable."
|
||||
},
|
||||
"failure": {
|
||||
"title": "Connection test failed",
|
||||
"description": "Could not reach the device. Check the URL and try again."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nodeDetails": {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"radioConfig": "Radio Config",
|
||||
"deviceConfig": "Device Config",
|
||||
"moduleConfig": "Module Config",
|
||||
"manageConnections": "Manage Connections",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"app": {
|
||||
@@ -202,7 +203,7 @@
|
||||
"step4": "Any other relevant information"
|
||||
},
|
||||
"reportLink": "You can report the issue to our <0>GitHub</0>",
|
||||
"dashboardLink": "Return to the <0>dashboard</0>",
|
||||
"connectionsLink": "Return to the <0>connections</0>",
|
||||
"detailsSummary": "Error Details",
|
||||
"errorMessageLabel": "Error message:",
|
||||
"stackTraceLabel": "Stack trace:",
|
||||
|
||||
Reference in New Issue
Block a user