diff options
author | rbrunner7 <rbrunner@dreamshare.ch> | 2023-11-05 16:11:52 +0100 |
---|---|---|
committer | rbrunner7 <rbrunner@dreamshare.ch> | 2023-11-05 16:11:52 +0100 |
commit | 2766d12a629a7d6ef084dde337cda27d3ffad306 (patch) | |
tree | 5c8c7309b91ff4bcd120acb721adb56593095fe1 | |
parent | Merge pull request #9026 (diff) | |
download | monero-2766d12a629a7d6ef084dde337cda27d3ffad306.tar.xz |
MMS: Ignore 2 more API errors thrown by latest PyBitmessage
-rw-r--r-- | src/wallet/message_transporter.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/wallet/message_transporter.cpp b/src/wallet/message_transporter.cpp index b4f6ce7bd..e6c26cba0 100644 --- a/src/wallet/message_transporter.cpp +++ b/src/wallet/message_transporter.cpp @@ -273,16 +273,29 @@ bool message_transporter::post_request(const std::string &request, std::string & { if ((string_value.find("API Error 0021") == 0) && (request.find("joinChan") != std::string::npos)) { + // "API Error 0021: Unexpected API Failure" // Error that occurs if one tries to join an already joined chan, which can happen // if several auto-config participants share one PyBitmessage instance: As a little // hack simply ignore the error. (A clean solution would be to check for the chan // with 'listAddresses2', but parsing the returned array is much more complicated.) } + else if ((string_value.find("API Error 0024") == 0) && (request.find("joinChan") != std::string::npos)) + { + // "API Error 0024: Chan address is already present." + // Maybe a result of creating the chan in a slightly different way i.e. not with + // 'createChan'; everything works by just ignoring this error + } else if ((string_value.find("API Error 0013") == 0) && (request.find("leaveChan") != std::string::npos)) { + // "API Error 0013: Could not find your fromAddress in the keys.dat file." // Error that occurs if one tries to leave an already left / deleted chan, which can happen // if several auto-config participants share one PyBitmessage instance: Also ignore. } + else if ((string_value.find("API Error 0025") == 0) && (request.find("leaveChan") != std::string::npos)) + { + // "API Error 0025: Specified address is not a chan address. Use deleteAddress API call instead." + // Error does not really make sense, but everything works by just ignoring + } else { THROW_WALLET_EXCEPTION(tools::error::bitmessage_api_error, string_value); |