<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/newview/llmutelist.h, branch 26.4</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=26.4</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=26.4'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2026-04-21T18:53:41Z</updated>
<entry>
<title>LLMuteList::isLoadedFromServer should also include MLS_SERVER_CACHE</title>
<updated>2026-04-21T18:53:41Z</updated>
<author>
<name>Darl</name>
<email>me@darl.cat</email>
</author>
<published>2026-04-20T23:22:52Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=f0b083c5e5223ec2e6c4f6a6761ce9480239d1de'/>
<id>urn:sha1:f0b083c5e5223ec2e6c4f6a6761ce9480239d1de</id>
<content type='text'>
This fixes a bug where the user logs in with good cache, server issues use-cached response, and then the viewer would send another mutelist request on region change.

Signed-off-by: Darl &lt;me@darl.cat&gt;
</content>
</entry>
<entry>
<title>Attempt one additional mute list request from simulator after region change</title>
<updated>2026-04-07T17:48:52Z</updated>
<author>
<name>Darl</name>
<email>me@darl.cat</email>
</author>
<published>2026-04-04T03:57:53Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=0a42b9f220c320b9cdc43987ff1f0d9871a4958b'/>
<id>urn:sha1:0a42b9f220c320b9cdc43987ff1f0d9871a4958b</id>
<content type='text'>
Signed-off-by: Darl &lt;me@darl.cat&gt;
</content>
</entry>
<entry>
<title>Rename LLMuteList state machine touch points for clarity</title>
<updated>2026-04-07T17:48:52Z</updated>
<author>
<name>Darl</name>
<email>me@darl.cat</email>
</author>
<published>2026-04-02T16:27:48Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=0abb59a959d16b1163076ff0bd804d59ccf57bdb'/>
<id>urn:sha1:0abb59a959d16b1163076ff0bd804d59ccf57bdb</id>
<content type='text'>
getLoadFailed -&gt; updateLoadState
- No longer labeled as a plain getter, but instead as a state machine advancement point
- This name reflects its role in advancing the state according to design parameters when called from the idle loop
- Call site in LLIMProcessing::requestOfflineMessages simplified by internalizing our readiness checks

isFailed
- Reintroduced const to match isLoaded for determining state

Signed-off-by: Darl &lt;me@darl.cat&gt;
</content>
</entry>
<entry>
<title>Treat emptymutelist dispatch from the simulator as authoritative when in a cache fallback status.</title>
<updated>2026-04-07T17:48:52Z</updated>
<author>
<name>Darl</name>
<email>me@darl.cat</email>
</author>
<published>2026-04-02T15:23:50Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=03c13540cb38d2e0ada6bf62ad2d4666487fa090'/>
<id>urn:sha1:03c13540cb38d2e0ada6bf62ad2d4666487fa090</id>
<content type='text'>
This yields to the simulator's responsibility as source-of-truth.

e.g. Bob has Alice blocked for a while across all his devices
1. Bob unblocked Alice on his laptop
2. Bob logs in on his desktop with a cached mutelist
3. LLDispatchEmptyMuteList fires
4. LLMuteList becomes eventually-correct, reflecting most recent signaled user intent

