]> Core Protocol Git - meshcore-open.git/log
meshcore-open.git
25 hours agoMerge pull request #195 from MeshEnvy/rbenv main
Ded [Thu, 19 Feb 2026 20:40:27 +0000 (12:40 -0800)]
Merge pull request #195 from MeshEnvy/rbenv

add rbenv support

26 hours agoadd rbenv support
Ben Allfree [Thu, 19 Feb 2026 19:17:58 +0000 (11:17 -0800)]
add rbenv support

2 days agoMerge pull request #182 from Specter242/feature/protocol-compat
zjs81 [Wed, 18 Feb 2026 20:04:16 +0000 (13:04 -0700)]
Merge pull request #182 from Specter242/feature/protocol-compat

Handle RESP_CODE_ERR frames explicitly in connector

2 days agoRemove incidental whitespace-only diff from protocol PR
Specter242 [Wed, 18 Feb 2026 17:45:41 +0000 (12:45 -0500)]
Remove incidental whitespace-only diff from protocol PR

2 days agoTrim protocol PR to explicit RESP_CODE_ERR handling only
Specter242 [Wed, 18 Feb 2026 17:45:02 +0000 (12:45 -0500)]
Trim protocol PR to explicit RESP_CODE_ERR handling only

2 days agoRemove unused protocol placeholder field and unify version source
Specter242 [Wed, 18 Feb 2026 17:30:00 +0000 (12:30 -0500)]
Remove unused protocol placeholder field and unify version source

2 days agoAdd device protocol version tracking and error frame handling
Specter242 [Wed, 18 Feb 2026 09:06:45 +0000 (04:06 -0500)]
Add device protocol version tracking and error frame handling

Port from meshcore-open: parse protocol version from byte 1 of device
info frame, expose supportsFloodScope getter (version >= 8), handle
respCodeErr frames with debug logging. Reset on disconnect.

Co-authored-by: Cursor <redacted>
(cherry picked from commit a29bb9cdd7a02a85af26d94dd3c787cabd124629)

2 days agoMerge pull request #180 from zjs81/fix/radio-params-fw-compat
zjs81 [Wed, 18 Feb 2026 07:14:32 +0000 (00:14 -0700)]
Merge pull request #180 from zjs81/fix/radio-params-fw-compat

Refactor radio settings and localization updates

2 days agoFix radio settings to only send repeat byte when the current state is known
zjs81 [Wed, 18 Feb 2026 07:07:08 +0000 (00:07 -0700)]
Fix radio settings to only send repeat byte when the current state is known

2 days agofix formatting
zjs81 [Wed, 18 Feb 2026 06:50:11 +0000 (23:50 -0700)]
fix formatting

2 days agoRefactor radio settings and localization updates
zjs81 [Wed, 18 Feb 2026 06:42:04 +0000 (23:42 -0700)]
Refactor radio settings and localization updates
fixes #72

- Removed preset configurations for 915 MHz, 868 MHz, and 433 MHz from the RadioSettings model.
- Introduced a new list of regional preset configurations for various countries.
- Updated the settings screen to use a dropdown for selecting presets instead of chips.
- Added a switch for enabling client repeat functionality with appropriate warnings for frequency usage.
- Updated localization files for multiple languages to reflect changes in settings related to client repeat functionality.

6 days agoUpdate dependencies and improve code consistency across multiple files
zjs81 [Sat, 14 Feb 2026 09:22:45 +0000 (02:22 -0700)]
Update dependencies and improve code consistency across multiple files

6 days agoMerge pull request #161 from ChaoticLeah/enhancement/bluetooth-disabled-warning
zjs81 [Sat, 14 Feb 2026 09:00:36 +0000 (02:00 -0700)]
Merge pull request #161 from ChaoticLeah/enhancement/bluetooth-disabled-warning

Add warning when bluetooth is off

6 days agoGate the turn on BLE button to android
zjs81 [Sat, 14 Feb 2026 08:54:30 +0000 (01:54 -0700)]
Gate the turn on BLE button to android

6 days agoFixed banner flash, added enable bluetooth button fixed theme to use app theme colors...
zjs81 [Sat, 14 Feb 2026 08:46:40 +0000 (01:46 -0700)]
Fixed banner flash, added enable bluetooth button fixed theme to use app theme colors removed FAB overrides because material 3 does this for us, fixed missing translations.

