mirror of
https://github.com/ratspeak/ratdeck.git
synced 2026-10-15 14:09:52 +00:00
v1.1.0: UI polish, LXMF messaging fixes, keyboard cleanup
- Remove boot display test (color bars + 1.5s delay) - Show identity hashes on NodesScreen (colon-formatted, matching own identity display) - Show node names in MessagesScreen and MessageView instead of raw hex - Add message status indicators in chat (*/!/~ for sent/failed/queued) - Fix LXMF send: retry Identity::recall() up to 5 times before failing - Add LXMF logging throughout send/receive/queue drain - Remove Alt+IJML arrow key mapping (obsolete with trackball) - Filter own node from discovered nodes list - Update troubleshooting docs with SetModulationParams STDBY fix
This commit is contained in:
@@ -55,11 +55,17 @@ void AnnounceManager::received_announce(
|
||||
if (rawName.empty()) rawName = app_data.toString();
|
||||
name = sanitizeName(rawName);
|
||||
}
|
||||
// Filter out own announces
|
||||
if (_localDestHash.size() > 0 && destination_hash == _localDestHash) return;
|
||||
|
||||
Serial.printf("[ANNOUNCE] From: %s name=\"%s\"\n", destination_hash.toHex().c_str(), name.c_str());
|
||||
|
||||
std::string idHex = announced_identity.hexhash();
|
||||
|
||||
for (auto& node : _nodes) {
|
||||
if (node.hash == destination_hash) {
|
||||
if (!name.empty()) node.name = name;
|
||||
if (!idHex.empty()) node.identityHex = idHex;
|
||||
node.lastSeen = millis();
|
||||
node.hops = RNS::Transport::hops_to(destination_hash);
|
||||
if (node.saved) saveContact(node);
|
||||
@@ -86,6 +92,7 @@ void AnnounceManager::received_announce(
|
||||
DiscoveredNode node;
|
||||
node.hash = destination_hash;
|
||||
node.name = name.empty() ? destination_hash.toHex().substr(0, 12) : name;
|
||||
node.identityHex = idHex;
|
||||
node.lastSeen = millis();
|
||||
node.hops = RNS::Transport::hops_to(destination_hash);
|
||||
_nodes.push_back(node);
|
||||
@@ -96,6 +103,11 @@ const DiscoveredNode* AnnounceManager::findNode(const RNS::Bytes& hash) const {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const DiscoveredNode* AnnounceManager::findNodeByHex(const std::string& hexHash) const {
|
||||
for (const auto& n : _nodes) { if (n.hash.toHex() == hexHash) return &n; }
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void AnnounceManager::addManualContact(const std::string& hexHash, const std::string& name) {
|
||||
RNS::Bytes hash;
|
||||
hash.assignHex(hexHash.c_str());
|
||||
|
||||
Reference in New Issue
Block a user