mirror of
https://github.com/bisq-network/bisq.git
synced 2024-11-19 18:03:12 +01:00
Merge pull request #5175 from jmacxx/fix_NPE_trader_chat
Fix NPE in trader chat
This commit is contained in:
commit
de57900765
@ -18,6 +18,7 @@
|
|||||||
package bisq.core.support;
|
package bisq.core.support;
|
||||||
|
|
||||||
import bisq.core.btc.setup.WalletsSetup;
|
import bisq.core.btc.setup.WalletsSetup;
|
||||||
|
import bisq.core.locale.Res;
|
||||||
import bisq.core.support.messages.ChatMessage;
|
import bisq.core.support.messages.ChatMessage;
|
||||||
import bisq.core.support.messages.SupportMessage;
|
import bisq.core.support.messages.SupportMessage;
|
||||||
|
|
||||||
@ -191,7 +192,10 @@ public abstract class SupportManager {
|
|||||||
public ChatMessage sendChatMessage(ChatMessage message) {
|
public ChatMessage sendChatMessage(ChatMessage message) {
|
||||||
NodeAddress peersNodeAddress = getPeerNodeAddress(message);
|
NodeAddress peersNodeAddress = getPeerNodeAddress(message);
|
||||||
PubKeyRing receiverPubKeyRing = getPeerPubKeyRing(message);
|
PubKeyRing receiverPubKeyRing = getPeerPubKeyRing(message);
|
||||||
if (receiverPubKeyRing != null) {
|
if (peersNodeAddress == null || receiverPubKeyRing == null) {
|
||||||
|
UserThread.runAfter(() ->
|
||||||
|
message.setSendMessageError(Res.get("support.receiverNotKnown")), 1);
|
||||||
|
} else {
|
||||||
log.info("Send {} to peer {}. tradeId={}, uid={}",
|
log.info("Send {} to peer {}. tradeId={}, uid={}",
|
||||||
message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid());
|
message.getClass().getSimpleName(), peersNodeAddress, message.getTradeId(), message.getUid());
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ public abstract class SupportSession {
|
|||||||
|
|
||||||
public abstract String getTradeId();
|
public abstract String getTradeId();
|
||||||
|
|
||||||
public abstract PubKeyRing getClientPubKeyRing();
|
public abstract int getClientId();
|
||||||
|
|
||||||
public abstract ObservableList<ChatMessage> getObservableChatMessageList();
|
public abstract ObservableList<ChatMessage> getObservableChatMessageList();
|
||||||
|
|
||||||
|
@ -57,9 +57,14 @@ public abstract class DisputeSession extends SupportSession {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PubKeyRing getClientPubKeyRing() {
|
public int getClientId() {
|
||||||
// Get pubKeyRing of trader. Arbitrator is considered server for the chat session
|
// Get pubKeyRing of trader. Arbitrator is considered server for the chat session
|
||||||
return dispute != null ? dispute.getTraderPubKeyRing() : null;
|
try {
|
||||||
|
return dispute.getTraderPubKeyRing().hashCode();
|
||||||
|
} catch (NullPointerException e) {
|
||||||
|
log.warn("Unable to get traderPubKeyRing from Dispute - {}", e.toString());
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -48,12 +48,15 @@ public class TradeChatSession extends SupportSession {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PubKeyRing getClientPubKeyRing() {
|
public int getClientId() {
|
||||||
// TODO remove that client-server concept for trade chat
|
// TODO remove that client-server concept for trade chat
|
||||||
// Get pubKeyRing of taker. Maker is considered server for chat sessions
|
// Get pubKeyRing of taker. Maker is considered server for chat sessions
|
||||||
if (trade != null && trade.getContract() != null)
|
try {
|
||||||
return trade.getContract().getTakerPubKeyRing();
|
return trade.getContract().getTakerPubKeyRing().hashCode();
|
||||||
return null;
|
} catch (NullPointerException e) {
|
||||||
|
log.warn("Unable to get takerPubKeyRing from Trade Contract - {}", e.toString());
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1105,6 +1105,7 @@ support.noTickets=There are no open tickets
|
|||||||
support.sendingMessage=Sending Message...
|
support.sendingMessage=Sending Message...
|
||||||
support.receiverNotOnline=Receiver is not online. Message is saved to their mailbox.
|
support.receiverNotOnline=Receiver is not online. Message is saved to their mailbox.
|
||||||
support.sendMessageError=Sending message failed. Error: {0}
|
support.sendMessageError=Sending message failed. Error: {0}
|
||||||
|
support.receiverNotKnown=Receiver not known
|
||||||
support.wrongVersion=The offer in that dispute has been created with an older version of Bisq.\n\
|
support.wrongVersion=The offer in that dispute has been created with an older version of Bisq.\n\
|
||||||
You cannot close that dispute with your version of the application.\n\n\
|
You cannot close that dispute with your version of the application.\n\n\
|
||||||
Please use an older version with protocol version {0}
|
Please use an older version with protocol version {0}
|
||||||
|
@ -648,7 +648,7 @@ public class ChatView extends AnchorPane {
|
|||||||
ChatMessage message = new ChatMessage(
|
ChatMessage message = new ChatMessage(
|
||||||
supportManager.getSupportType(),
|
supportManager.getSupportType(),
|
||||||
supportSession.getTradeId(),
|
supportSession.getTradeId(),
|
||||||
supportSession.getClientPubKeyRing().hashCode(),
|
supportSession.getClientId(),
|
||||||
supportSession.isClient(),
|
supportSession.isClient(),
|
||||||
text,
|
text,
|
||||||
supportManager.getMyAddress(),
|
supportManager.getMyAddress(),
|
||||||
|
Loading…
Reference in New Issue
Block a user