From 8207857f4a3ab8a3bdae8aa248637700c6072dd0 Mon Sep 17 00:00:00 2001
From: Vitaly Takmazov
Date: Sun, 17 Mar 2024 07:55:22 +0300
Subject: Do not resolve nicknames for recommendations
---
src/main/java/com/juick/service/MessagesServiceImpl.java | 11 +++++++++--
src/main/resources/templates/views/thread.html | 2 +-
src/test/java/com/juick/server/tests/ServerTests.java | 4 ++--
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/juick/service/MessagesServiceImpl.java b/src/main/java/com/juick/service/MessagesServiceImpl.java
index 1c504a2d..91a257ef 100644
--- a/src/main/java/com/juick/service/MessagesServiceImpl.java
+++ b/src/main/java/com/juick/service/MessagesServiceImpl.java
@@ -508,8 +508,15 @@ public class MessagesServiceImpl extends BaseJdbcService implements MessagesServ
new MapSqlParameterSource("mids", mids).addValue("visitorUid", visitorUid), (rs, rowNum) -> {
User user = new User();
user.setUid(rs.getInt(2));
- user.setName(rs.getString(3));
- user.setUri(URI.create(rs.getString(4)));
+ var uri = URI.create(rs.getString(4));
+ if (StringUtils.isEmpty(uri.toASCIIString())) {
+ user.setName(rs.getString(3));
+ } else {
+ user.setUri(uri);
+ String path = uri.getPath();
+ String name = path.substring(path.lastIndexOf('/') + 1);
+ user.setName(name + "@" + uri.getHost());
+ }
return new ImmutablePair<>(rs.getInt(1), user);
});
}
diff --git a/src/main/resources/templates/views/thread.html b/src/main/resources/templates/views/thread.html
index 19d81d75..e3fdee40 100644
--- a/src/main/resources/templates/views/thread.html
+++ b/src/main/resources/templates/views/thread.html
@@ -110,7 +110,7 @@
{% if rec.uri.toString() is empty %}
@{{ rec.name }}{% if loop.index < (loop.length - 1) %}, {% endif %}
{% else %}
- @{{ rec.name }}{% if loop.index < (loop.length - 1) %}, {% endif %}
+ @{{ rec.name }}{% if loop.index < (loop.length - 1) %}, {% endif %}
{% endif %}
{% endfor %}
diff --git a/src/test/java/com/juick/server/tests/ServerTests.java b/src/test/java/com/juick/server/tests/ServerTests.java
index b97ae8a3..47bb4d22 100644
--- a/src/test/java/com/juick/server/tests/ServerTests.java
+++ b/src/test/java/com/juick/server/tests/ServerTests.java
@@ -1589,14 +1589,14 @@ public class ServerTests {
assertThat(CollectionUtils.isEqualCollection(
messagesService.getMessagesRecommendations(monstreek.getUid(), Collections.singletonList(mid)).stream()
.map(Pair::getRight).map(User::getName).toList(),
- Arrays.asList("ermine", "pogo", "Anonymous")), is(true));
+ Arrays.asList("ermine", "pogo", "test@example.com")), is(true));
privacyQueriesService.blacklistUser(userService.getUserByName("monstreek"),
userService.getUserByName("pogo"));
assertThat(messagesService.getMessage(mid).get().getRecommendations().size(), is(3));
assertThat(CollectionUtils.isEqualCollection(
messagesService.getMessagesRecommendations(monstreek.getUid(), Collections.singletonList(mid)).stream()
.map(Pair::getRight).map(User::getName).toList(),
- Arrays.asList("ermine", "Anonymous")), is(true));
+ Arrays.asList("ermine", "test@example.com")), is(true));
jdbcTemplate.execute("DELETE FROM favorites");
}
--
cgit v1.2.3