DefencebayDefencebayDefencebayDefencebay

0

Ładowanie ...

New Update: Safer MESH Connectivity, Better Chat, and Greater Field Control

PRZEWIŃ

We've just released a new TROP version, focusing on three key areas: reliable field connectivity, better situational clarity, and security. 
This isn't an update "for the sake of updating" – every change addresses specific problems that teams working in challenging conditions encounter.

Automatic Meshtastic Configuration – No More Manual Channel Setup

One of the most frustrating aspects of working with mesh networks has been manually configuring each device. You had to synchronize settings, make sure everyone had the same PSK key, and hope nobody made a mistake.

Now, if all devices in the team are enrolled to the same TAK server, the app automatically derives the PSK key from the enrollment certificate. In practice, this means:

  • Only registered devices can enter mesh communication
  • You don't need to manually copy and paste keys
  • The entire team has consistent settings from mission start

This is a change that saves time during preparations and eliminates one of the most common failure points.

Team Visualization – Finally Know Who's Who

On a map with dozens of contacts, it's easy to lose orientation. Who's from which team? Who's responsible for a given sector?

We've added team-based contact coloring – both the icon and border have the color assigned to the team. It's a simple change, but in practice it drastically speeds up decision-making and reduces the risk of coordination errors.

Chat That Doesn't Generate Chaos

Chat in previous versions had several annoying issues: duplicate messages, incorrect unread counters, sometimes chaotic conversation history. In this update, we've rewritten the deduplication logic.

Now messages are deduplicated by both ID and content. This means less noise, correct counters, and more consistent history. Additionally, we've introduced support for read receipts and delivery acknowledgments – you see in real-time whether your message arrived and whether someone read it.

In field operations, this is often the difference between "I sent it" and "I'm certain someone saw it".

Marker Delivery Status Over Mesh – You Know if Information Got Through

When you send a marker over mesh network, you previously had no idea whether it arrived or got lost somewhere along the way. Now you have real-time feedback: pending, sending, sent, failed.

When the network is unstable and you need to know whether critical information reached the team – this isn't "nice to have". It's fundamental.

"Stale" Contacts – No More Ghosts on the Map

Inactive contacts can clutter the map and make it harder to read the situation. We've added the ability to visually distinguish stale contacts (grayed out) and automatically hide them from the map.

Now you only see what's current. The map shows reality again, not history.

What Else Has Changed?

MESH / Meshtastic / LoRa Connectivity

  • LoRa region selection (US, EU, CN, JP, ANZ, KR, TW, and others) – full global support
  • Mission channel management UI – allocating and configuring Meshtastic channels per mission
  • Mesh message validation and hard protection against flood/replay (deduplicator)
  • Circuit breaker for connection resilience – better behavior in unstable conditions
  • Firmware compatibility check (minimum version) – fewer problems "at startup"

Map, Markers, Measurements, Offline

  • Manual position mode: set position manually (coordinates or map click) – useful for tests and scenarios without GPS
  • Region selection for offline maps: visual region selector + variable overlay for downloading tiles
  • Improved measurement mode: adding waypoints from crosshair + better elevation retrieval
  • Ground overlay + KML import (including ground overlay) – convenient layers for analysis and planning
  • Shape and path detection + route/path icons

Chat and Communication

  • Message deduplication by ID and content (fewer duplicates, less load)
  • Read receipts + delivery acknowledgments in chat protocol (generation + parsing)
  • Unread counter in main menu – quick overview without entering chat

Video

  • Quick access to streams in radial menu (WatchStream)
  • Stream URL resolver + playback with VLC preference (better compatibility)

Security

  • PSK derivation upgrade: HKDF instead of SHA256 (stronger cryptographic key derivation)
  • Security Dashboard – security monitoring and management
  • Secure credential management: AuthenticationStateManager + biometrics; secure access model

