summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterconversationpreview.cpp
AgeCommit message (Collapse)Author
8 days#6203 fix page spinner showing 0 when chat history contains only one pageMaxim Nikolenko
2026-09-23Remove the unused Preview transcript subscriptionpepper
Remove the save-history subscription that the initial load immediately disconnected and never reconnected. Fold its sole-use legacy-loading wrapper into onOpen. Keep close/delete request tokens and main-loop result publication.
2026-09-23Reuse existing loading indicator statepepper
Use each loading panel's visibility and the widget's existing draw-time animation in IM sessions and Preview. Remove duplicate visibility flags and explicit animation start/stop calls.
2026-09-23Simplify transcript worker ownership and publication boundariespepper
Let the legacy worker own its filename and completion signal. Remove manual signal deletion and the unused thread accessor together with Preview's mutex; both loaders publish pages on the main loop. Keep save/delete exclusion and release it before notifying observers. Expose the captured-path reader directly, with account and privacy checks at main-loop dispatch and publication, and remove the redundant bridge.
2026-09-23Share stitched history loading between IM sessions and Previewpepper
Give both consumers one history owner for subscriptions, asynchronous reads and publication. Retain weak handles, request tokens, account epochs, archive serials, consent changes and delayed-name reloads while removing the duplicated consumer state machines. Check LogShowHistory before model publication and stop the IM owner before voice teardown. Preserve plaintext fallback when dispatch is unavailable.
2026-09-21Merge release/26.5 into project/chat-modernizationpepper
Preserve the history reader's page position while incorporating the focused page-selector refresh fix.
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-09-01#6203 fix displaying current page number in chat history floaterMaxim Nikolenko
2026-08-13Improve ChatService history readabilitypepper
Add phase-oriented comments around history synchronization, archive validation, asynchronous view updates, and transcript deletion. Expand dense control flow and restore readable spacing throughout the ChatService implementation and its integration points without changing behavior. Restore unrelated end-of-file formatting so it drops out of the overall PR diff.
2026-08-13Implement ChatService persistent history stitchingpepper
Synchronize eligible direct IM conversations through the ChatService capabilities into durable per-resident CSV archives. Validate deterministic conversation IDs, UUIDv1 ordering, complete discovery and history payloads, and the account-wide deletion cutoff before a bounded pass can append or rebuild an archive. Run discovery, pacing, retries, metadata resolution, and participant paging through one account-scoped manager. Immediately prioritize new Direct sessions, P2P previews, and accepted inbound IMs while honoring transcript consent, authoritative mute state, capability changes, and fail-closed account state. Stitch ordinary and monthly legacy plaintext before the oldest accumulated service row, keep normal plaintext logging active, and merge the first validated service page in memory while older backfill continues. Drive Direct and Preview reloads and their nonmodal loading status from shared resident snapshots. Maintain the human-readable chat_service_index.csv manifest and protect archive updates with strict validation, torn-tail repair, corrupt-file preservation, private file stamps, and atomic replacement. Extend Delete Transcripts with a durable TimeUUID boundary and an asynchronous sweep that suppresses every historical source until cleanup completes safely. Add core coverage for deterministic IDs, UUIDv1 and timestamp validation, strict page and list contracts, RFC 4180 CSV quoting, archive scanning, torn tails, and corrupt records.
2024-07-08Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h ↵Ansariel
and llunittype.h for now
2024-06-01Re-enable a lot of compiler warnings for MSVC and address the C4267 ↵Ansariel
"possible loss of precision" warnings
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-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
2024-02-21Convert BOOL to bool in lluiAnsariel
2023-09-22SL-15039 Prune unused preferences #2Andrey Kleshchev
List of removed preferences (usused per statistics): BottomPanelNew BrowserHomePage BlockSomeAvatarAppearanceVisualParams ButtonHPad ButtonHeight ButtonHeightSmall CacheNumberOfRegionsForObjects ChatBarStealsFocus ChatLoadGroupTimeout ChatPersistTime ChatShowTimestamps ContextConeInAlpha ContextConeOutAlpha ContextConeFadeTime ConversationHistoryPageSize ContactsTornOff CurlMaximumNumberOfHandles CurlUseMultipleThreads CustomServer DebugShowPrivateMem
2020-08-25SL-13858 FIXED Group chat transcripts named with double (group) (group).txt ↵Mnikolenko Productengine
after opening chat history.
2019-11-12Downstream merge from 494-maint-wassailAndreyL ProductEngine
2019-09-16DRTVWR-493 LLLogChat to singletonandreykproductengine
2019-08-21SL-11753 FIXED Group & Resident with the same name share chat history.maxim_productengine
2019-07-03DRTVWR-493 LLAvatarNameCache to singletoneandreykproductengine
2019-01-14SL-10291 Replace apr_mutex with standard C++11 functionalityandreykproductengine
2017-02-15MAINT-7118 Swapping legacy people API with new cacheandreykproductengine
2015-11-10remove execute permission from many files that should not have itOz Linden
2013-12-03MAINT-3476 FIX Opening large chat histories from conversation log eats up ↵PavelK ProductEngine
huge amounts of memory, leading to viewer crash.
2013-09-10MAINT-3117 FIXED crash in LLFloaterConversationPreview::showHistory() - ↵maksymsproductengine
optimization
2013-09-10Merge for MAINT-3117maksymsproductengine
2013-09-10MAINT-3117 FIXED crash in LLFloaterConversationPreview::showHistory()dmitrykproductengine
Updated fix with a more complex and stable version. Integrated solution from the CHUI-836.
2013-09-09MAINT-3117 FIXED crash in LLFloaterConversationPreview::showHistory()dmitrykproductengine
2013-09-05merge from viewer-chuimaksymsproductengine
2013-09-04MAINT-3095 FIXED Viewer crashes after opening Nearby chat history, if it is ↵dmitrykproductengine
empty
2013-09-03CHUI-836 FIXED [CHUIBUG]Opening chat history from the conversation log ↵maksymsproductengine
sometimes crashes the viewer
2013-08-15MAINT-2938 FIXED [CHUI] crash in LLFloaterConversationPreview::showHistory()maksymsproductengine
2013-07-09CHUI-978 FIXED Load data from chat log file in separate thread to prevent ↵Mnikolenko ProductEngine
viewer freeze
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-02-22CHUI-633 FIXED User is not able to open chat history by 'View chat history' ↵maksymsproductengine
menu item from pop-up menu of People floater
2013-01-23CHUI-424 FIXED Args for appendMessage() are added to respect ↵maxim@mnikolenko
Compact/Expanded mode
2012-11-09CHUI-337 FIXED: To avoid confusion with a classes "...conversation..." and ↵AlexanderP ProductEngine
in accordance with the naming convention in the project, some classes and corresponding files should be renamed: LLIMConversation -> LLFloaterIMSessionTab LLIMFloater -> LLFloaterIMSession LLNearbyChat -> LLFloaterIMNearbyChat LLIMFloaterContainer -> LLFloaterIMContainer LLNearbyChatBarListener -> LLFloaterIMNearbyChatListener LLNearbyChatHandler -> LLFloaterIMNearbyChatHandler
2012-09-19CHUI-338 FIXED (LLAvatarNameResponder warning shown in debug console when ↵Paul ProductEngine
using spinner to page through chat history viewer) - Trying to restore avatarID by its name before appending message to chat history. - Also prevented requesting avatar name by null LLUUID in LLAvatarIconCtrl::setValue
2012-09-13CHUI-334 FIXED (Date not shown in the chat log for current date entries)Paul ProductEngine
Before the "%Y/%m/%d" was always cutted from timestamp string for today's date. Now I added flag whether we should cut off timestamp or not.
2012-09-11CHUI-336 FIXED (Remove Description label and field from Chat history viewer)Paul ProductEngine
- Removed lineeditor and text box from code and xml
2012-09-10Attempt to fix Linux buildMerov Linden
2012-09-06CHUI-318 FIXED (User cannot navigate forward in chat history viewer once the ↵Paul ProductEngine
More History option is selected.) - Added spinner so that user could select desired history page. Also displaying total count of pages.
2012-08-31CHUI-157 FIXED (Implement menu bar for conversation floater)Paul ProductEngine
- Added View Nearby chat history option - Also replaced menu item "Add Friend / Remove" with two separate menus: Add Friend and Remove Friend. So if user is a Friend the Remove Friend option would be shown there. If the user is not a friend, the Add Friend option would be shown.
2012-08-28BUILDFIX: Correcting a linux build error.William Todd Stinson
2012-08-28CHUI-275 FIXED (Chat history viewer does not show entire user.txt IM log file)Paul ProductEngine
- Renamed LLLogChat::loadAllHistory to LLLogChat::loadChatHistory because it doesn't actually loads all history. Also added parameter to the function which is a flag whether to load all file's content or not. - Implemented displaying history by pages (as was decided on meeting page): Added showHistory() method to the LLFloaterConversationPreview which shows the chat history page by page starting from the last conversation (or may say starting from the last page). One page contains 100 entries. Added "More history..." button to display next page of history.
2012-07-27CHUI-151 FIXED (Implement conversation log)Paul ProductEngine
A brief explanation of what have been implemented. More information can be found in comments. 1. Created conversation history viewer (llfloaterconversationpreview) 2. Created LLConversation and LLConversationLog classes which represent and hold data of conversations (llconversationlog) 3. Created LLConversationLogList and LLConversationLogListItem which are the visual representation of LLConversationLog and LLConversation respectively 4. Created LLFloaterConversationLog - which holds and displays LLConversationLogList