This is an automated email from the ASF dual-hosted git repository.

meonkeys pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fineract-chat-archive.git

commit 40d1e82986fa3d9c2c4afc5c08eaee73c2f5c912
Author: Adam Monsen <[email protected]>
AuthorDate: Wed Feb 11 11:02:14 2026 -0800

    prefix threaded messages, bold usernames
    
    * prefix threaded messages with an arrow character "→ "
    * use Markdown bolding around usernames
---
 .../org/apache/fineract/chat/archive/ChatArchiveApp.java     | 12 +++++-------
 .../org/apache/fineract/chat/archive/MarkdownRenderer.java   |  9 ++++++---
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/apache/fineract/chat/archive/ChatArchiveApp.java 
b/src/main/java/org/apache/fineract/chat/archive/ChatArchiveApp.java
index 5b9f5db..92d9c1e 100644
--- a/src/main/java/org/apache/fineract/chat/archive/ChatArchiveApp.java
+++ b/src/main/java/org/apache/fineract/chat/archive/ChatArchiveApp.java
@@ -271,18 +271,16 @@ public final class ChatArchiveApp {
                 if (parentSet.contains(message.threadTs())) {
                     continue;
                 }
-                rows.add(toRow(message, channelId, token, slackApiClient, 
permalinkCache,
-                        userCache, "-> "));
+                rows.add(toRow(message, channelId, token, slackApiClient, 
permalinkCache, userCache));
                 continue;
             }
-            rows.add(toRow(message, channelId, token, slackApiClient, 
permalinkCache, userCache,
-                    ""));
+            rows.add(toRow(message, channelId, token, slackApiClient, 
permalinkCache, userCache));
             if (message.threadTs() != null && 
message.threadTs().equals(message.ts())) {
                 List<SlackMessage> replies = resolveThreadReplies(channelId, 
message.threadTs(),
                         repliesByParent, threadRepliesCache, slackApiClient, 
token);
                 for (SlackMessage reply : replies) {
                     rows.add(toRow(reply, channelId, token, slackApiClient, 
permalinkCache,
-                            userCache, "-> "));
+                            userCache));
                 }
             }
         }
@@ -291,7 +289,7 @@ public final class ChatArchiveApp {
 
     private static MarkdownRenderer.Row toRow(SlackMessage message, String 
channelId, String token,
             SlackApiClient slackApiClient, Map<String, String> permalinkCache,
-            Map<String, String> userCache, String prefix) {
+            Map<String, String> userCache) {
         Instant instant = SlackTimestamp.toInstant(message.ts());
         String time = TIME_FORMATTER.format(instant.atZone(ZoneOffset.UTC));
         String rfcTimedate = 
DateTimeFormatter.RFC_1123_DATE_TIME.format(instant.atZone(ZoneOffset.UTC));
@@ -300,7 +298,7 @@ public final class ChatArchiveApp {
                 userId -> resolveUserDisplayName(userId, token, 
slackApiClient, userCache));
         String permalink = resolvePermalink(channelId, message.ts(), token, 
slackApiClient,
                 permalinkCache);
-        return new MarkdownRenderer.Row(time, rfcTimedate, user, prefix + 
text, permalink);
+        return new MarkdownRenderer.Row(isReply(message), time, rfcTimedate, 
user, text, permalink);
     }
 
     private static boolean isReply(SlackMessage message) {
diff --git 
a/src/main/java/org/apache/fineract/chat/archive/MarkdownRenderer.java 
b/src/main/java/org/apache/fineract/chat/archive/MarkdownRenderer.java
index ab1e78f..1465280 100644
--- a/src/main/java/org/apache/fineract/chat/archive/MarkdownRenderer.java
+++ b/src/main/java/org/apache/fineract/chat/archive/MarkdownRenderer.java
@@ -35,8 +35,11 @@ class MarkdownRenderer {
 
         for (int i = 0; i < rows.size(); i++) {
             Row row = rows.get(i);
-            builder.append(formatTimeCell(row)).append(" - ")
-                    .append(normalize(row.user())).append(" - ")
+            if (row.isReply()) {
+                builder.append("→ ");
+            }
+            builder.append(formatTimeCell(row)).append(" **")
+                    .append(normalize(row.user())).append("** ")
                     .append(normalize(row.message())).append("\n");
             if (i + 1 < rows.size()) {
                 builder.append("\n");
@@ -85,6 +88,6 @@ class MarkdownRenderer {
         return value.replace("\r\n", "\n").replace("\r", "\n");
     }
 
-    record Row(String timeAbbrev, String rfcDatetime, String user, String 
message, String permalink) {
+    record Row(boolean isReply, String timeAbbrev, String rfcDatetime, String 
user, String message, String permalink) {
     }
 }

Reply via email to