Platform / UI

  • New app icons for iOS/iPadOS/watchOS/macOS
  • Consistent icon sizes, better spacing, refreshed panels and toolbars
  • Hints in measurement HUD
  • Extended localizations (including French, Polish) and better string formatting

Fixed Bugs

  • Fixed chat message duplication problem (missing deduplication logic)
  • Correct unread count – without artificial inflation on old messages
  • Team color matching case-insensitive
  • Fixed team icon border rendering (border within bounds)
  • TCP reconnection: reconnect for any POSIX error (more reliable)
  • Marker broadcast: correct sending to TAK server and mesh
  • Better connectivity check before processing outbox
  • AGL fixes and battery clamp 0–100

Performance and Stability Improvements

Performance and Battery

  • Fewer unnecessary operations (e.g., Core Data) – conversation metadata updates only for new messages
  • Map rendering optimizations (skipping stale contacts if they're not temporary)
  • Battery saving in TCP, Meshtastic, streaming, and map; better location update management

Connection Stability and Diagnostics

  • Retry + timeout in config applier (Meshtastic config works more predictably)
  • Better TCP logging and error handling
  • SyncDiagnosticsView shows items in outbox – you see what's "waiting"

Why This Matters

Each of these changes was created in response to feedback from teams working in the field. It's not about adding features for the sake of features – it's about making the app a tool you can rely on in situations where there's no room for error.

  • Start missions faster: less manual mesh configuration, fewer failure points
  • Get clearer situational awareness: team colors, stale contacts, marker delivery status
  • Have more reliable communication: deduplication, read receipts, and on the mesh side – flood/replay protection
  • Get better resilience and battery savings: these aren't "nice additions", they're real hours of operation

Frequently Asked Questions

Does automatic Meshtastic configuration work for everyone?
It works for devices enrolled to the same server – PSK is derived from the certificate.

What's the point of "stale contacts"?
So the map doesn't show "ghosts" and you only see what's current.

What does HKDF in PSK provide?
Stronger and more standard key derivation – harder to get weak resulting keys and better cryptographic resilience.

Are read receipts mandatory?
It's a supporting feature – in many teams it's useful for confirming execution/reading.

If you use the app in field operations – this version is built exactly for that: more reliable mesh, clearer map, and chat that provides confirmations. Update the app and let us know which elements most improve your team's work.


Właśnie wypuściliśmy kolejną wersję TROP w której skupiliśmy się na trzech kluczowych obszarach: pewnej łączności w terenie, większej czytelności sytuacji oraz bezpieczeństwie. 
To nie jest aktualizacja "dla aktualizacji" – każda zmiana odpowiada na konkretne problemy, z którymi spotykają się zespoły pracujące w trudnych warunkach.

Automatyczna konfiguracja Meshtastic – koniec z ręcznym ustawianiem kanałów

Jedną z najbardziej frustrujących rzeczy w pracy z siecią mesh było dotychczas ręczne konfigurowanie każdego urządzenia. Musieliście synchronizować ustawienia, pilnować, żeby wszyscy mieli ten sam klucz PSK, i liczyć na to, że nikt się nie pomyli.

Teraz, jeśli wszystkie urządzenia w zespole są zapisane do tego samego serwera TAK, aplikacja automatycznie wyprowadza klucz PSK z certyfikatu enrolmentu. W praktyce oznacza to, że:

  • Tylko zarejestrowane urządzenia mogą wejść w komunikację mesh
  • Nie musisz ręcznie kopiować i wklejać kluczy
  • Cały zespół ma spójne ustawienia od momentu startu misji

To zmiana, która oszczędza czas podczas przygotowań i eliminuje jeden z najczęstszych punktów awarii.

Wizualizacja zespołów – w końcu wiadomo, kto jest kim

Na mapie, gdzie masz kilkanaście lub kilkadziesiąt kontaktów, łatwo stracić orientację. Kto jest z jakiego zespołu? Kto jest odpowiedzialny za dany sektor?

Dodaliśmy kolorowanie kontaktów według zespołów – zarówno ikona, jak i obramowanie mają kolor przypisany do zespołu. To prosta zmiana, ale w praktyce drastycznie przyspiesza podejmowanie decyzji i redukuje ryzyko błędów w koordynacji.

Czat, który nie generuje chaosu

Czat w poprzednich wersjach miał kilka denerwujących problemów: duplikaty wiadomości, błędne liczniki nieprzeczytanych, czasem chaotyczna historia rozmów. W tej aktualizacji przepisaliśmy logikę deduplikacji.

Teraz wiadomości są deduplikowane zarówno po ID, jak i po treści. Oznacza to mniej szumu, poprawne liczniki i spójniejszą historię. Dodatkowo wprowadziliśmy wsparcie dla read receipts i delivery acknowledgments – widzisz w czasie rzeczywistym, czy Twoja wiadomość dotarła i czy ktoś ją przeczytał.

W działaniach terenowych to często różnica między "wysłałem" a "mam pewność, że ktoś to zobaczył".

Statusy wysyłki markerów przez mesh – wiesz, czy informacja doszła

Kiedy wysyłasz marker przez sieć mesh, wcześniej nie miałeś pojęcia, czy dotarł, czy zginął gdzieś po drodze. Teraz masz real-time feedback: pending, sending, sent, failed.

Gdy sieć jest niestabilna, a Ty musisz wiedzieć, czy kluczowa informacja dotarła do zespołu – to nie jest "nice to have". To podstawa.

"Stare" kontakty – koniec z duchami na mapie

Nieaktywne kontakty mogą zaśmiecać mapę i utrudniać czytanie sytuacji. Dodaliśmy funkcję wizualnego odróżniania starych kontaktów (wyszarzenie) oraz możliwość automatycznego ukrywania ich z mapy.

Teraz widzisz tylko to, co jest aktualne. Mapa znów pokazuje rzeczywistość, a nie historię.

Co jeszcze się zmieniło?

Łączność MESH / Meshtastic / LoRa

  • Wybór regionu LoRa (US, EU, CN, JP, ANZ, KR, TW i inne) – pełne wsparcie globalne
  • UI do zarządzania kanałami misji – alokowanie i konfiguracja kanałów Meshtastic per misja
  • Walidacja wiadomości mesh i twarda ochrona przed flood/replay (deduplicator)
  • Circuit breaker dla odporności połączeń – lepsze zachowanie przy niestabilnych warunkach
  • Check kompatybilności firmware (minimalna wersja) – mniej problemów "na starcie"

Mapa, markery, pomiary, offline

  • Tryb manualnej pozycji: ustawiasz pozycję ręcznie (koordynaty lub klik na mapie) – przydatne w testach i scenariuszach bez GPS
  • Region selection dla map offline: wizualny selektor regionu + zmienny overlay do pobierania kafli
  • Ulepszony measurement mode: dodawanie waypointów spod crosshair + lepsze pobieranie wysokości
  • Ground overlay + import KML (w tym ground overlay) – wygodne warstwy do analiz i planowania
  • Wykrywanie kształtów i ścieżek + ikony tras / ścieżek

Czat i komunikacja

  • Deduplikacja wiadomości po ID i treści (mniej duplikatów, mniejsze obciążenie)
  • Read receipts + delivery acknowledgments w protokole czatu (generowanie + parsowanie)
  • Licznik nieprzeczytanych w menu głównym – szybki wgląd bez wchodzenia w czat

Wideo

  • Szybki dostęp do streamów w menu radialnym (WatchStream)
  • Resolver URL streamu + odtwarzanie z preferencją VLC (lepsza kompatybilność)

Security / bezpieczeństwo

  • PSK derivation upgrade: HKDF zamiast SHA256 (mocniejsza kryptograficzna derywacja kluczy)
  • Security Dashboard – monitoring i zarządzanie bezpieczeństwem
  • Bezpieczne zarządzanie poświadczeniami: AuthenticationStateManager + biometria; bezpieczny model dostępu

Platform / UI

  • Nowe ikony aplikacji dla iOS/iPadOS/watchOS/macOS
  • Spójne rozmiary ikon, lepsze spacingi, odświeżone panele i toolbary
  • Wskazówki (hints) w HUD pomiarów
  • Rozszerzone lokalizacje (m.in. francuski, polski) i lepsze formatowanie stringów

Naprawione błędy

  • Naprawa problemu duplikowania wiadomości czatu (brak logiki deduplikacji)
  • Poprawny unread count – bez sztucznego nabijania przy starych wiadomościach
  • Team color matching bez wrażliwości na wielkość liter (case-insensitive)
  • Poprawione renderowanie obramowań ikon zespołów (border w granicach)
  • TCP reconnection: reconnect dla dowolnego błędu POSIX (bardziej niezawodne)
  • Marker broadcast: poprawne wysyłanie na serwer TAK i do mesh
  • Lepsze connectivity check przed przetwarzaniem outboxa
  • Fixy AGL i clamp baterii 0–100

Usprawnienia wydajności i stabilności

Wydajność i bateria

  • Mniej zbędnych operacji (np. Core Data) – aktualizacje metadanych rozmów tylko dla nowych wiadomości
  • Optymalizacje renderingu mapy (pomijanie starych kontaktów, jeśli nie są tymczasowe)
  • Oszczędzanie baterii w TCP, Meshtastic, streamingu i mapie; lepsze zarządzanie aktualizacjami lokalizacji

Stabilność połączeń i diagnostyka

  • Retry + timeout w config applier (konfig Meshtastic działa bardziej przewidywalnie)
  • Lepsze logowanie i obsługa błędów w TCP
  • SyncDiagnosticsView pokazuje elementy w outboxie – widać, co "czeka"

Dlaczego to ma znaczenie?

Każda z tych zmian powstała w odpowiedzi na feedback od zespołów pracujących w terenie. Nie chodzi o dodawanie funkcji dla samych funkcji – chodzi o to, żeby aplikacja była narzędziem, na którym można polegać w sytuacjach, gdzie nie ma miejsca na błąd.

  • Szybciej startujesz misję: mniej ręcznej konfiguracji mesh, mniej punktów awarii
  • Masz czytelniejszy obraz sytuacji: kolor zespołu, stale contacts, status wysyłki markerów
  • Masz pewniejszą komunikację: deduplikacja, read receipts, a po stronie mesh – ochrona przed flood/replay
  • Masz większą odporność i oszczędność baterii: to nie są "miłe dodatki", tylko realne godziny działania

Najczęściej zadawane pytania

Czy automatyczna konfiguracja Meshtastic działa dla każdego?
Działa dla urządzeń enrolled do tego samego serwera – PSK jest wyprowadzany z certyfikatu.

Po co "stale contacts"?
Żeby mapa nie pokazywała "duchów" i żebyś widział tylko to, co jest aktualne.

Co daje HKDF w PSK?
Silniejszą i bardziej standardową derywację klucza – trudniej o słabe klucze wynikowe i lepsza odporność kryptograficzna.

Czy read receipts są obowiązkowe?
To funkcja wspierająca – w wielu zespołach przydaje się do potwierdzania wykonania / odczytu.

Defencebay

Sprawdzone w działaniu
budowane dla Polski

Zdobywaliśmy kompetencje w realnych operacjach — od Ukrainy, gdzie sieciocentryczne systemy łączności potwierdziły swoją skuteczność, po projekty dla firm współpracujących z amerykańskim DoD.

Dziś przekuwamy te doświadczenia w wzmocnienie obronności kraju, oferując nowoczesny, made in Poland ekosystem łączności: TROP (polska wersja TAK), zarządzane serwery TROP/TAK (pojazd/chmura/on‑prem) oraz odporne radia Mesh LoRa z natywną synchronizacją Mesh↔IP i trybem off‑grid.