fix(chat): prevent poll-triggered reload after send by using server timestamp

The 60s checkForUpdates poll was detecting has_updates due to clock skew
between client and server timestamps. Now the send API returns the server
timestamp, and the frontend uses it for markChannelAsRead — ensuring the
poll sees no updates for own sent messages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
MarekWo
2026-03-31 10:28:54 +02:00
parent 6eb2250d88
commit 29e5e6982d
4 changed files with 14 additions and 12 deletions
+5 -4
View File
@@ -601,21 +601,22 @@ def send_message():
channel_idx = data.get('channel_idx', 0)
# Send message via meshcli
success, message, msg_id = cli.send_message(text, reply_to=reply_to, channel_index=channel_idx)
result = cli.send_message(text, reply_to=reply_to, channel_index=channel_idx)
if success:
if result['success']:
# v2: Echo tracking is handled automatically by DeviceManager events
return jsonify({
'success': True,
'message': 'Message sent successfully',
'channel_idx': channel_idx,
'id': msg_id,
'id': result.get('id'),
'timestamp': result.get('timestamp'),
}), 200
else:
return jsonify({
'success': False,
'error': message
'error': result.get('error', 'Failed to send message')
}), 500
except Exception as e: