Commit graph

3865 commits

Author SHA1 Message Date
Ben Meadors
8e58cd6c0b
Merge pull request #1526 from meshtastic/add-long-turbo
Add long-turbo preset support
2025-12-17 20:46:08 -06:00
Ben Meadors
34794d8b22 Add long-turbo preset 2025-12-17 20:34:47 -06:00
Ben Meadors
d6d3a6e371
Merge pull request #1525 from meshtastic/protobufs-update-2.7.17
Update protobufs to 2.7.1
2025-12-17 20:28:49 -06:00
Ben Meadors
9b6e645bd9 Update protobufs to 2.7.1 2025-12-17 20:26:44 -06:00
Radio
fcb20cd1ac
Update & improve zh-Hans translation (#1523)
* Update Muzi R1 Neo to actively supported

* update & improve zh-Hans translation

rt

---------

Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2025-12-17 09:58:15 -08:00
Garth Vander Houwen
ccee0bfadc format file 2025-12-16 06:44:34 -08:00
Garth Vander Houwen
fe1d1d6c3f revert problematic retry functionalliy 2025-12-16 06:33:08 -08:00
Garth Vander Houwen
14efa4cbba Remove discovery queue 2025-12-16 06:26:43 -08:00
Garth Vander Houwen
8346fb8073
Compass view (#1521)
* Added compass view

* Added Compass View

* Node colors in compass

* Update Muzi R1 Neo to actively supported

* Update PositionPopover.swift

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

* Update CompassView.swift

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

* Update CompassView.swift

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

* Update Meshtastic/Views/Helpers/CompassView.swift

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

* Update Meshtastic/Views/Helpers/CompassView.swift

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

---------

Co-authored-by: Benjamin Faershtein <119711889+RCGV1@users.noreply.github.com>
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-15 11:15:54 -08:00
Mike Robbins
865e5e950b
CLIENT_BASE add-favorite/role-change confirmation dialog (#1493)
* FavoriteNodeButton: refactor task out

* AccessoryManager.connectedDeviceRole helper

* FavoriteNodeButton: show confirmation dialog when a CLIENT_BASE is trying to add a favorite

* addContactFromURL: add comment referencing upcoming change in https://github.com/meshtastic/firmware/pull/8495

* DeviceConfig: role picker: show a warning when selecting CLIENT_BASE, similar to warning shown for ROUTER

* Adjust device configuration Client Base warning text
2025-12-10 21:27:44 -08:00
Mike Robbins
c19c810749
UpdateCoreData.updateAnyPacketFrom: mirror firmware's lastHeard/snr/rssi/hopsAway update logic from NodeDB::updateFrom (#1492) 2025-12-09 22:58:41 -08:00
Charles Pinesky
b57ba1557c
Preview enabled in connected devices (#1509)
* Update Muzi R1 Neo to actively supported

* Preview enabled in connected devices

* Fixing indentation

* Fixing indentation

---------

Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2025-12-09 22:51:33 -08:00
Benjamin Faershtein
13fd9c3a93
Don't subscribe to mqtt topic if downlink is not on (#1501)
* Dont sub if no downlink

* moved reload mqtt connect config
2025-12-09 22:46:14 -08:00
Benjamin Faershtein
a91c62bfe2
fix setting device telemetry enabled (#1515)
* Update Muzi R1 Neo to actively supported

* fix setting device telemetry enabled

---------

Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2025-12-09 22:45:02 -08:00
Garth Vander Houwen
570789610c Bump datadog sdk 2025-11-24 12:27:08 -08:00
Garth Vander Houwen
5762677946 Prevent nil environment metrics 2025-11-18 11:28:18 -08:00
Garth Vander Houwen
6aca186ed9 Update device hardware 2025-11-18 06:50:28 -08:00
Garth Vander Houwen
b51b5aaec0 Don't favorite client base 2025-11-18 06:42:19 -08:00
Benjamin Faershtein
ec5dfd5ae3
Fix: hoplimit of dms would always fallback to hops away of the node even when configured hops was higher (#1495)
* fix hops setting in dms

* Fix hops for exchange position

* Final fix
2025-11-06 10:10:25 -08:00
Garth Vander Houwen
0f90d8497a Queue for peripherals 2025-11-05 16:21:10 -08:00
Garth Vander Houwen
872c1ef7ee Retry once 5 second timer. dont throw the error 2025-11-02 08:54:37 -08:00
Garth Vander Houwen
feb9cf1aa9 Set opt in 2025-11-02 08:49:33 -08:00
Jake-B
b327f13971 perferredPeripheralId fix 2025-11-01 16:45:02 -04:00
Garth Vander Houwen
b4c749a978 Clean up channel qr code functionality. 2025-11-01 08:29:47 -07:00
Garth Vander Houwen
0fcf4fdbcb Fix interval drop down formatter 2025-10-31 09:08:46 -07:00
Mike Robbins
2ee6cdfcba
Fix wantRangeTestPackets to correctly follow rangeTestConfig.enabled (#1489) 2025-10-30 14:35:40 -07:00
Mike Robbins
402cb836b5
NodeMap performance improvements for high # positions history (#1480)
* NodeMapContent: move Route Lines out of ForEach

* NodeMapContent: move Convex Hull out of ForEach

* NodeMapContent: Replace `position.nodePosition?` with `node`

* NodeMapContent: drop unnecessary LazyVStack in showNodeHistory

* NodeMapContent: hoist out nodeColorSwift

* Move lineCoords, loraCoords calculations within showRouteLines, showConvexHull respectively

* Hoist out repeated node.metadata?.positionFlags lookups / PositionFlags creation

* NodeMapContent: remove unused @State

* NodeMapSwiftUI: add NodeMapContentEquatableWrapper and NodeMapContentSignature to prevent frequent NodeMapContent recomputation and infinite render loops

* NodeMapSwiftUI: disable animation during SwiftUI transactions

* NodeMapContent: hoist nodeBorderColor and set allowsHitTesting(false) on history point views

* NodeMapContent: prerenderHistoryPointCircle and prerenderHistoryPointArrow to avoid thousands of vector draw operations

* NodeMapContent: Shared coordinate list for Route Lines and Convex Hull

* NodeMapContent.prerenderHistoryPointArrow: add .frame(width: 16, height: 16)
2025-10-30 14:32:27 -07:00
Mike Robbins
8df71404b3
MeshMap performance: quick wins (#1490)
* MeshMap: change onMapCameraChange frequency to .onEnd so that zooming doesn't cause continuous SwiftUI reevaluation on every frame

* MeshMapContent: factor out reducedPrecisionMapCircles into a separate function

* MeshMapContent: when multiple reducedPrecisionCircles have the same (lat,lon,radius), just draw one (big perf boost in dense areas)
2025-10-30 14:15:18 -07:00
jake-b
59d106ac1e
Update Meshtastic/Accessory/Transports/TCP/TCPTransport.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-29 17:54:16 -04:00
Garth Vander Houwen
247ec497a7 Git rid of extra environment variable 2025-10-28 14:34:39 -07:00
Garth Vander Houwen
9e8290c46b Merge remote-tracking branch 'refs/remotes/origin/2.7.6' 2025-10-28 08:58:13 -07:00
Garth Vander Houwen
3b9c0bf53e Remove bad if 2025-10-28 08:58:00 -07:00
Garth Vander Houwen
58b1204f39
Update Meshtastic/Views/Settings/AppSettings.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-28 07:36:18 -07:00
Garth Vander Houwen
ebc84d3efd Merge remote-tracking branch 'refs/remotes/origin/2.7.6' 2025-10-28 07:03:12 -07:00
Garth Vander Houwen
12a1ca1bc5 Neo 2025-10-28 07:03:04 -07:00
Garth Vander Houwen
92b1646665 R1 NEO 2025-10-28 07:02:33 -07:00
Mike Robbins
e7b35838c3
upsertPositionPacket: don't use future timestamps to set node's lastHeard (#1488) 2025-10-28 06:20:31 -07:00
Benjamin Faershtein
7668a7a7ae
Show who relayed messages (#1486)
* Add identification for node that relayed text messages and add count for ammount of relayers of your message

* Ack Relays
2025-10-28 06:19:12 -07:00
jake-b
3f27e3b925
Keep list of previous manual connections (#1484)
* Keep list of previous manual connections

* More descriptive manual connection rows

* Merge fixes and new way to show IP on Connect view

---------

Co-authored-by: Jake-B <jake-b@users.noreply.github.com>
2025-10-28 06:18:17 -07:00
Garth Vander Houwen
0c3f1bd2d6
Update Meshtastic/Extensions/CoreData/ChannelEntityExtension.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-26 18:41:34 -07:00
Garth Vander Houwen
5ecad218c6
Update Meshtastic/Extensions/CoreData/MyInfoEntityExtension.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-26 18:41:26 -07:00
Garth Vander Houwen
4facf1054b
Update Meshtastic/Extensions/CoreData/ChannelEntityExtension.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-26 18:41:13 -07:00
Garth Vander Houwen
428b144701
Update Meshtastic/Views/Nodes/Helpers/Map/MapContent/MeshMapContent.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-26 18:40:37 -07:00
Garth Vander Houwen
ddb01f5d5f
Update Meshtastic/Extensions/CoreData/UserEntityExtension.swift
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-26 18:40:19 -07:00
Garth Vander Houwen
4aa56b1531 Fix bad merge 2025-10-21 06:28:33 -07:00
Mike Robbins
6c3c02237b
Mesh Map: fuzz imprecise locations so they're distinguishable and clickable at the highest zoom levels (#1478)
Co-authored-by: Garth Vander Houwen <garth@meshtastic.com>
2025-10-21 06:23:22 -07:00
Garth Vander Houwen
1d49e022be Merge remote-tracking branch 'refs/remotes/origin/2.7.6' 2025-10-21 06:03:13 -07:00
Garth Vander Houwen
4114722ebf Hide route lines filter from mesh map 2025-10-21 06:03:01 -07:00
Garth Vander Houwen
16e56e7f07
Fix: "Retrieving nodes" significantly slower after reconnect extracted from #1424 (#1477)
* Fix: "Retrieving nodes" significantly slower after reconnect (#1424)

The node database retrieval was calling context.save() for every single
NodeInfo packet received (250 saves for 250 nodes). This caused severe
performance degradation on reconnect when CoreData had accumulated state.

Root Cause:
- nodeInfoPacket() called context.save() immediately for each node
- With 250 nodes, this meant 250 individual CoreData save operations
- On first connection, CoreData is fresh and fast
- On reconnect, CoreData has accumulated change tracking, undo management,
  and memory pressure, making each save progressively slower
- This resulted in 10+ second retrieval times vs 1-2 seconds initially

Solution:
- Added deferSave parameter to nodeInfoPacket() function
- During database retrieval (.retrievingDatabase state), defer all saves
- Perform a single batch save when database retrieval completes
  (when NONCE_ONLY_DB configCompleteID is received)
- This reduces 250 saves to 1 save

Performance Impact:
- Eliminates N individual saves during node database sync
- Reduces database retrieval time back to 1-2 seconds on reconnect
- Matches first-connection performance consistently

Fixes #1424

* Revert *MessageListUnified files

---------

Co-authored-by: Martin Bogomolni <martinbogo@gmail.com>
Co-authored-by: Jake-B <jake-b@users.noreply.github.com>
2025-10-20 11:38:18 -07:00
Garth Vander Houwen
9e0a1ffea9 Add back missing mesh map features 2025-10-20 11:33:58 -07:00