6 days agoMerge remote-tracking branch 'origin/main' into enhancement/bluetooth-disabled-warning
zjs81 [Sat, 14 Feb 2026 08:28:54 +0000 (01:28 -0700)]
Merge remote-tracking branch 'origin/main' into enhancement/bluetooth-disabled-warning

6 days agobump version for android
zjs81 [Sat, 14 Feb 2026 08:13:06 +0000 (01:13 -0700)]
bump version for android

6 days agoAdd path tracing functionality (#165)
Winston Lowe [Sat, 14 Feb 2026 08:10:34 +0000 (00:10 -0800)]
Add path tracing functionality (#165)

- Implemented path tracing feature in the map screen, allowing users to add nodes to a path and visualize it on the map.
- Added buttons for starting path tracing, removing the last node, and running the path trace.
- Introduced a new overlay to display current path information and distance.
- Updated localization files for multiple languages to include new strings related to path tracing.
- Refactored map rendering logic to accommodate path tracing visuals.

8 days agoRefine device info layout and add collapsible map legend (#164)
just_stuff_tm [Thu, 12 Feb 2026 20:46:28 +0000 (15:46 -0500)]
Refine device info layout and add collapsible map legend (#164)

8 days agoMerge branch 'enhancement/bluetooth-disabled-warning' of github.com:ChaoticLeah/meshc...
Leah [Thu, 12 Feb 2026 19:15:58 +0000 (20:15 +0100)]
Merge branch 'enhancement/bluetooth-disabled-warning' of github.com:ChaoticLeah/meshcore-open into enhancement/bluetooth-disabled-warning

8 days agomake stuff unawaited + maybe fix edge case?
Leah [Thu, 12 Feb 2026 19:14:56 +0000 (20:14 +0100)]
make stuff unawaited + maybe fix edge case?

8 days agoUpdate lib/screens/scanner_screen.dart
Leah [Thu, 12 Feb 2026 19:02:56 +0000 (20:02 +0100)]
Update lib/screens/scanner_screen.dart

Co-authored-by: Copilot <redacted>
8 days agoMerge pull request #162 from just-stuff-tm/fix/battery-layout-overflow
Ded [Thu, 12 Feb 2026 05:27:30 +0000 (21:27 -0800)]
Merge pull request #162 from just-stuff-tm/fix/battery-layout-overflow

Fix battery chemistry dropdown layout overflow

8 days agoFix battery chemistry dropdown layout overflow
just_stuff_tm [Thu, 12 Feb 2026 05:05:00 +0000 (00:05 -0500)]
Fix battery chemistry dropdown layout overflow

9 days agoRemove unused translation
Leah [Wed, 11 Feb 2026 22:03:41 +0000 (23:03 +0100)]
Remove unused translation

Co-authored-by: Copilot <redacted>
9 days agolinted and added greying out
Leah [Wed, 11 Feb 2026 21:58:15 +0000 (22:58 +0100)]
linted and added greying out

9 days agoAdd warning when bluetooth is off
Leah [Wed, 11 Feb 2026 21:40:42 +0000 (22:40 +0100)]
Add warning when bluetooth is off

9 days agoMerge pull request #159 from ChaoticLeah/add-flake-nix
Ded [Wed, 11 Feb 2026 17:10:46 +0000 (09:10 -0800)]
Merge pull request #159 from ChaoticLeah/add-flake-nix

Add flake.nix for development environment

9 days agofix smaller copilot issues
Leah [Wed, 11 Feb 2026 16:45:15 +0000 (17:45 +0100)]
fix smaller copilot issues

9 days agofixing copilot issues
Leah [Wed, 11 Feb 2026 16:33:31 +0000 (17:33 +0100)]
fixing copilot issues

9 days agoadd flake.lock
Leah [Wed, 11 Feb 2026 16:26:43 +0000 (17:26 +0100)]
add flake.lock

9 days agoremove unnessisary bits and nix darwin stuff
Leah [Wed, 11 Feb 2026 16:25:44 +0000 (17:25 +0100)]
remove unnessisary bits and nix darwin stuff

9 days agoMerge pull request #152 from zjs81/remove-wakelock
Ded [Wed, 11 Feb 2026 16:18:57 +0000 (08:18 -0800)]
Merge pull request #152 from zjs81/remove-wakelock

remove wakelock

9 days agoMerge pull request #158 from ChaoticLeah/update-gitignore
Ded [Wed, 11 Feb 2026 16:16:38 +0000 (08:16 -0800)]
Merge pull request #158 from ChaoticLeah/update-gitignore

Update .gitignore to exclude .gradle/

9 days agokeep ignores organized
Ded [Wed, 11 Feb 2026 16:16:07 +0000 (08:16 -0800)]
keep ignores organized

9 days agoAdd flake.nix for development environment
Leah [Wed, 11 Feb 2026 16:11:00 +0000 (17:11 +0100)]
Add flake.nix for development environment

9 days agoMerge pull request #150 from ericszimmermann/german
Ded [Wed, 11 Feb 2026 16:13:28 +0000 (08:13 -0800)]
Merge pull request #150 from ericszimmermann/german

translations to german updated.

9 days agoUpdate .gitignore to exclude .gradle/
Leah [Wed, 11 Feb 2026 16:10:49 +0000 (17:10 +0100)]
Update .gitignore to exclude .gradle/

9 days agoMerge pull request #144 from zjs81/support-whisperos
Ded [Wed, 11 Feb 2026 16:03:44 +0000 (08:03 -0800)]
Merge pull request #144 from zjs81/support-whisperos

add support for whipseros

9 days agoremove wakelock
446564 [Wed, 11 Feb 2026 03:38:46 +0000 (19:38 -0800)]
remove wakelock

was being used to keep ble active which is not what it does

in early testing the ble remains connected with display off and also
when switching apps

10 days agotranslations to german updated.
ericz [Tue, 10 Feb 2026 21:55:39 +0000 (22:55 +0100)]
translations to german updated.

10 days agoMerge pull request #148 from spfmoby/more-better-french-translations
Ded [Tue, 10 Feb 2026 19:24:47 +0000 (11:24 -0800)]
Merge pull request #148 from spfmoby/more-better-french-translations

Still better french translations

10 days agoChore bump version
Zach [Tue, 10 Feb 2026 16:01:56 +0000 (09:01 -0700)]
Chore bump version

10 days agoBetter french translations
spfmoby [Tue, 10 Feb 2026 07:12:51 +0000 (08:12 +0100)]
Better french translations

11 days agoadd support for whipseros
446564 [Mon, 9 Feb 2026 13:36:25 +0000 (05:36 -0800)]
add support for whipseros

needed a new ble prefix

11 days agoMerge pull request #143 from zjs81/alpha6
Ded [Mon, 9 Feb 2026 03:07:29 +0000 (19:07 -0800)]
Merge pull request #143 from zjs81/alpha6

chore: update version to alpha 6

11 days agochore: update version to alpha 6
446564 [Mon, 9 Feb 2026 02:56:24 +0000 (18:56 -0800)]
chore: update version to alpha 6

11 days agoNotification rate limiting (#110)
Ryan Malloy [Mon, 9 Feb 2026 02:42:15 +0000 (19:42 -0700)]
Notification rate limiting (#110)

* Add notification rate limiting with privacy-safe debug logging

- Add batching system to prevent notification storms (3s rate limit, 5s batch window)
- Queue rapid notifications and show batch summaries
- Debug logs show device names for adverts, sender/channel for messages (no content leaks)
- Remove unused _maxBatchSize constant

Context: Added after getting notification-flooded while evaluating RF flood management. The irony.

* Update notification_service.dart

I made a mistake and removed this

* Add l10n support for notification strings

Addresses PR #110 review feedback to use the translations system:
- Add notification strings to app_en.arb (plurals for batch summary)
- Update NotificationService to use lookupAppLocalizations()
- Wire locale from MaterialApp to NotificationService
- Regenerate localization files

New strings added (English only, translations needed):
- notification_activityTitle: "MeshCore Activity"
- notification_messagesCount: "{count} message(s)"
- notification_channelMessagesCount: "{count} channel message(s)"
- notification_newNodesCount: "{count} new node(s)"
- notification_newTypeDiscovered: "New {type} discovered"
- notification_receivedNewMessage: "Received new message"

* Add notification string translations for all supported languages

Translated notification_activityTitle, notification_messagesCount,
notification_channelMessagesCount, notification_newNodesCount,
notification_newTypeDiscovered, and notification_receivedNewMessage
to: bg, de, es, fr, it, nl, pl, pt, ru, sk, sl, sv, uk, zh

Includes proper ICU plural forms for Slavic languages (few/many/other)
and Slovenian dual form.

* Apply dart format to notification_service.dart

---------

Co-authored-by: Winston Lowe <redacted>
11 days agoreduce map marker size (#131)
Ded [Mon, 9 Feb 2026 02:40:58 +0000 (18:40 -0800)]
reduce map marker size (#131)

* reduce map marker size

reduces map markers from 80 to 60 px to improve visibility with higher density areas

* add flutter test to actions

* Add GPX export functionality and related UI components

* Refactor GPX export constants to use lowercase naming convention and improve export function error handling

* ran formating

* Enhance GPX export functionality with customizable parameters and improved metadata

* Implement PathTraceMapScreen and refactor path tracing functionality across screens

* Add localization for missing location error in path tracing

* Updated GPX export functionality for contacts and repeaters in multiple languages.

* Add scrollbar to path trace details list for improved navigation

* Integrate SharePlus plugin for enhanced sharing functionality across platforms

* reduce map marker size

reduces map markers from 80 to 60 px to improve visibility with higher density areas

* reduce marker size to improve map clarity and add path trace navigation to path management

---------

Co-authored-by: Winston Lowe <redacted>
11 days agoMerge pull request #130 from zjs81/path-map-rotation
Ded [Mon, 9 Feb 2026 02:39:48 +0000 (18:39 -0800)]
Merge pull request #130 from zjs81/path-map-rotation

remove rotation in path map

11 days agoMerge pull request #134 from zjs81/dev-gpx
Winston Lowe [Mon, 9 Feb 2026 01:15:26 +0000 (17:15 -0800)]
Merge pull request #134 from zjs81/dev-gpx

Added a export to a GPX

11 days agoMerge branch 'main' into dev-gpx
Winston Lowe [Mon, 9 Feb 2026 01:13:18 +0000 (17:13 -0800)]
Merge branch 'main' into dev-gpx

11 days agoMerge pull request #141 from zjs81/dev-NewPathTracing
Winston Lowe [Mon, 9 Feb 2026 01:10:16 +0000 (17:10 -0800)]
Merge pull request #141 from zjs81/dev-NewPathTracing

Implement PathTraceMapScreen and refactor path tracing functionality

12 days agoIntegrate SharePlus plugin for enhanced sharing functionality across platforms
Winston Lowe [Sun, 8 Feb 2026 20:26:49 +0000 (12:26 -0800)]
Integrate SharePlus plugin for enhanced sharing functionality across platforms

12 days agoAdd scrollbar to path trace details list for improved navigation
Winston Lowe [Sun, 8 Feb 2026 20:25:51 +0000 (12:25 -0800)]
Add scrollbar to path trace details list for improved navigation

12 days agoUpdated GPX export functionality for contacts and repeaters in multiple languages.
Winston Lowe [Sun, 8 Feb 2026 20:14:03 +0000 (12:14 -0800)]
Updated GPX export functionality for contacts and repeaters in multiple languages.

12 days agoAdd localization for missing location error in path tracing
Winston Lowe [Sun, 8 Feb 2026 19:57:04 +0000 (11:57 -0800)]
Add localization for missing location error in path tracing

12 days agoImplement PathTraceMapScreen and refactor path tracing functionality across screens
Winston Lowe [Sun, 8 Feb 2026 19:32:36 +0000 (11:32 -0800)]
Implement PathTraceMapScreen and refactor path tracing functionality across screens

12 days agoEnhance GPX export functionality with customizable parameters and improved metadata
Winston Lowe [Sun, 8 Feb 2026 03:45:02 +0000 (19:45 -0800)]
Enhance GPX export functionality with customizable parameters and improved metadata

13 days agoran formating
Winston Lowe [Sat, 7 Feb 2026 19:07:57 +0000 (11:07 -0800)]
ran formating

13 days agoMerge pull request #132 from zjs81/add-test-action
Ded [Sat, 7 Feb 2026 16:33:16 +0000 (08:33 -0800)]
Merge pull request #132 from zjs81/add-test-action

add flutter test to actions

2 weeks agoRefactor GPX export constants to use lowercase naming convention and improve export...
Winston Lowe [Thu, 5 Feb 2026 21:46:05 +0000 (13:46 -0800)]
Refactor GPX export constants to use lowercase naming convention and improve export function error handling

2 weeks agoAdd GPX export functionality and related UI components
Winston Lowe [Thu, 5 Feb 2026 21:38:49 +0000 (13:38 -0800)]
Add GPX export functionality and related UI components

2 weeks agoadd flutter test to actions
446564 [Thu, 5 Feb 2026 17:36:43 +0000 (09:36 -0800)]
add flutter test to actions

2 weeks agoremove rotation in path map
446564 [Thu, 5 Feb 2026 17:24:24 +0000 (09:24 -0800)]
remove rotation in path map

when zooming on the path map view window the rotation was too easy to trigger and
provided little value to understanding the path

2 weeks agoMerge pull request #129 from zjs81/remove-msg-prefix
Ded [Thu, 5 Feb 2026 16:58:43 +0000 (08:58 -0800)]
Merge pull request #129 from zjs81/remove-msg-prefix

remove direct msg notification prefix

2 weeks agoremove direct msg notification prefix
446564 [Thu, 5 Feb 2026 16:33:07 +0000 (08:33 -0800)]
remove direct msg notification prefix

The prefix "New message from " takes up a lot of space and was not localized anyway.

2 weeks agoRefactor unread message tracking and implement channel caching (#126)
zjs81 [Thu, 5 Feb 2026 03:34:03 +0000 (20:34 -0700)]
Refactor unread message tracking and implement channel caching (#126)

* Refactor unread message tracking and implement channel caching

* formatted files

2 weeks agoMerge pull request #125 from zjs81/reduce-build-steps
Ded [Wed, 4 Feb 2026 20:42:24 +0000 (12:42 -0800)]
Merge pull request #125 from zjs81/reduce-build-steps

stop building twice for pull requests on branches from this repo

2 weeks agoMerge pull request #123 from zjs81/dart-format
Ded [Wed, 4 Feb 2026 20:41:46 +0000 (12:41 -0800)]
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.

2 weeks agostop building twice for pull requests
446564 [Wed, 4 Feb 2026 17:02:03 +0000 (09:02 -0800)]
stop building twice for pull requests

we should only run the build steps on a pull request OR a push to main

2 weeks agoreduce jobs for flutter and dart
446564 [Wed, 4 Feb 2026 16:59:29 +0000 (08:59 -0800)]
reduce jobs for flutter and dart

no need to setup the env twice the exact same way as they don't conflict

2 weeks agocombine flutter and dart actions
446564 [Wed, 4 Feb 2026 16:56:40 +0000 (08:56 -0800)]
combine flutter and dart actions

reduce time to complete and stop running twice for pull requests

2 weeks agofix dart format workflow install deps step
446564 [Wed, 4 Feb 2026 16:36:56 +0000 (08:36 -0800)]
fix dart format workflow install deps step

needs to use flutter pub get not dart pub get

2 weeks agowrap returns from if blocks
446564 [Wed, 4 Feb 2026 16:34:37 +0000 (08:34 -0800)]
wrap returns from if blocks

fixes two analyzer errors for return blocks on new lines from if blocks

2 weeks agoadd dart format workflow
446564 [Wed, 4 Feb 2026 16:33:09 +0000 (08:33 -0800)]
add dart format workflow

checks code has been formatted with dart format on push and pull request

adds a note in README for contributors

2 weeks agoformat dart files
446564 [Wed, 4 Feb 2026 16:32:35 +0000 (08:32 -0800)]
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

2 weeks agoMerge pull request #59 from 446564/community-#-names
Ded [Wed, 4 Feb 2026 04:08:42 +0000 (20:08 -0800)]
Merge pull request #59 from 446564/community-#-names

add community to hashtag channel name

2 weeks agoissue #112 fixes and more
Zach [Mon, 2 Feb 2026 01:37:14 +0000 (18:37 -0700)]
issue #112 fixes and more

2 weeks agoMerge pull request #115 from zjs81/advert-intervals
zjs81 [Mon, 2 Feb 2026 00:10:46 +0000 (17:10 -0700)]
Merge pull request #115 from zjs81/advert-intervals

allow disable repeater adverts

2 weeks agoThe first issue was that the toggle switch states weren't being initialized when...
Zach [Mon, 2 Feb 2026 00:08:53 +0000 (17:08 -0700)]
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.

2 weeks agoMerge remote-tracking branch 'origin/main' into advert-intervals
Zach [Mon, 2 Feb 2026 00:03:53 +0000 (17:03 -0700)]
Merge remote-tracking branch 'origin/main' into advert-intervals

2 weeks agoMerge pull request #118 from wel97459/dev-shareContact
zjs81 [Sun, 1 Feb 2026 23:59:21 +0000 (16:59 -0700)]
Merge pull request #118 from wel97459/dev-shareContact

Adds contact shearing

2 weeks agofix commit
Zach [Sun, 1 Feb 2026 23:57:17 +0000 (16:57 -0700)]
fix commit

2 weeks agoMerge remote-tracking branch 'origin/main' into dev-shareContact
Zach [Sun, 1 Feb 2026 21:18:35 +0000 (14:18 -0700)]
Merge remote-tracking branch 'origin/main' into dev-shareContact

2 weeks agoMerge pull request #117 from wel97459/dev-reconnection
Winston Lowe [Sun, 1 Feb 2026 06:28:35 +0000 (22:28 -0800)]
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.

2 weeks agoRan translation script
Winston Lowe [Sun, 1 Feb 2026 06:19:01 +0000 (22:19 -0800)]
Ran translation script

2 weeks agoMerge pull request #114 from zjs81/obtainum-btn
Ded [Sun, 1 Feb 2026 04:07:08 +0000 (20:07 -0800)]
Merge pull request #114 from zjs81/obtainum-btn

add obtainium badge

2 weeks agouse switch for advert enable/disable
446564 [Sun, 1 Feb 2026 01:07:24 +0000 (17:07 -0800)]
use switch for advert enable/disable

move style to align with other toggles and use a switch instead of a checkbox

2 weeks ago_requestDeviceInfo added isConnected not already _awaitingSelfInfo
Winston Lowe [Sun, 1 Feb 2026 00:03:05 +0000 (16:03 -0800)]
_requestDeviceInfo added isConnected not already _awaitingSelfInfo

2 weeks agoReplace action buttons with a popup menu for better UI/UX on channels and map screens
Winston Lowe [Sat, 31 Jan 2026 23:25:34 +0000 (15:25 -0800)]
Replace action buttons with a popup menu for better UI/UX on channels and map screens

2 weeks agoAdded zero-hop contact sharing functionality and related UI updates
Winston Lowe [Sat, 31 Jan 2026 23:00:33 +0000 (15:00 -0800)]
Added zero-hop contact sharing functionality and related UI updates

2 weeks agoPrevent disconnection handling when already disconnected, curing a race condition.
Winston Lowe [Sat, 31 Jan 2026 22:55:55 +0000 (14:55 -0800)]
Prevent disconnection handling when already disconnected, curing a race condition.

2 weeks agoMerge branch 'dev-shareContacts' into dev-shareContact
Winston Lowe [Sat, 31 Jan 2026 16:02:35 +0000 (08:02 -0800)]
Merge branch 'dev-shareContacts' into dev-shareContact

3 weeks agoallow disable repeater adverts
446564 [Fri, 30 Jan 2026 19:05:57 +0000 (11:05 -0800)]
allow disable repeater adverts

Adds checkbox to disable adverts and flood adverts

Also updates flood avert range to new max of 168 hours

3 weeks agoadd obtainium badge
446564 [Fri, 30 Jan 2026 16:44:03 +0000 (08:44 -0800)]
add obtainium badge

allow users to easily add app to obtainium
https://apps.obtainium.imranr.dev

3 weeks agoMerge branch 'main' into community-#-names
Ded [Thu, 29 Jan 2026 16:07:05 +0000 (08:07 -0800)]
Merge branch 'main' into community-#-names

3 weeks agofeat: optimize reaction message format to reduce airtime
Zach [Thu, 29 Jan 2026 06:21:04 +0000 (23:21 -0700)]
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

3 weeks agofeat: add Russian and Ukrainian to language selector
Zach [Thu, 29 Jan 2026 05:26:14 +0000 (22:26 -0700)]
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.

3 weeks agoMerge origin/main into pr-106
Zach [Thu, 29 Jan 2026 05:22:26 +0000 (22:22 -0700)]
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.