Commit Graph

76 Commits (bf347d15804c27348c84a55ab763f89b718e8aac)

Author SHA1 Message Date
Andrey Kleshchev c488919ef2 #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.
2025-07-11 20:31:32 +03:00
Jonathan "Geenz" Goodman d19d44cc72
Merge pull request #3911 from secondlife/main
Merge 2025.03 release into develop.
2025-04-15 10:14:27 -04:00
Maxim Nikolenko 8520ca966f #3052 remove pointless logging when group notice is received 2025-03-05 13:36:40 +02:00
Rider Linden 48ccb0f75b Issue #2907: When passing the injected notification message into addMessage on behalf of the system, optionally specify the agent id and name that should be used.
(cherry picked from commit 7ff297ec3fc5f878cc9a916678987c0033b7eb8a)
2025-02-26 16:26:26 -08:00
Rider Linden a097f88728 Issue #2907: Code review comments. 2025-02-26 16:23:23 -08:00
Rider Linden 7cd50ceace Issue #2907: Process metadata sent along with chats of type IM_NOTHING_SPECIAL, The metadata can contain information about the bot status of the sender. It may also contain a system-injected notification that is displayed to the agent as part of the 1:1 chat window. 2025-02-26 16:23:21 -08:00
Brad Linden 9fa95dd0b2
Fix crash in LLImProcessing when message comes in before region is fully init (#2604)
secondlife/viewer#2603
2024-09-18 14:53:36 -07:00
Rye Mutt b5e306f7d8
Enable /permissive- on MSVC for better standards conformance (#2251)
* Enable /permissive- on MSVC for better C++ conformance and fix related errors

* Clean up left over warning suppressions from old library or msvc versions
2024-08-14 08:01:02 -07:00
Ansariel 9fdca96f8b Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h and llunittype.h for now 2024-07-08 20:27:14 +02:00
Brad Linden 7c42711ca3 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into project/gltf_development 2024-06-10 16:22:12 -07:00
Ansariel b42f9d836b Re-enable a lot of compiler warnings for MSVC and address the C4267 "possible loss of precision" warnings 2024-06-01 15:49:26 +02:00
Brad Linden 9f6849e081 Merge remote-tracking branch 'origin/project/gltf_development' into brad/merge-maint-a-to-dev 2024-05-23 11:35:23 -07:00
Ansariel e2e37cced8 Fix line endlings 2024-05-22 22:40:26 +03:00
Ansariel 1b67dd855c Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# 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-22 19:04:52 +02:00
Dave Parks 03c4458bdc
#1392 GLTF Upload (#1394)
* #1392 WIP -- Functional texture upload, stubbed out .bin upload.

* #1392 GLTF Upload WIP -- Emulates successful upload

Successfully uploads texture
Emulates successful .gltf and .bin upload by injecting into local asset cache.
Emulates rez from inventory by setting sculpt ID of selected object
Currently fails in tinygltf parsing due to missing .bin

* Add missing notification

* Build fix

* #1392 Add boost::json .gltf reading support.

* #1392 boost::json GLTF writing prototype

* Create gltf/README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* #1392 Add ability to render directly from LL::GLTF::Material

* Fix for mac build

* Mac build fix

* #1392 AssetType and Inventory Type plumbing

* #1392 More sane error handling and scheduling of uploads.

* #1392 Actually attempt to upload glbin

* Mac build fix, upload nudge

* Mac build fix

* Fix glTF asset uploads to server

* Mac build fix (inline not static)

* More consistent inline

* Add glm, mac nudge.

* #1392 For consistency with spec, start using glm over glh:: and LLFoo

* Another attempt at placating Mac builds

* Another Mac nudge

* Mac build take 23

* #1392 Prune LLMatrix4a from GLTF namespace.

* #1392 Fix for orientation being off (glm::quat is wxyz, not xyzw)

* #1392 WIP -- Actually send the sculpt type and id, nudge readme and alpha rendering

* #1392 Working download!

* #1394 Add support for GLTFEnabled SimulatorFeature

* #1392 Review feedback

---------

Co-authored-by: Pepper Linden <3782201+rohvani@users.noreply.github.com>
2024-05-20 13:22:55 -05:00
Alexander Gavriliuk f9473e8afc secondlife/viewer#1333 BOOL to bool conversion leftovers: ternaries 2024-05-07 10:18:51 +02:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Ansariel 60d3dd98a4 Convert remaining BOOL to bool 2024-02-21 23:14:31 +02:00
Andrey Kleshchev 5c420babdc SL-19860 Fixed messages from muted objects being shown upon login 2023-06-20 20:45:48 +03:00
Andrey Kleshchev 0c2b00efaa SL-19346 PERMISSION_DEBIT remove warning for Linden owned content 2023-03-06 22:53:04 +02:00
simon f257ee7d3c SL-18268 - Viewer update to read group chat history.
Feature described at https://community.secondlife.com/blogs/entry/12652-coming-soon-to-a-viewer-near-you-group-chat-history/
2023-02-13 15:19:27 -08:00
Andrey Lihatskiy f836194516 Merge branch 'main' into DRTVWR-570-maint-Q
# Conflicts:
#	doc/contributions.txt
#	indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
#	indra/newview/llfloater360capture.cpp
2022-12-12 20:53:11 +02:00
Rye Mutt d0e07c770b Fix checks for empty LLSD maps to use size and not emptyMap which is for creating an empty LLSDMap type. 2022-10-30 06:56:16 -04:00
Mnikolenko Productengine 8e8c68720b SL-17973 updated inappropriate arg 2022-08-17 20:12:09 +03:00
Mnikolenko Productengine 0191ee5f6f SL-17973 FIXED region name is not shown in the IM chat 2022-08-17 14:50:03 +03:00
Mnikolenko Productengine 03921adb12 SL-2202 Add exception handling around boost::regex_match() calls in the viewer 2021-01-11 17:07:03 +02:00
Andrey Lihatskiy 9406b757a3 Merge branch 'DRTVWR-501-maint' into DRTVWR-503-maint
# Conflicts:
#	indra/cmake/DirectX.cmake
#	indra/newview/llviewerparcelmedia.cpp
#	indra/newview/viewer_manifest.py
2020-08-11 01:34:13 +03:00
Andrey Lihatskiy 7bbf3f5f7f Merge branch 'master' into DRTVWR-501-maint
# Conflicts:
#	autobuild.xml
#	indra/newview/llimprocessing.cpp
2020-07-20 22:24:10 +03:00
Andrey Lihatskiy 4ac0ab2af3 Merge branch 'DRTVWR-501-maint' into DRTVWR-503-maint 2020-07-06 21:48:11 +03:00
Andrey Kleshchev fa1ae9fa1a SL-13540 Fix line endings 2020-07-06 13:47:24 +03:00
Nat Goodspeed 5ab0ff486b DRTVWR-476, SL-11430: Merge branch 'SL-9756' into d476 2020-07-02 13:24:29 -04:00
Andrey Kleshchev bf5585c0ec SL-13540 Offline scripted inventory offers not shown on non drtsim-451 2020-07-02 19:05:12 +03:00
Rider Linden 766b21a0a6 SL-13533: Use the old name for from_agent_name
SL-13540: Do not fail if binary bucket is too large, attempt to extract the asset type from the old style bucket. Notification still not shown.
2020-07-02 19:05:12 +03:00
Andrey Kleshchev 7c122757f9 SL-13540 Offline scripted inventory offers not shown on non drtsim-451 2020-07-02 19:00:23 +03:00
Rider Linden 3379259ffb SL-13533: Use the old name for from_agent_name
SL-13540: Do not fail if binary bucket is too large, attempt to extract the asset type from the old style bucket. Notification still not shown.
2020-07-02 19:00:23 +03:00
Nat Goodspeed a075a73920 DRTVWR-476: Merge branch 'SL-9756' into d476. 2020-06-30 16:59:17 -04:00
Rider Linden 01f2308c85 SL-9756: Get the LLSD names right. 2020-06-30 23:13:05 +03:00
Rider Linden f72759c16d SL-9756: IM_TASK_INVENTORY_OFFERED bucket offline format conforms to the online format. 2020-06-30 23:13:05 +03:00
Rider Linden f8e53adce7 SL-9756: Get session_id/transaction id from aux if session is missing. 2020-06-30 23:13:04 +03:00
Rider Linden c8b7466c19 SL-11430, SL-9756: Take transaction-id from offline messages. Correct LLSD names. Use offline flag rather than implicit tests of session_id and aux_id. 2020-06-30 23:13:04 +03:00
Rider Linden e2dd15397c SL-9756: Take the "session_id" from the offline message that was passed. 2020-06-30 23:13:04 +03:00
Rider Linden 52f888b8d3 SL-9756: Get the LLSD names right. 2020-06-30 02:38:53 +03:00
Rider Linden 8bf2078e90 SL-9756: IM_TASK_INVENTORY_OFFERED bucket offline format conforms to the online format. 2020-06-30 02:38:53 +03:00
Rider Linden 5f9a18c88f SL-9756: Get session_id/transaction id from aux if session is missing. 2020-06-30 02:38:53 +03:00
Rider Linden 9887af162b SL-11430, SL-9756: Take transaction-id from offline messages. Correct LLSD names. Use offline flag rather than implicit tests of session_id and aux_id. 2020-06-30 02:38:53 +03:00
Rider Linden 25e6dc4adb SL-9756: Take the "session_id" from the offline message that was passed. 2020-06-30 02:38:53 +03:00
Nat Goodspeed ca6f092929 DRTVWR-476: Merge branch 'master' of lindenlab/viewer into DRTVWR-476-boost-1.72 2020-05-06 16:06:26 -04:00
Nat Goodspeed 9d5b897600 DRTVWR-494: Defend LLInstanceTracker against multi-thread usage.
The previous implementation went to some effort to crash if anyone attempted
to create or destroy an LLInstanceTracker subclass instance during traversal.
That restriction is manageable within a single thread, but becomes unworkable
if it's possible that a given subclass might be used on more than one thread.

Remove LLInstanceTracker::instance_iter, beginInstances(), endInstances(),
also key_iter, beginKeys() and endKeys(). Instead, introduce key_snapshot()
and instance_snapshot(), the only means of iterating over LLInstanceTracker
instances. (These are intended to resemble functions, but in fact the current
implementation simply presents the classes.) Iterating over a captured
snapshot defends against container modifications during traversal. The term
'snapshot' reminds the coder that a new instance created during traversal will
not be considered. To defend against instance deletion during traversal, a
snapshot stores std::weak_ptrs which it lazily dereferences, skipping on the
fly any that have expired.

Dereferencing instance_snapshot::iterator gets you a reference rather than a
pointer. Because some use cases want to delete all existing instances, add an
instance_snapshot::deleteAll() method that extracts the pointer. Those cases
used to require explicitly copying instance pointers into a separate
container; instance_snapshot() now takes care of that. It remains the caller's
responsibility to ensure that all instances of that LLInstanceTracker subclass
were allocated on the heap.

Replace unkeyed static LLInstanceTracker::getInstance(T*) -- which returned
nullptr if that instance had been destroyed -- with new getWeak() method
returning std::weak_ptr<T>. Caller must detect expiration of that weak_ptr.

Adjust tests accordingly.

Use of std::weak_ptr to detect expired instances requires engaging
std::shared_ptr in the constructor. We now store shared_ptrs in the static
containers (std::map for keyed, std::set for unkeyed).

Make LLInstanceTrackerBase a template parameterized on the type of the static
data it manages. For that reason, hoist static data class declarations out of
the class definitions to an LLInstanceTrackerStuff namespace.

Remove the static atomic sIterationNestDepth and its methods incrementDepth(),
decrementDepth() and getDepth(), since they were used only to forbid creation
and destruction during traversal.

Add a std::mutex to static data. Introduce an internal LockStatic class that
locks the mutex while providing a pointer to static data, making that the only
way to access the static data.

The LLINSTANCETRACKER_DTOR_NOEXCEPT macro goes away because we no longer
expect ~LLInstanceTracker() to throw an exception in test programs.
That affects LLTrace::StatBase as well as LLInstanceTracker itself.

Adapt consumers to the new LLInstanceTracker API.
2020-03-25 15:28:17 -04:00
Mnikolenko Productengine 6c41ea62ce SL-12871 'Only Friends and Groups can call or IM me' setting should be account based. 2020-03-19 16:14:02 +02:00
Andrey Lihatskiy a52ef7ad60 Merge branch 'DRTVWR-499' into DRTVWR-500 2020-02-03 15:13:37 +02:00