SL-12795 Fix log session name not updating

meow-7.2.2
Andrey Kleshchev 2021-02-11 18:45:57 +02:00
parent 03eddbd627
commit 0e3d8023dc
3 changed files with 6 additions and 6 deletions

View File

@ -398,7 +398,7 @@ void LLConversationLog::deleteBackupLogs()
}
}
void LLConversationLog::verifyFilename(const LLUUID& session_id, const std::string &expected_filename)
void LLConversationLog::verifyFilename(const LLUUID& session_id, const std::string &expected_filename, const std::string &new_session_name)
{
conversations_vec_t::iterator conv_it = mConversations.begin();
for (; conv_it != mConversations.end(); ++conv_it)
@ -409,6 +409,7 @@ void LLConversationLog::verifyFilename(const LLUUID& session_id, const std::stri
{
LLLogChat::renameLogFile(conv_it->getHistoryFileName(), expected_filename);
conv_it->updateHistoryFileName(expected_filename);
conv_it->setConversationName(new_session_name);
}
break;
}

View File

@ -140,7 +140,7 @@ public:
*/
void cache();
// will check if current name is edentical with the one on disk and will rename the one on disk if it isn't
void verifyFilename(const LLUUID& session_id, const std::string &expected_filename);
void verifyFilename(const LLUUID& session_id, const std::string &expected_filename, const std::string &new_session_name);
bool moveLog(const std::string &originDirectory, const std::string &targetDirectory);
void getListOfBackupLogs(std::vector<std::string>& list_of_backup_logs);
void deleteBackupLogs();

View File

@ -602,10 +602,6 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string&
}
buildHistoryFileName();
if (isP2P()) // user's account name can change, but filenames are account name based
{
LLConversationLog::getInstance()->verifyFilename(mSessionID, mHistoryFileName);
}
loadHistory();
// Localizing name of ad-hoc session. STORM-153
@ -973,6 +969,9 @@ void LLIMModel::LLIMSession::buildHistoryFileName()
// Incoming P2P sessions include a name that we can use to build a history file name
mHistoryFileName = LLCacheName::buildUsername(mName);
}
// user's account name can change, but filenames and session names are account name based
LLConversationLog::getInstance()->verifyFilename(mSessionID, mHistoryFileName, av_name.getCompleteName());
}
else if (isGroupChat())
{