summaryrefslogtreecommitdiff
path: root/indra/newview/llnotificationofferhandler.cpp
AgeCommit message (Collapse)Author
2026-09-10Consolidate ChatService reconciliation and fix live IM replaypepper
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.
2026-08-31Replay IM transcripts without blank framespepper
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.
2026-03-19#5454 fix not showing Friend requests during start up notificationMaxim Nikolenko
2024-05-22Fix line endlingsAnsariel
2024-05-22Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-AAnsariel
# 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
2024-05-07secondlife/viewer#1333 BOOL to bool conversion leftovers: ternariesAlexander Gavriliuk
2024-05-01Merge branch 'marchcat/w-whitespace' into marchcat/x-ws-mergeAndrey Lihatskiy
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2023-09-27SL-15039 Prune unused preferences #4Andrey Kleshchev
2022-03-01Merge branch 'master' (DRTVWR-557) into DRTVWR-546Andrey Kleshchev
# Conflicts: # autobuild.xml # doc/contributions.txt # indra/cmake/GLOD.cmake # indra/llcommon/tests/llprocess_test.cpp # indra/newview/VIEWER_VERSION.txt # indra/newview/lldrawpoolavatar.cpp # indra/newview/llfloatermodelpreview.cpp # indra/newview/llmodelpreview.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llvovolume.cpp # indra/newview/viewer_manifest.py
2021-10-07SL-16024: Return shared_ptr from LLInstanceTracker::getInstance().Nat Goodspeed
It feels wrong to return a dumb LLInstanceTracker subclass* from getInstance() when we use std::shared_ptr and std::weak_ptr internally. But tweak consumers to use 'auto' or LLInstanceTracker::ptr_t in case we later revisit this decision. We did add a couple get() calls where it's important to obtain a dumb pointer.
2021-05-13SL-15195 The notification in chat history is multiplied after reloggingMnikolenko Productengine
2020-07-22SL-13620 FIXED The code appears instead of the maturity icon in the chat historyMnikolenko Productengine
2017-05-25MAINT-2585 Make permission request notifications permanent until action takenMnikolenko Productengine
2016-09-20MAINT-6735 brackets fixandreykproductengine
2016-09-20MAINT-6735 Teleport offer sound does not play when the the destination ↵andreykproductengine
region's maturity exceeds the current maturity settings
2015-11-10remove execute permission from many files that should not have itOz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-02-21CHUI-774 FIXED Play a sound even if the conversation floater is open and ↵Mnikolenko ProductEngine
conversation with user is the active.
2013-02-15CHUI-774 Fixed condition of the checking. Also the sound for Teleport offer ↵Mnikolenko ProductEngine
will be played correctly now.
2013-01-25CHUI-667 Upon exit from DND mode, a maximum of one sound should be played. ↵Gilbert Gonzales
Solution. Added a deferred sound class which will have sound id's added to it and upon unmuting the deferred sounds will be played.
2012-12-06CHUI-494: WIP First pass at getting the suppression of events in DND working.William Todd Stinson
2012-12-05CHUI-519 FIXED Do not put offered items into the trash while in Busy / DND modemaksymsproductengine
2012-11-15CHUI-489: Code review cleanup for both CHUI-489 and CHUI-486. This should be ↵Gilbert Gonzales
last commit for CHUI-489.
2012-11-15CHUI-489: Found a bug in last commit for this issue. The sound notification ↵Gilbert Gonzales
(for inventory/teleport offer) would be played for the toast popup as well as once the conversations floater was opened. And also when a button was clicked in the conversation floater to 'accept' or 'deny' the offer. Now only playing the sound notification when the initial offer has been made.
2012-05-18CHUI-112 FIX Clicking Show or Discard in an inventory offer toast does not ↵Richard Linden
dismiss toast removed special case logic for dealing with user online/offline collisions added ability to cancel old duplicate notifications
2012-04-26post-merge build fixesRichard Linden
2012-04-26merge with viewer-releaseRichard Linden
2012-04-12CHUI-87 FIXED crash in handling notifications after viewer disconnect.Seth ProductEngine
Notification handlers now use LLHandles to screen channels.
2012-03-29CHUI-51 WIP notifications routig code cleanupRichard Linden
phase 2, removal of extraneous signaling in favor of llnotificationchannels made notificationchannels work better with overrides and lifetime managed by creator
2012-03-27CHUI-51 WIP notifications routig code cleanupRichard Linden
phase 1, removal of most of llnotificationhandler
2010-09-20EXP-82 FIX MOTD open in external browser notification not given until fully ↵Richard Nelson
logged in reviewed by Monroe
2010-09-17Backed out changeset: d71309f8bd0eRichard Linden
2010-09-16fixed mergeRichard Linden
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-03-23Fixed normal subtask EXT-6441 - Do not show "friendship accepted" toast if ↵Dmitry Zaporozhan
respective IM window is open and in focus. Minor changes to supress toast for FriendshipAccepted notification. --HG-- branch : product-engine
2010-03-19Updated normal task EXT-5905 - Resolving offers.Dmitry Zaporozhan
Reusable notifications are deleted when user closes IM floater(old - when user closes Viewer). --HG-- branch : product-engine
2010-03-11fixed EXT-5904 “Offers embedding into IM windows”,Alexei Arabadji
revised embedding and logging offer notification to provide loading log entry in case notification doesn't exist; --HG-- branch : product-engine
2010-03-05fixed EXT-5910 “Offers logging”,Alexei Arabadji
fixed IM message counter when received interactive notification(offer); corrected logging to file of offer notification; enabled logging for FRIENDSHIP_ACCEPTED notification; --HG-- branch : product-engine
2010-03-05fixed EXT-5908 “Accepted friendship notification shouldn't spawn chiclet”,Alexei Arabadji
made not spawn IM chiclet friendship accepted notification; added friendship accepted notification to syswell chiclet; --HG-- branch : product-engine
2010-03-04fixed EXT-5904 “Offers embedding into IM windows”,Alexei Arabadji
made all type offers be embedded to the IM floater; made showing offer toast if IM floater isn't visible; corrected IM message counter on showing offer toast; --HG-- branch : product-engine
2010-02-18fixed EXT-5006 “One inventory offer cause blinking of both Conversations andAlexei Arabadji
Notifications wells”, embedded inventory offer panel into IM window; --HG-- branch : product-engine
2010-01-29fixed major EXT-3643 “Embed friendship offer into IM window”;Alexei Arabadji
--HG-- branch : product-engine
2010-01-05Minor spelling issue.Vadim Savchuk
--HG-- branch : product-engine
2009-12-26Fixed normal bug EXT-3643 (Make Friend Offer dialog a modal alert)Mike Antipov
-- made dialog a modal alert -- logging to IM is left as it was --HG-- branch : product-engine
2009-12-25fixed EXT-700 “"Offer" notifications should be accessible via chiclet”Alexei Arabadji
made inventory and teleport offers spawn chiclet; made 'inventory accepted' toast as notytip; --HG-- branch : product-engine
2009-12-07implemented EXT-2797 “Making friendship offer should be recorded into IM ↵Alexei Arabadji
history” --HG-- branch : product-engine
2009-12-04implemented EXT-700 “"Offer" notifications should be accessible via chiclet”Alexei Arabadji
--HG-- branch : product-engine
2009-12-01Implemented normal task EXT-2476 (llGiveInventory() should be handled also ↵Eugene Mutavchi
by Chiclet subsystem along with Notificaton subsystem) --HG-- branch : product-engine
2009-11-30renamed LLHandlerUtil::logToIM to LLHandlerUtil::logToIMP2P;Alexei Arabadji
avoided IM-toast popup when adding message to session; --HG-- branch : product-engine