Commit graph

78 commits

Author SHA1 Message Date
andrekir
13b615a470 chore: update license header 2025-01-02 07:00:51 -03:00
Andre K
60e7e18116
feat(config): implement excluded modules validation (#1460)
* feat(config): implement excluded modules validation

* feat: hide excluded configs from metadata

* refactor: save local metadata from WantConfig

* refactor: delete metadata from deleted nodes

* fix: always request metadata for admin routes

* feat: show node firmware when metadata is available

* refactor: rename filter function

* feat: add `ServiceAction` request metadata
2025-01-02 06:38:33 -03:00
andrekir
1ea55b2209 refactor: move ignore node to is_ignored field in NodeInfo 2024-12-07 08:18:18 -03:00
andrekir
4a1319a645 refactor: replace user with node in Message model 2024-12-05 19:50:15 -03:00
James Rich
2234f5a713
feat: add emoji reactions to message bubbles (#1421)
* Add tapback emojis to message bubbles

Added TapBackEmojiItem composable to display tapback emojis.
Included it in MessageItem composable for incoming messages.
Added a FlowRow to show tapback emojis below the message bubble.

* feat: Add EmojiPicker View

* feat: show emojis for local messages

* feat: Add emoji tapbacks to messages

This commit introduces the ability to send and receive emoji tapbacks for messages.

- Adds emoji and replyId fields to DataPacket.
- Adds emoji tapback support to the MeshService
- Modifies UIState to handle emojis in message lists.

* feat: store tapbacks in database

Store tapbacks in the database and display them in the message list.
- Add a new table to the database to store tapbacks.
- Add a new DAO method to insert and retrieve tapbacks.
- Update the message list UI to display tapbacks.

* refactor: relation db and other changes

---------

Co-authored-by: Andre K <andrekir@pm.me>
2024-12-03 08:57:35 -03:00
andrekir
174a4d0771 refactor: ensure node database flows on IO thread 2024-11-26 09:57:23 -03:00
andrekir
1219d3037e chore: add GPL-3.0 license headers to source files 2024-11-26 08:54:18 -03:00
andrekir
e33cf85df6 refactor: migrate DebugPanel to Compose 2024-11-19 17:07:51 -03:00
Andre K
475e9fc22c
refactor: migrate QuickChat to Compose (#1419) 2024-11-19 11:59:28 -03:00
andrekir
02af81aeb0 fix: nodelist sort by viaMqtt 2024-11-15 06:49:40 -03:00
Robert-0410
013e3de792
refactor: Conducting time filter at the component lvl to avoid metric nav cards from being disabled when we don't have recent data (#1402) 2024-11-13 07:24:40 -03:00
Robert-0410
7e54ad950c
feat: Metrics time selection (#1396) 2024-11-11 17:54:26 -03:00
andrekir
adbe5952fc feat: position logs 2024-11-02 17:22:54 -03:00
andrekir
cfb38e9951 feat: add option to delete traceroute log 2024-10-26 05:57:18 -03:00
Andre K
a557bff3d7
feat: traceroute log (#1348) 2024-10-25 08:14:32 -03:00
andrekir
a3b4b70db9 fix(metrics): replace telemetry times with receive time 2024-10-25 07:55:47 -03:00
andrekir
eb80d419eb refactor(logs): add optional portNum parameter to getMeshPacketsFrom 2024-10-23 18:10:08 -03:00
Robert-0410
bb345e7437
feat: Signal Metrics (#1340) 2024-10-23 17:31:31 -03:00
andrekir
c98a5c7caf feat: add info cards for environment and power metrics 2024-10-19 13:28:16 -03:00
andrekir
eacf3a87a0 feat: create NodeEntity.isUnknownUser property 2024-10-14 17:20:06 -03:00
andrekir
fe56d257f5 chore: add detekt formatting rule set
https://detekt.dev/docs/next/rules/formatting/
2024-10-14 07:56:29 -03:00
andrekir
b503c10789 refactor: finish transition from NodeInfo to NodeEntity 2024-10-12 07:14:59 -03:00
James Rich
cf2315cb66
Sort nodes with unknown hops last (#1302)
Nodes with -1 hops (unknown) are now sorted last when sorting by hops_away. This ensures a more intuitive ordering
 in the UI.
2024-10-11 07:54:06 -03:00
James Rich
ebe0aeec14
Adds support for known 0 hopsAway (#1295) 2024-10-09 17:04:05 -03:00
andrekir
16e91c0ebf refactor: sync isOnline status with firmware (2 hours) 2024-10-02 17:03:36 -03:00
Andre K
c30ee2f55f
refactor: replace MyNodeInfo with MyNodeEntity (#1277) 2024-10-02 06:18:30 -03:00
andrekir
cca06784fc feat: add PowerMetrics data to nodes telemetry
closes #994
2024-10-01 19:50:03 -03:00
andrekir
717c932ae2 refactor(MeshLog): add fields for query optimization
- Adds `from_num` and `port_num` fields as indices to the `MeshLog` entity to improve query performance.
- Sets default values for new columns for auto-migration and backward compatibility.
2024-09-26 05:55:38 -03:00
andrekir
a075dfbd3a feat: add dialog for message status information 2024-09-24 22:06:15 -03:00
andrekir
22b1cf0f16 feat: add encryption status icon and dialog to node list items 2024-09-23 10:13:27 -03:00
andrekir
587c6c91f4 refactor: ensure backward compatibility for PKC encryption 2024-09-22 23:01:33 -03:00
andrekir
83dc389d6d refactor(NodeItem): replace NodeInfo with NodeEntity 2024-09-21 16:47:20 -03:00
Andre K
396195a1b8
refactor: introduce NodeEntity protobuf-based database entity (#1250) 2024-09-16 17:57:30 -03:00
Robert-0410
0c52bef43b
Mesh Packet Limit (#1245)
* Separated the device and environment metrics into their own files.

* Place a limit to the amount of MeshPackets we retrieve from the logs table.

* Making detekt happy with the naming.
2024-09-14 18:48:05 -03:00
andrekir
84939a74d2 refactor: replace nodeDBbyID with getUser() function 2024-09-11 20:01:16 -03:00
Andre K
9d5cf47762
refactor: migrate MessagesFragment RecyclerView to Compose (#1133) 2024-09-09 06:15:27 -03:00
andrekir
300904d337 chore(detekt): enable UnusedImports rule 2024-08-31 09:00:15 -03:00
andrekir
7e0cfff67b feat: add methods to retrieve MeshPackets and Telemetry from specific nodes 2024-08-18 06:58:44 -03:00
James Rich
2109426243
feat: Add role to NodeInfo (#1174) 2024-08-10 08:17:51 -03:00
andrekir
d7013e1386 feat: add unread message count 2024-06-15 12:42:55 -03:00
Andre K
5b3c78316b
feat: support for switching between devices (#1078) 2024-06-08 10:25:47 -03:00
andrekir
4a9be026e2 chore: prepare new strings for translation 2024-06-03 10:40:49 -03:00
andrekir
88a6bcc09d feat: add hops_away sort option 2024-06-03 08:57:29 -03:00
andrekir
4ceb4c5199 feat: add nodelist sort options 2024-06-02 09:24:22 -03:00
Andre K
ecaf35d7f3
feat: add ActionMenu option to mute contacts (#1003) 2024-04-28 16:18:16 -03:00
Dayle Drinkwater
47b2ecc8aa
Hops Away implementation (#966)
* Initial Hops Away feature

* Generate our own hopsAway, comparing hopStart to hopLimit

* Remove import of hopsAway from device nodeInfo, as this only shows 0 when hopStart isn't included on packets (with this info, we can't differentiate between a node which is Hops Away but on old firmware, or nodes which are on new firmware but direct. Both are 0)

Check if hopStart is 0 but hopLimit is not 0, if true set hopsAway to -1.

Show nodes with hopsAway with -1 with a (!) appended to the RSSI details, to show this probably isn't true. (eg they are using old firmware)

Change the default of hopsAway to -1, until we know it is direct (0) or hops away (1+)

* tidy up: move from nested if else to when

* Revert Project_Default.xml

* Move hopsAway when block in to updateNodeInfo() block above it.

Move hopsAway var to end of NodeInfo Class.

Schema update due to change above.

* hopsAway now follows firmware implementation.
hopsAway now imported from radio (installNodeInfo)

* reformat

---------

Co-authored-by: andrekir <andrekir@pm.me>
2024-04-21 08:14:35 -03:00
Jonathan Bennett
828696aca7
Add option to delete single node from nodeDB (#958) 2024-04-09 07:18:38 -03:00
andrekir
cb7ef639c0 refactor: sort node list by lastHeard in database query 2024-03-31 16:45:07 -03:00
Davis
4f9011fe57
Add number of GPS satellites in view to DB for later display (#883)
* Add a couple more fields to position
Use auto migration over manula migration
2024-02-29 11:18:02 -03:00
andrekir
1c5e2dbefc refactor: getContacts() DAO using Map return type 2024-02-11 07:51:41 -03:00