Commit graph

231 commits

Author SHA1 Message Date
Łukasz Kosson
e781d6774b
feat: allow hiding offline and/or non-direct nodes from list and map (#2052)
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-06-09 12:44:53 -05:00
James Rich
3216559035
fix: connections ui and unmessageable logic (#2016) 2025-06-04 06:53:22 -05:00
James Rich
38982bc37b
refactor: recommended and required firmware updates (#2012) 2025-06-03 19:58:21 -05:00
James Rich
868d705b2d
fix: per-device location sharing (#2010) 2025-06-03 21:04:24 +00:00
James Rich
6915249121
refactor: Move version checks to Main.kt (#1995) 2025-05-31 20:36:35 -05:00
James Rich
ad1897c564
Refactor: organize ui screens to separate packages (#1982) 2025-05-29 18:18:45 -05:00
James Rich
6332b3bd42
feat(node): consolidate node chip and menu (#1941) 2025-05-26 19:36:32 -05:00
James Rich
9b1f27cf17
refactor: add tooltips, unmessageable tweaks (#1925) 2025-05-23 18:08:45 -05:00
James Rich
76cdb83406
feat: Add node to favorites when sending a direct message (#1899) 2025-05-21 17:48:02 +00:00
James Rich
2f13aee171
feat: Use node colors for contact chip (#1891) 2025-05-21 04:30:11 +00:00
James Rich
f6e75e970b
Refactor: Remove "include unmessageable" filter (#1889) 2025-05-21 03:08:40 +00:00
James Rich
990cd103d7
Refactor: Improve shared contact import dialog (#1888) 2025-05-20 21:57:14 -05:00
James Rich
87076321ba
feat: Unmessageable (#1858) 2025-05-20 21:05:40 +00:00
James Rich
c99fe642b5
feat: Add Contact Sharing via QR code (#1859) 2025-05-20 13:36:11 -05:00
James Rich
38b9515fca
refactor: Move "provide location" preference to DataStore (#1877) 2025-05-19 21:23:29 +00:00
James Rich
4cba13ea14
feat: material3 (#1862) 2025-05-17 11:39:53 -05:00
James Rich
8cde47bdf9
refactor: migrate to Compose navigation (#1835)
Co-authored-by: andrekir <andrekir@pm.me>
2025-05-15 08:05:30 -05:00
James Rich
8e5accd518
fix #1484: Filter out ignored nodes from map (#1676)
* fix #1484: Filter out ignored nodes from map

- Created a new `filteredNodeList` `StateFlow` in `UIState.kt` that filters out nodes marked as ignored.
- Updated `MapFragment.kt` to use `filteredNodeList` instead of `nodeList`, ensuring that ignored nodes are not displayed on the map.

* Refactor: Remove ExperimentalCoroutinesApi opt-in and add it to compiler args

- Removes the `@OptIn(ExperimentalCoroutinesApi::class)` annotation from multiple files.
- Adds `-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi` to the `freeCompilerArgs` in the `build.gradle` file, enabling the use of Experimental Coroutines API project-wide without the need for per-file opt-ins.
- The coroutine api is now applied globally.

Signed-off-by: James Rich <james.a.rich@gmail.com>

* detekt

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>

---------

Signed-off-by: James Rich <james.a.rich@gmail.com>
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-17 11:40:08 -05:00
Ken Piper
e15ad23c46
feat: Initial implementation of adding nodes to favorites (#1520)
* Implement initial support for adding and removing nodes from favorites

* Make favorite nodes' names show up bold in the node list

* Forgot to add this here when I was fixing the previous merge conflicts. Whoops!

* Make detekt happy

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-02-16 06:02:02 -06:00
Joshua Soberg
24abd1ac4a
fixes #1557: Filter out emojis when creating short names (#1578)
* Filter out emojis from text when finding initials

* Confirm non-English non-emoji unicde isn't filtered

* Remove unused example unit test

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-02-15 22:25:35 -06:00
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
Andre K
3c581f81a8
refactor: migrate MessagesFragment to Compose (#1444) 2024-11-30 23:20:09 -03:00
andrekir
174a4d0771 refactor: ensure node database flows on IO thread 2024-11-26 09:57:23 -03:00
andrekir
6230f13bff refactor: add custom formatting to LocalStats fields 2024-11-26 09:00:44 -03:00
andrekir
1219d3037e chore: add GPL-3.0 license headers to source files 2024-11-26 08:54:18 -03:00
andrekir
4e9055c9b1 fix: update channel URL to match channel selection 2024-11-25 20:09:50 -03:00
andrekir
80f8f2a591 refactor: implement repository pattern replacement for AIDL methods 2024-11-21 20:30:25 -03:00
andrekir
f73d909cd0 refactor: consolidate QR code scanning methods 2024-11-21 10:32:37 -03:00
Andre K
475e9fc22c
refactor: migrate QuickChat to Compose (#1419) 2024-11-19 11:59:28 -03:00
andrekir
ee75ba3392 feat: pass users preferred tile source to MapViews 2024-11-15 07:10:01 -03:00
andrekir
cfdb245da2 refactor: convert connectionState to StateFlow 2024-11-12 09:15:45 -03:00
andrekir
a980441fd1 refactor: move ignoreIncoming logic to ViewModel 2024-11-12 08:47:17 -03:00
andrekir
e72940245c feat: persist node filters to SharedPreferences
closes #1392
2024-11-10 06:18:21 -03:00
andrekir
6526c91f3a fix: contact placeholder date when time is zero 2024-10-29 08:15:50 -03:00
andrekir
26ca4af568 refactor: move Message date formatting to ViewModel 2024-10-26 05:44:59 -03:00
James Rich
6447485199 fix: set user.id in NodeDb getUser
This commit updates the `getUser` function in `NodeDB` to set the ID of the user when creating a new `User` object, ensuring that the user ID is always populated.

Additionally, it refactors the `Message` class to use the proto `User` object instead of the `MeshUser` class. This change simplifies the code and improves consistency by utilizing the proto definition for user information.
2024-10-26 05:32:30 -03:00
andrekir
5cf9741b13 refactor: unified getUser repository call for convention 2024-10-25 07:50:34 -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
f944a236ac
feat: Adds Request user info (#1279)
* Request user info

* safe calls

* Fix: Ensure NodeInfo is sent when requesting user info

The `requestUserInfo` function now correctly sends `NodeInfo` when requesting user info by using the `
toNodeInfo()` method on `ourNodeInfo`. This ensures the recipient receives the necessary information.

* fix: remove unused parameters, use service's node db for our node entity

---------

Co-authored-by: musznik <bymucha@gmail.com>
2024-10-03 05:02:13 -03:00
Andre K
c30ee2f55f
refactor: replace MyNodeInfo with MyNodeEntity (#1277) 2024-10-02 06:18:30 -03:00
andrekir
3bd4132089 feat: preserve map center and zoom state in ViewModel
closes #1150
2024-09-30 19:14:22 -03:00
andrekir
a075dfbd3a feat: add dialog for message status information 2024-09-24 22:06:15 -03:00
andrekir
e5b229e6ff fix: handle RemoteException in setConfig and setChannel 2024-09-24 07:44:25 -03:00
andrekir
83dc389d6d refactor(NodeItem): replace NodeInfo with NodeEntity 2024-09-21 16:47:20 -03:00
andrekir
24886994a6 feat: show lock icon for nodes with public keys 🔒 2024-09-16 18:44:18 -03:00