<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/newview/llimprocessing.cpp, branch 26.5</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=26.5</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=26.5'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2026-10-10T05:02:06Z</updated>
<entry>
<title>Merge tag 'Second_Life_Release#db59a05a-26.5' into 26.5</title>
<updated>2026-10-10T05:02:06Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-10-10T05:02:06Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=7a75f495974c2d6a6be66614fbc526fa666279b5'/>
<id>urn:sha1:7a75f495974c2d6a6be66614fbc526fa666279b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Consolidate ChatService reconciliation and fix live IM replay</title>
<updated>2026-09-10T21:22:48Z</updated>
<author>
<name>pepper</name>
<email>3782201+rohvani@users.noreply.github.com</email>
</author>
<published>2026-09-10T16:58:32Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=fe57d2caf1949abcdb54a35cb610b0eb9d783fd1'/>
<id>urn:sha1:fe57d2caf1949abcdb54a35cb610b0eb9d783fd1</id>
<content type='text'>
Merge archives, plaintext and head previews by service ID and occurrence
before applying history limits. Keep loaded history and visible context in
ChatService so IM sessions and previews share one composer, with ordinary
live appends remaining independent of history replay.

Preserve original bodies and send-versus-receipt timing through offline
delivery and translation. Match known send times exactly and online receipt
times within a rolling 60-second window. Consume eligible occurrences once
in chronological order so repeated messages survive reconciliation across
minute boundaries.

Link offer fallback text to its notification ID and advance the replay
cursor for each actual row. Missing or delayed fallback rows can no longer
cause the following live IM to be skipped.

Dispatch ChatService presentation through the main-loop queue with runtime
and current-state checks. This prevents login deadlocks from reentering
font initialization in another coroutine. Await deletion invalidation
before continuing cleanup so a delayed clear cannot erase later messages.

Validated with the Release viewer build, all 34 LLChatServiceHistoryCore
cases, and native delivery, archive, offer replay and coroutine-deadlock
fixtures. The deadlock fixtures reproduce the original hangs and pass with
deferred presentation.
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'secondlife/release/26.4' into 26.4</title>
<updated>2026-09-04T13:58:53Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-09-01T10:35:23Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=00bb3bb6f07660bd914d29a1389342bb3060d254'/>
<id>urn:sha1:00bb3bb6f07660bd914d29a1389342bb3060d254</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Scope friendship offer deduplication by sender</title>
<updated>2026-08-31T22:19:17Z</updated>
<author>
<name>pepper</name>
<email>3782201+rohvani@users.noreply.github.com</email>
</author>
<published>2026-08-31T22:18:17Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=38635da94eb5e7f2356305ffd38567199e65528f'/>
<id>urn:sha1:38635da94eb5e7f2356305ffd38567199e65528f</id>
<content type='text'>
Treat an existing actionable friendship panel as a duplicate only when its
notification belongs to the same resident. This preserves same-sender
suppression and dead-panel replay behavior while allowing simultaneous offline
requests from different residents to render in their own sessions.

Validated with the RelWithDebInfo secondlife-bin build.
</content>
</entry>
<entry>
<title>Replay IM transcripts without blank frames</title>
<updated>2026-08-31T18:03:34Z</updated>
<author>
<name>pepper</name>
<email>3782201+rohvani@users.noreply.github.com</email>
</author>
<published>2026-08-31T18:03:34Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=33fd7dd09bf5054a2310a507c3782684c870c3ed'/>
<id>urn:sha1:33fd7dd09bf5054a2310a507c3782684c870c3ed</id>
<content type='text'>
Detach chat-owned inline views before clearing and rebuild the transcript synchronously so an empty editor never reaches draw.

Track notification panels as concurrent instances while deferred deletion overlaps old and replacement projections. Route offer updates to the live IM panel and ignore retiring friendship panels during deduplication.

Validated with the RelWithDebInfo secondlife-bin build and the existing LLInstanceTracker test suite.
</content>
</entry>
<entry>
<title>Merge branch 'main' into 26.3</title>
<updated>2026-08-10T23:36:07Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-08-10T23:36:07Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=c711e99809d01f0e509f4ea0b4fbb3e5456e7536'/>
<id>urn:sha1:c711e99809d01f0e509f4ea0b4fbb3e5456e7536</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Teleport blocker</title>
<updated>2026-08-10T23:35:32Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-08-10T23:35:32Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=8b598aef44780ab162ddad3596699d3d877ec362'/>
<id>urn:sha1:8b598aef44780ab162ddad3596699d3d877ec362</id>
<content type='text'>
https://megapahit.com/show_bug.cgi?id=9
</content>
</entry>
<entry>
<title>#6040 Minor warnings fixes #2</title>
<updated>2026-07-27T17:29:35Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>117672381+akleshchev@users.noreply.github.com</email>
</author>
<published>2026-07-24T18:35:32Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=f71fbab66aac13bddd069bdaa0d31156b691911d'/>
<id>urn:sha1:f71fbab66aac13bddd069bdaa0d31156b691911d</id>
<content type='text'>
</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>#5454 fix not showing Friend requests during start up notification</title>
<updated>2026-03-19T16:51:14Z</updated>
<author>
<name>Maxim Nikolenko</name>
<email>maximnproductengine@lindenlab.com</email>
</author>
<published>2026-03-19T16:51:14Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=0aa33a144d392c16eaa419ffefa7c98af2e37834'/>
<id>urn:sha1:0aa33a144d392c16eaa419ffefa7c98af2e37834</id>
<content type='text'>
</content>
</entry>
</feed>
