diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2025-07-11 00:47:12 +0300 |
---|---|---|
committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-07-11 20:31:32 +0300 |
commit | c488919ef296cd763346b48195a17d099dd19f8c (patch) | |
tree | c126998cd3c204afbd443848f40d30a64352f8da /indra/newview/llmutelist.h | |
parent | 2e931a55adef97812f9673b8b03691bfa134403b (diff) |
#4267 Offline messages not being requested
According to logs onFileMuteList doesn't get triggered.
I was able to repro, server just doesn't respond when file doesn't exist
server side.
As a workaround added timeout and state tracking into LLMuteList.
Diffstat (limited to 'indra/newview/llmutelist.h')
-rw-r--r-- | indra/newview/llmutelist.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/indra/newview/llmutelist.h b/indra/newview/llmutelist.h index 13d579c61f..b65fd61fcc 100644 --- a/indra/newview/llmutelist.h +++ b/indra/newview/llmutelist.h @@ -74,6 +74,14 @@ class LLMuteList : public LLSingleton<LLMuteList> LLSINGLETON(LLMuteList); ~LLMuteList(); /*virtual*/ void cleanupSingleton() override; + + enum EMuteListState + { + ML_INITIAL, + ML_REQUESTED, + ML_LOADED, + ML_FAILED, + }; public: // reasons for auto-unmuting a resident enum EAutoReason @@ -107,7 +115,8 @@ public: static bool isLinden(const std::string& name); - bool isLoaded() const { return mIsLoaded; } + bool isLoaded() const { return mLoadState == ML_LOADED; } + bool getLoadFailed() const; std::vector<LLMute> getMutes() const; @@ -167,7 +176,8 @@ private: typedef std::set<LLMuteListObserver*> observer_set_t; observer_set_t mObservers; - bool mIsLoaded; + EMuteListState mLoadState; + F64 mRequestStartTime; friend class LLDispatchEmptyMuteList; }; |