Conversation
adds a new widget that counts bytes during entry configurable limit and shows user both count and limit provides color feedback use new widget in chat and channel text entry
add byte counted text input
this adds the actual last modified timestamp when present, before we used last advert time as last modified in error also sets _pendingInitialContactsSync to true on first connect over BLE
- Updated localization files for multiple languages to change the representation of multi-ACK settings from a string with a placeholder to a simple string. - Removed unnecessary placeholder definitions for multi-ACK in localization files. - Adjusted the settings screen to replace the slider for multi-ACK with a switch, simplifying the user interface. - Updated the Podfile.lock to remove the wakelock_plus dependency.
#401 make multi ack a toggle
…at in channel chat
…on with same label with drawing line, get marker back after deletion in map through tabbing on icon in poi-message.
- Pass initialUnreadCount to chat screens before markRead clears it - Use two-phase scroll: jumpTo estimated offset to build lazy items, then ensureVisible for precise positioning - Await ensureVisible before clearing scroll guard to prevent scrollToBottomIfAtBottom from overriding the animation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add "Mark as Unread" option to message context menu in both contact and channel chats - Show "New messages" divider line between read and unread messages - Add setContactUnreadCount/setChannelUnreadCount methods to connector Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove stray Navigator.pop(context) in _markAsUnread for both contact and channel chats so the action no longer exits the conversation - Thread initialUnreadCount through map discovered-contact "Open Chat" button so the unread divider/jump still fires from that entry point Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
default should be higher assuming trees etc
just repeater stats for now total channel utilization over uptime i.e. util = (rxsecs+txsecs) / upsecs
not mine still
increase CR for off grid
IP was being used but not required, could be domain name as well.
companion protocol so changed to companion and ref: BLE/TCP/USB
Per issue #418, this commmit removes channel subtitles from the channel list and from the map screen (deep in the marker sharing). This reduces visual clutter and allows for more compact lists, and the type of channel is already indicated by the leading icon. The subtitles simply said "Public channel", "Hashtag channel", or "Private channel". We also remove the relevant localization strings.
The function emitted two consecutive 8-byte position blocks instead of one, producing a frame 8 bytes longer than the documented layout. When a caller passed lastModified, the firmware parsed the duplicated second lat as the timestamp, giving wildly wrong "last seen" values on imported contacts. Delete the unconditional first block; keep the conditional block that correctly skips the optional tail when neither location nor lastModified is set, zero-fills position slots when only lastModified is present, and appends the optional timestamp. Adds test/connector/build_update_contact_path_frame_test.dart with five cases covering all four optional-tail combinations plus the fixed-point lat/lon encoding. Fixes #427
fix: lat/lon double-write in buildUpdateContactPathFrame
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
# Conflicts: # lib/l10n/app_bg.arb # lib/l10n/app_de.arb # lib/l10n/app_es.arb # lib/l10n/app_fr.arb # lib/l10n/app_hu.arb # lib/l10n/app_it.arb # lib/l10n/app_ja.arb # lib/l10n/app_ko.arb # lib/l10n/app_localizations_es.dart # lib/l10n/app_localizations_it.dart # lib/l10n/app_localizations_nl.dart # lib/l10n/app_localizations_pt.dart # lib/l10n/app_localizations_sv.dart # lib/l10n/app_localizations_uk.dart # lib/l10n/app_nl.arb # lib/l10n/app_pl.arb # lib/l10n/app_pt.arb # lib/l10n/app_ru.arb # lib/l10n/app_sk.arb # lib/l10n/app_sl.arb # lib/l10n/app_sv.arb # lib/l10n/app_uk.arb # lib/l10n/app_zh.arb
Reflect the set value immediately so UI bound to currentCustomVars (e.g. the GPS toggle in settings) updates on tap rather than waiting for a later device-info refresh.
Gps toggle in settings
Remove channel subtitles from UI
rename ble debug log
reword tcp host
basic repeater chan util
- Updated supported languages to include Hungarian, Japanese, and Korean. - Added new on-device message translation feature with detailed usage instructions. - Introduced emoji reactions in chat with user interface and functionality details. - Implemented linkification for automatic detection of URLs and meshcore URIs in messages. - Added GPX export functionality for contacts with GPS coordinates. - Enabled pinch-to-zoom for chat text scaling. - Documented background service for Android to maintain BLE connection in the background. - Revised BLE protocol documentation to reflect changes in connection state machine and command codes. - Updated channels documentation to clarify message display and interaction options. - Enhanced chat and messaging documentation with new translation button and message metadata. - Clarified contact actions in contacts documentation. - Adjusted map and location documentation for improved node name visibility and filter options. - Revised navigation documentation to streamline disconnection process. - Improved notification documentation to specify batch notification behavior. - Updated repeater management documentation to reflect new features and settings. - Enhanced scanner and connection documentation for device filtering and connection timeout. - Expanded settings documentation to include new translation options. - Removed jni plugin references from generated plugin files for Linux and Windows.
Feature Request: alternative compression by replace some 2-byte symbols by 1-byte latin analogs (named Cyr2Lat)
…move unused translations from Russian language issue: 280
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6900e5c3db
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| _gpsLocationPollTimer = null; | ||
| return; | ||
| } | ||
| unawaited(sendFrame(buildAppStartFrame())); |
There was a problem hiding this comment.
Avoid polling GPS through the startup sync path
When gps=1 is enabled, this timer sends CMD_APP_START every minute, but the existing self-info handler treats every resulting RESP_CODE_SELF_INFO as a startup handshake: it reloads stores and calls getContacts() (which clears _contacts unless preserveExisting is true). On BLE/USB/TCP devices with GPS enabled this will repeatedly clear/resync contacts and add avoidable radio/BLE traffic once per minute just to refresh self latitude/longitude. Route GPS refreshes through a handler that only updates self location, or guard _handleSelfInfo so the initial contact sync only runs during the real handshake.
Useful? React with 👍 / 👎.
…ent version to 9.0.0
No description provided.