Signed-off-by: Darl &lt;me@darl.cat&gt;
</content>
</entry>
<entry>
<title>Allow mute list to fallback to cached copy when simulator response somehow isn't received</title>
<updated>2026-04-07T17:48:52Z</updated>
<author>
<name>Darl</name>
<email>me@darl.cat</email>
</author>
<published>2026-04-01T16:36:51Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=61417e2ba3ba77fe79b9d1d477524cba130106c6'/>
<id>urn:sha1:61417e2ba3ba77fe79b9d1d477524cba130106c6</id>
<content type='text'>
Signed-off-by: Darl &lt;me@darl.cat&gt;
</content>
</entry>
<entry>
<title>#4267 Offline messages not being requested</title>
<updated>2025-07-11T17:31:32Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2025-07-10T21:47:12Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=c488919ef296cd763346b48195a17d099dd19f8c'/>
<id>urn:sha1:c488919ef296cd763346b48195a17d099dd19f8c</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Fix line endlings</title>
<updated>2024-05-22T19:40:26Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2024-05-22T19:25:21Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=e2e37cced861b98de8c1a7c9c0d3a50d2d90e433'/>
<id>urn:sha1:e2e37cced861b98de8c1a7c9c0d3a50d2d90e433</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A</title>
<updated>2024-05-22T17:04:52Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2024-05-22T17:04:52Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=1b67dd855c41f5a0cda7ec2a68d98071986ca703'/>
<id>urn:sha1:1b67dd855c41f5a0cda7ec2a68d98071986ca703</id>
<content type='text'>
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llaudio/llaudioengine_fmodstudio.cpp
#	indra/llaudio/llaudioengine_fmodstudio.h
#	indra/llaudio/lllistener_fmodstudio.cpp
#	indra/llaudio/lllistener_fmodstudio.h
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/llaudio/llstreamingaudio_fmodstudio.h
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimage/tests/llimageworker_test.cpp
#	indra/llmessage/tests/llmockhttpclient.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llui/llcombobox.cpp
#	indra/llui/llfolderview.cpp
#	indra/llui/llfolderviewmodel.h
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltextvalidate.cpp
#	indra/llui/lltextvalidate.h
#	indra/llui/lluictrl.h
#	indra/llui/llview.cpp
#	indra/llwindow/llwindowmacosx.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappearancemgr.h
#	indra/newview/llavatarpropertiesprocessor.cpp
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llbreadcrumbview.cpp
#	indra/newview/llbreadcrumbview.h
#	indra/newview/llbreastmotion.cpp
#	indra/newview/llbreastmotion.h
#	indra/newview/llconversationmodel.h
#	indra/newview/lldensityctrl.cpp
#	indra/newview/lldensityctrl.h
#	indra/newview/llface.inl
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llfloateremojipicker.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterprofiletexture.cpp
#	indra/newview/llfloaterprofiletexture.h
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llgesturemgr.h
#	indra/newview/llimpanel.cpp
#	indra/newview/llimpanel.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryclipboard.cpp
#	indra/newview/llinventoryclipboard.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventoryfunctions.h
#	indra/newview/llinventorygallery.cpp
#	indra/newview/lllistbrowser.cpp
#	indra/newview/lllistbrowser.h
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofile.h
#	indra/newview/llpreviewgesture.cpp
#	indra/newview/llsavedsettingsglue.cpp
#	indra/newview/llsavedsettingsglue.h
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/llurllineeditorctrl.cpp
#	indra/newview/llvectorperfoptions.cpp
#	indra/newview/llvectorperfoptions.h
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
#	indra/test/test.cpp
</content>
</entry>
<entry>
<title>#824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed</title>
<updated>2024-04-29T04:56:09Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2024-04-29T04:43:28Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=1b68f71348ecf3983b76b40d7940da8377f049b7'/>
<id>urn:sha1:1b68f71348ecf3983b76b40d7940da8377f049b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A</title>
<updated>2024-03-12T15:52:30Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2024-03-12T15:52:30Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=eb1ed3896fd82d4f115b2ef6ba742315ad32cc27'/>
<id>urn:sha1:eb1ed3896fd82d4f115b2ef6ba742315ad32cc27</id>
<content type='text'>
# Conflicts:
#	autobuild.xml
#	indra/llrender/llfontbitmapcache.cpp
#	indra/llrender/llfontbitmapcache.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llrender/llfontfreetype.h
#	indra/llrender/llfontgl.cpp
#	indra/llrender/llfontgl.h
#	indra/llui/llbutton.h
#	indra/llui/llfloater.cpp
#	indra/llui/llfloater.h
#	indra/llui/llfolderviewitem.cpp
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/llscrollcontainer.cpp
#	indra/llui/llscrollingpanellist.cpp
#	indra/llui/llscrollingpanellist.h
#	indra/llui/llscrolllistctrl.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltexteditor.h
#	indra/llui/lluictrl.cpp
#	indra/llui/llview.cpp
#	indra/llui/llview.h
#	indra/newview/llchicletbar.h
#	indra/newview/llconversationlog.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterimsessiontab.h
#	indra/newview/llfloateruipreview.cpp
#	indra/newview/llnavigationbar.h
#	indra/newview/llpaneltopinfobar.h
#	indra/newview/llpathfindingpathtool.h
#	indra/newview/lltextureview.cpp
#	indra/newview/lltoolbrush.h
#	indra/newview/lltoolcomp.h
#	indra/newview/lltooldraganddrop.h
#	indra/newview/lltoolface.h
#	indra/newview/lltoolfocus.h
#	indra/newview/lltoolindividual.h
#	indra/newview/lltoolobjpicker.h
#	indra/newview/lltoolpie.h
#	indra/newview/lltoolpipette.h
#	indra/newview/lltoolselectland.h
#	indra/newview/llviewermediafocus.h
#	indra/newview/llviewerparcelmediaautoplay.h
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llvoicechannel.h
#	indra/newview/llvoicevivox.h
#	indra/newview/llworldmapview.cpp
</content>
</entry>
</feed>
