zjs81
c320378be1
Refactor unread message tracking and implement channel caching ( #126 )
...
* Refactor unread message tracking and implement channel caching
* formatted files
2026-02-04 20:34:03 -07:00
Ded
b3645481c7
Merge pull request #125 from zjs81/reduce-build-steps
...
stop building twice for pull requests on branches from this repo
2026-02-04 12:42:24 -08:00
Ded
589707aa13
Merge pull request #123 from zjs81/dart-format
...
This formats the project and adds a workflow to check that each contribution has also been formatted.
plus small fix to get rid of analyzer errors which could be changed to warnings but that's another day.
2026-02-04 12:41:46 -08:00
446564
6070802213
stop building twice for pull requests
...
we should only run the build steps on a pull request OR a push to main
2026-02-04 09:02:03 -08:00
446564
2525b9425b
reduce jobs for flutter and dart
...
no need to setup the env twice the exact same way as they don't conflict
2026-02-04 08:59:29 -08:00
446564
b786c90514
combine flutter and dart actions
...
reduce time to complete and stop running twice for pull requests
2026-02-04 08:56:40 -08:00
446564
a35590a407
fix dart format workflow install deps step
...
needs to use flutter pub get not dart pub get
2026-02-04 08:40:19 -08:00
446564
8d15f7cef6
wrap returns from if blocks
...
fixes two analyzer errors for return blocks on new lines from if blocks
2026-02-04 08:34:37 -08:00
446564
e449f5e1d5
add dart format workflow
...
checks code has been formatted with dart format on push and pull request
adds a note in README for contributors
2026-02-04 08:33:49 -08:00
446564
b34d684e67
format dart files
...
formats all dart files using `dart format .` from the root project dir
this makes the code style repeatable by new contributors and makes PR review easier
2026-02-04 08:32:35 -08:00
Ded
488a286701
Merge pull request #59 from 446564/community-#-names
...
add community to hashtag channel name
2026-02-03 20:08:42 -08:00
Zach
c742d98fbb
issue #112 fixes and more
2026-02-01 18:37:14 -07:00
zjs81
1d4c9ad9bd
Merge pull request #115 from zjs81/advert-intervals
...
allow disable repeater adverts
2026-02-01 17:10:46 -07:00
Zach
818f514702
The first issue was that the toggle switch states weren't being initialized when settings were refreshed from the device. The code would correctly update the interval values themselves, but failed to set the corresponding boolean flags that control whether the toggles appear as "on" or "off". This meant that if you refreshed settings from a device that had advertisements disabled (with an interval of zero), the toggles would incorrectly show as enabled even though the device was actually broadcasting no advertisements. We fixed this by adding two lines that explicitly set _advertEnable = _advertInterval > 0 and _floodAdvertEnable = _floodAdvertInterval > 0 after parsing the interval values from device responses.
...
The second critical bug was in the validation logic that checks whether responses from the device contain valid data. The validator was rejecting any interval values of zero because it checked interval > 0, but zero is now a meaningful and valid value that indicates advertisements are disabled. Without this fix, any time a device reported back that advertisements were disabled, the app would silently discard that information as invalid, leaving the UI out of sync with reality. We changed the validation to use interval >= 0 instead and updated the comment to explicitly document that zero means disabled.
The third fix was a minor code style issue where a single-line if statement was missing braces, causing a linter warning. This doesn't affect functionality but ensures the code meets project standards.
2026-02-01 17:08:53 -07:00
Zach
be54419e5b
Merge remote-tracking branch 'origin/main' into advert-intervals
2026-02-01 17:03:53 -07:00
zjs81
00eb1a68a6
Merge pull request #118 from wel97459/dev-shareContact
...
Adds contact shearing
2026-02-01 16:59:21 -07:00
Zach
79ffc21bd6
fix commit
2026-02-01 16:57:17 -07:00
Zach
0374f4f5da
Merge remote-tracking branch 'origin/main' into dev-shareContact
2026-02-01 14:18:35 -07:00
Winston Lowe
4650584f9b
Merge pull request #117 from wel97459/dev-reconnection
...
This cures a race condition that was messing up the disconnection handler.
Before the bluetooth device was fully connected _handleDisconnection() was being called from the lisener.
2026-01-31 22:28:35 -08:00
Winston Lowe
8d8b938878
Ran translation script
2026-01-31 22:19:01 -08:00
Ded
e3a0bd3b13
Merge pull request #114 from zjs81/obtainum-btn
...
add obtainium badge
2026-01-31 20:07:08 -08:00
446564
4f83d87f8c
use switch for advert enable/disable
...
move style to align with other toggles and use a switch instead of a checkbox
2026-01-31 17:07:24 -08:00
Winston Lowe
6d7d51f0a4
_requestDeviceInfo added isConnected not already _awaitingSelfInfo
2026-01-31 16:03:05 -08:00
Winston Lowe
33680f0cb9
Replace action buttons with a popup menu for better UI/UX on channels and map screens
2026-01-31 15:25:34 -08:00
Winston Lowe
5115d8bbe3
Added zero-hop contact sharing functionality and related UI updates
2026-01-31 15:00:33 -08:00
Winston Lowe
d30e7c4e2c
Prevent disconnection handling when already disconnected, curing a race condition.
2026-01-31 14:55:55 -08:00
Winston Lowe
8470171e88
Merge branch 'dev-shareContacts' into dev-shareContact
2026-01-31 08:02:35 -08:00
446564
ede3142d40
allow disable repeater adverts
...
Adds checkbox to disable adverts and flood adverts
Also updates flood avert range to new max of 168 hours
2026-01-30 11:05:57 -08:00
446564
6712088fcd
add obtainium badge
...
allow users to easily add app to obtainium
https://apps.obtainium.imranr.dev
2026-01-30 08:44:03 -08:00
Ded
7b519854d7
Merge branch 'main' into community-#-names
2026-01-29 08:07:05 -08:00
Zach
90ce46392a
feat: optimize reaction message format to reduce airtime
...
- Reduce reaction payload from ~44 bytes to 9 bytes (5x smaller)
- Use 4-char hex hash (timestamp + sender + first 5 chars) for message ID
- Use 2-char hex emoji index instead of multi-byte UTF-8 emoji
- Format: r:HASH:INDEX (e.g., r:a1b2:00)
- For 1:1 chats, sender is implicit (null) for shorter hash
- Prevent users from reacting to their own messages
- Add room server reaction support with sender identification
- Make emoji lists public in EmojiPicker for shared indexing
- Add 💪 and 🚀 emojis to picker
- Add comprehensive unit tests for reaction helpers
- Update minor dependencies
2026-01-28 23:21:04 -07:00
Zach
d61ec217fc
feat: add Russian and Ukrainian to language selector
...
These languages had translation files but were missing from the
settings UI. Adds appSettings_languageRu and appSettings_languageUk
strings and corresponding RadioListTile entries.
Fixes missing languages in app settings.
2026-01-28 22:26:14 -07:00
Zach
3ac81a5448
Merge origin/main into pr-106
...
Resolve conflict in app_de.arb: keep improved German translation
for community_updateSecret while adding path trace strings from main.
2026-01-28 22:22:43 -07:00
zjs81
7004067839
Merge pull request #108 from wel97459/dev-pathtrace
...
Path tracing. This adds support to ping and trace route repeaters and room server.
2026-01-28 22:07:14 -07:00
Zach
935b7b07eb
Add path trace localizations for all languages
...
- Translate path trace strings to all 14 supported locales
- Regenerate localization Dart files
- Fix translate.py to also detect empty string values as missing
2026-01-28 22:05:04 -07:00
Zach
cdacc54421
Merge remote-tracking branch 'origin/main' into dev-pathtrace
2026-01-28 21:43:07 -07:00
zjs81
bf8f002d55
Merge pull request #111 from wel97459/dev-reconntion
...
Added disconnection handling, and fixed state changing of navigation on connection.
2026-01-28 21:39:42 -07:00
Zach
998ff50495
fix: restore _handleDisconnection() on battery request failure
...
This was the author's original intent - use battery request failure
as a signal that the connection is lost.
2026-01-28 21:34:13 -07:00
Zach
92d2b224e7
fix: address PR review issues
...
- Fix memory leak by adding dispose() to remove connection listener
- Fix typo: changedNavgation -> _changedNavigation
- Add mounted check before navigation to prevent errors
- Remove overly aggressive _handleDisconnection() call on battery request failure
- Only reset battery flag on error to allow retry without disconnecting
2026-01-28 21:29:18 -07:00
Winston Lowe
34a6b5d895
Added error catching to requestBatteryStatus
...
to call _handleDisconnection when it fails update.
Updated ScannerScreen to manage navigation state logic on connection.
2026-01-28 20:13:40 -08:00
zjs81
c953a1a798
Merge pull request #105 from erikklavora/main
...
Updated Slovenian lang
2026-01-28 20:53:49 -07:00
Winston Lowe
42115bf200
Refactor contact handling and enhance UI with new advert options and localized strings
2026-01-28 11:04:34 -08:00
Winston Lowe
d0c8fab6fb
Add contact import functionality and update UI feedback for import status
2026-01-28 10:19:42 -08:00
Winston Lowe
eeb8ff34e8
Implement contact import functionality from clipboard and add relevant UI options
2026-01-26 16:11:21 -08:00
Winston Lowe
641307a316
Added response code for exporting contacts and implement frame listener in contacts_screen.dart
2026-01-26 12:19:45 -08:00
Winston Lowe
c37abb63e3
add export and import contact frame builders in meshcore_protocol.dart and implement contact export functionality in contacts_screen.dart
2026-01-26 11:56:42 -08:00
Winston Lowe
898ef1c11c
Refactor autofocus logic in login dialogs for better platform handling
2026-01-26 10:40:10 -08:00
Winston Lowe
749f9d4dfd
cleaned up.
2026-01-25 12:00:38 -08:00
Winston Lowe
9c1b5899fb
Added scroll view to room server login.
...
Disabled autofocus of password.
2026-01-25 11:55:55 -08:00
Winston Lowe
cacb9bc677
Moved all the path tracing logic to the dialog.
...
refactored repeater hub along with contacts screen to use shortPubKeyHex.
Added localization strings for path tracing, english only.
2026-01-25 10:58:00 -08:00