Skip to content

Commit 2a529ed

Browse files
committed
mark messages with origin
1 parent 810eb78 commit 2a529ed

File tree

1 file changed

+31
-22
lines changed

1 file changed

+31
-22
lines changed

index.html

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,10 @@
230230
.sds-id {
231231
font-size: 7px;
232232
}
233+
234+
.source-label {
235+
font-size: 8px;
236+
}
233237
}
234238

235239
/* Very small screens */
@@ -295,39 +299,41 @@
295299
margin-left: 1px;
296300
}
297301

298-
/* SDS Message ID styling */
299-
.sds-id {
302+
/* Source label styling */
303+
.source-label {
300304
position: absolute;
301305
right: 0;
302306
top: 0;
303-
font-size: 8px;
307+
font-size: 9px;
304308
color: #00ff00;
305309
opacity: 0.4;
306310
font-family: 'Share Tech Mono', monospace;
307311
transition: opacity 0.2s ease;
308312
pointer-events: none;
309313
z-index: 1;
310314
background: rgba(0, 17, 0, 0.8);
311-
padding: 1px 3px;
315+
padding: 1px 4px;
312316
border-radius: 2px;
313317
border: 1px solid rgba(0, 255, 0, 0.2);
318+
font-weight: bold;
319+
white-space: nowrap;
314320
}
315321

316-
.message:hover .sds-id {
322+
.message:hover .source-label {
317323
opacity: 0.9;
318324
color: #00ff00;
319325
}
320326

321-
.message.system-message .sds-id {
327+
.message.system-message .source-label {
322328
display: none;
323329
}
324330

325-
.message.historical-message .sds-id {
331+
.message.historical-message .source-label {
326332
color: #0088aa;
327333
opacity: 0.3;
328334
}
329335

330-
.message.historical-message:hover .sds-id {
336+
.message.historical-message:hover .source-label {
331337
opacity: 0.7;
332338
}
333339

@@ -551,6 +557,9 @@
551557
if (retrievedSdsMessage.messageId === messageId) {
552558
console.log(`Successfully retrieved ${messageId} using hash query`);
553559

560+
// Mark the message as retrieved via hash query before feeding to SDS
561+
retrievedSdsMessage._retrievalSource = 'store - sds';
562+
554563
// Feed the retrieved message back to SDS
555564
this.messageChannel.receiveMessage(retrievedSdsMessage);
556565
foundMessage = true;
@@ -627,6 +636,8 @@
627636
const sdsMessage = decodeMessage(message.payload);
628637

629638
if (sdsMessage.content && sdsMessage.content.length > 0) {
639+
this.messageChannel.receiveMessage(sdsMessage);
640+
630641
// Found a valid SDS message!
631642
foundSDSMessage = true;
632643
if (!firstSDSMessage) {
@@ -641,7 +652,8 @@
641652
timestamp: Number(decodedMessage.timestamp) * 1000,
642653
sender: decodedMessage.nick,
643654
text: new TextDecoder().decode(decodedMessage.payload),
644-
sdsMessageId: sdsMessage.messageId || 'hist-' + Math.random().toString(36).substr(2, 6)
655+
sdsMessageId: sdsMessage.messageId || undefined,
656+
source: 'store - time'
645657
};
646658

647659
historicalMessages.push(chatMessage);
@@ -1100,6 +1112,9 @@
11001112
// Send through SDS for reliability
11011113
await this.messageChannel.sendMessage(payload, async (sdsMessage) => {
11021114
try {
1115+
// Mark the SDS message as sent by local app
1116+
sdsMessage._retrievalSource = 'sent';
1117+
11031118
// Create Waku message with SDS wrapper (causal history automatically included by SDS)
11041119
const wakuMessage = { payload: encodeMessage(sdsMessage) };
11051120

@@ -1262,7 +1277,8 @@
12621277
sender: decodedMessage.nick,
12631278
text: new TextDecoder().decode(decodedMessage.payload),
12641279
sdsMessageId: sdsMessage.messageId || 'unknown',
1265-
lamportTimestamp: sdsMessage.lamportTimestamp || 0
1280+
lamportTimestamp: sdsMessage.lamportTimestamp || 0,
1281+
source: sdsMessage._retrievalSource || 'filter' // Use marked source or default to filter
12661282
};
12671283

12681284
// Create content fingerprint using timestampMs for more precise duplicate detection
@@ -1371,17 +1387,16 @@
13711387
messageElement.className = 'message';
13721388

13731389
const timestamp = new Date(message.timestamp).toLocaleTimeString();
1374-
const sdsId = message.sdsMessageId ? this.truncateSDSId(message.sdsMessageId) : 'no-id';
13751390

1376-
console.log('Adding chat message with SDS ID:', message.sdsMessageId, 'truncated to:', sdsId);
1391+
console.log('Adding chat message with source:', message.source);
13771392

13781393
messageElement.innerHTML = `
13791394
<div class="message-content">
13801395
<span class="timestamp">[${timestamp}]</span>
13811396
<span class="sender">&lt;${this.escapeHtml(message.sender)}&gt;</span>
13821397
<span class="message-text"> ${this.escapeHtml(message.text)}</span>
13831398
</div>
1384-
<div class="sds-id" title="SDS ID: ${message.sdsMessageId || 'Unknown'}">${sdsId}</div>
1399+
<div class="source-label" title="Message source: ${message.source}">${message.source}</div>
13851400
`;
13861401

13871402
this.chatContainer.appendChild(messageElement);
@@ -1465,15 +1480,9 @@
14651480
}
14661481

14671482
updateMessageSDSId(messageId, sdsMessageId) {
1468-
const messageElement = this.chatContainer.querySelector(`[data-message-id="${messageId}"]`);
1469-
if (messageElement) {
1470-
const sdsElement = messageElement.querySelector('.sds-id');
1471-
if (sdsElement && sdsMessageId) {
1472-
const truncatedId = this.truncateSDSId(sdsMessageId);
1473-
sdsElement.textContent = truncatedId;
1474-
sdsElement.title = `SDS ID: ${sdsMessageId}`;
1475-
}
1476-
}
1483+
// This function is no longer needed since we're using source labels instead of SDS IDs
1484+
// Keep it for compatibility but make it a no-op
1485+
console.log('updateMessageSDSId called but using source labels instead');
14771486
}
14781487

14791488
truncateSDSId(sdsMessageId) {

0 commit comments

Comments
 (0)