From 91ed444c905d62924c12036597bd09d7c781168a33442e0931ff454c4f040b4a Mon Sep 17 00:00:00 2001 From: ai5590 Date: Sun, 5 Apr 2026 12:12:46 +0300 Subject: [PATCH] Allow first DM to any user and show real login in profile --- shine-UI/js/pages/chat-view.js | 2 +- shine-UI/js/pages/profile-view.js | 3 ++- .../Net_SendDirectMessage_Handler.java | 24 +++---------------- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/shine-UI/js/pages/chat-view.js b/shine-UI/js/pages/chat-view.js index 6d9abb8..76404a1 100644 --- a/shine-UI/js/pages/chat-view.js +++ b/shine-UI/js/pages/chat-view.js @@ -38,7 +38,7 @@ export function render({ navigate, route }) { if (!isContact) { const warning = document.createElement('div'); warning.className = 'card stack'; - warning.innerHTML = '

Пользователь не в контактах. Можно отвечать, если он уже писал вам.

'; + warning.innerHTML = '

Пользователь не в контактах. Можно писать ему сразу (MVP).

'; const btn = document.createElement('button'); btn.className = 'primary-btn'; btn.type = 'button'; diff --git a/shine-UI/js/pages/profile-view.js b/shine-UI/js/pages/profile-view.js index 3a6c998..c51a689 100644 --- a/shine-UI/js/pages/profile-view.js +++ b/shine-UI/js/pages/profile-view.js @@ -1,5 +1,6 @@ import { renderHeader } from '../components/header.js?v=20260403081123'; import { profile } from '../mock-data.js?v=20260403081123'; +import { state } from '../state.js?v=20260403081123'; export const pageMeta = { id: 'profile-view', title: 'Профиль' }; @@ -40,7 +41,7 @@ export function render({ navigate }) {

${profile.name}

-

${profile.login}

+

${state.session.login || profile.login}

Телефон: ${profile.phone}
diff --git a/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendDirectMessage_Handler.java b/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendDirectMessage_Handler.java index bb247b4..12c1bb8 100644 --- a/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendDirectMessage_Handler.java +++ b/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendDirectMessage_Handler.java @@ -2,8 +2,6 @@ package server.logic.ws_protocol.JSON.messages; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import server.logic.ws_protocol.JSON.ActiveConnectionsRegistry; import server.logic.ws_protocol.JSON.ConnectionContext; import server.logic.ws_protocol.JSON.entyties.Net_Request; @@ -16,14 +14,11 @@ import server.logic.ws_protocol.JSON.push.WsEventSender; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.JSON.utils.NetIdGenerator; import server.logic.ws_protocol.WireCodes; -import shine.db.MsgSubType; -import shine.db.dao.ConnectionsStateDAO; import shine.db.dao.DirectMessagesDAO; import shine.db.dao.PushTokensDAO; import shine.db.entities.DirectMessageEntry; import shine.db.entities.PushTokenEntry; -import java.sql.Connection; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -31,7 +26,6 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; public class Net_SendDirectMessage_Handler implements JsonMessageHandler { - private static final Logger log = LoggerFactory.getLogger(Net_SendDirectMessage_Handler.class); private static final ObjectMapper MAPPER = new ObjectMapper(); @Override @@ -122,20 +116,8 @@ public class Net_SendDirectMessage_Handler implements JsonMessageHandler { return resp; } - private boolean canSend(String from, String to) throws Exception { - if (from.equalsIgnoreCase(to)) return true; - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection()) { - List contacts = ConnectionsStateDAO.getInstance().listOutgoingByRelTypeCanonical(c, from, MsgSubType.CONNECTION_CONTACT); - if (contacts.stream().anyMatch(v -> v.equalsIgnoreCase(to))) { - return true; - } - if (DirectMessagesDAO.getInstance().existsFromTo(to, from)) { - return true; - } - return false; - } catch (Exception e) { - log.warn("canSend fallback false due error", e); - return false; - } + private boolean canSend(String from, String to) { + return from != null && !from.isBlank() && to != null && !to.isBlank(); } } +