From 5a7a9476f8b30ff4b27905763acbbeba76289f25 Mon Sep 17 00:00:00 2001 From: MarekWo Date: Sat, 21 Feb 2026 08:20:10 +0100 Subject: [PATCH] feat: Always show analyzer link for incoming msgs + flask icon Generate analyzer_url from computed pkt_payload for all incoming channel messages, not just those with echo path matches. This means the analyzer button appears even when no route paths were captured. Also change analyzer button icon from bi-search (magnifying glass) to bi-flask (lab flask) to better convey "analysis/inspection". Co-Authored-By: Claude Opus 4.6 --- app/routes/api.py | 13 ++++++++----- app/static/js/app.js | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/routes/api.py b/app/routes/api.py index 17d47d4..ad4dd64 100644 --- a/app/routes/api.py +++ b/app/routes/api.py @@ -379,27 +379,30 @@ def get_messages(): if not msg.get('is_own') and msg.get('sender_timestamp') and msg.get('channel_idx') in channel_secrets: secret = channel_secrets[msg['channel_idx']] matched = False + computed_payload = None for attempt in range(4): try: - payload = compute_pkt_payload( + computed_payload = compute_pkt_payload( secret, msg['sender_timestamp'], msg.get('txt_type', 0), msg.get('raw_text', ''), attempt ) except Exception: break - if payload in incoming_by_payload: - entry = incoming_by_payload[payload] + if computed_payload in incoming_by_payload: + entry = incoming_by_payload[computed_payload] msg['paths'] = entry.get('paths', []) - msg['analyzer_url'] = compute_analyzer_url(payload) matched = True break + # Always set analyzer_url from computed payload (attempt 0) + if computed_payload: + msg['analyzer_url'] = compute_analyzer_url(computed_payload) if not matched and incoming_by_payload: raw = msg.get('raw_text', '') logger.debug( f"Echo mismatch: ts={msg.get('sender_timestamp')} " f"ch={msg.get('channel_idx')} " f"text_bytes={len(raw.encode('utf-8'))} " - f"computed_payload={payload[:16]}... " + f"computed_payload={computed_payload[:16] if computed_payload else 'None'}... " f"text_preview={raw[:40]!r}" ) except Exception as e: diff --git a/app/static/js/app.js b/app/static/js/app.js index 7e87f66..c9ba00a 100644 --- a/app/static/js/app.js +++ b/app/static/js/app.js @@ -751,7 +751,7 @@ function createMessageElement(msg) { ${echoDisplay} ${msg.analyzer_url ? ` ` : ''} ` : ''}