Commit Graph

79918 Commits (08b141be77002500ee6463b7f3a31eebafcde10d)

Author SHA1 Message Date
Maxim Nikolenko a125524085
#4847 log session_jitter and period_jitter with FPS info 2025-10-31 15:29:07 +02:00
minerjr 9ee2595ac1 Reduced the time_mutx lock to 1 second from 3 seconds
Originally setup with 3 second as a was not sure how long it would take to recover, but 1 second should be good to recover and enumerate devices.
2025-10-29 21:39:57 -03:00
Andrey Kleshchev 1fc0eca119 #4886 Crash on LLTeleportRequestViaLure::toOstream 2025-10-29 23:04:00 +02:00
Andrey Kleshchev 1c393aed78 #4884 Crash at resetRegionCrossingTimer 2025-10-29 23:04:00 +02:00
Andrey Kleshchev dab2fa75dd #4876 Fix material not applying
1. Dupplicate call in llselectmgr can cause race conditions
2. lltooldragndrop wasn't updating server in one case
2025-10-29 23:04:00 +02:00
minerjr b37a210e38 Fixed up the i prefix to g to follow coding standards
Changed iWebRTCUpdateDevices and iAudioDeviceMutex to gWebRTCUpdateDevicesand gAudioDeviceMutex to follow Firestorm coding standards.

They are global static variables.
2025-10-29 15:37:55 -03:00
minerjr f6ce46c726 Fixed up not python operator to proper C++ operator
Fixed up the follow Firestorm coding standards.
2025-10-29 15:21:51 -03:00
Ansariel a33e37cbd1 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm-ll-master 2025-10-29 19:17:08 +01:00
Ansariel 1002a28e39 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm 2025-10-29 19:16:44 +01:00
Ansariel ced6a24696 Merge branch 'release/2025.08' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/llviewermedia.cpp
#	indra/newview/llviewerwindow.cpp
2025-10-29 19:11:13 +01:00
Ansariel 3620dfdd35 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm 2025-10-29 18:40:12 +01:00
Andrey Kleshchev 0fd96e6247 #4604 Turn off cef preloading on low end hardware
1. Cef instances are fairly heavy in viewer's implementation, don't preload
them on systems <= 8GB
2. Move initialization into floaters where it belongs.
3. Minimal requirement is 8GB, drop gpu class to 1 on hardware under 8GB
4. Reduce cef instance count on systems under 8GB
2025-10-29 17:54:31 +02:00
minerjr cc3bae406c FIRE-36022 - Removing my USB headset crashes entire viewer - FMOD fixes
Added three FMOD specific changes based upon reading the FMOD manual.
See: https://www.fmod.com/docs/2.00/api/platforms-win.html
As well, switched to using the FMOD log version of the library and found one error on the get advanced features.

Also, the call back method should be a static method. Just being cautious.
2025-10-28 23:30:18 -03:00
minerjr 6ad9a57c39 FIRE-36022 - Removing my USB headset crashes entire viewer - audio device mutex
As with the previous change, this is to address the issue FIRE-36022 where users who remove their USB headsets with microphones are having the viewer lock up.

This introduces a new inline mutex called iAudioDeviceMutex. This is stored in a shared header file located on llcommon. iAudioDeviceMutex is a timed_mutex which allows for a time limit to be placed on a wait for a lock. Once the time runs out or the lock is achiveved the code moves on. With a check after the lock, if the owner is the current thread, then the lock was successful, otherwise it's still being used by another thread and the function should exit to try again later on.

This logic is wrapping WebRTC, FMOD and Vinvox calls to the audio hardware by the Viewer. OpenAL does not currently support changing of audio hardware and always defaults to the default audio hardware.

Added exceptions handling for the new unique_lock with the timed_mutex as they can throw 2 exceptions if the thread is already locked by the current thread and if the mutex is invalid.

Further testing may reveal other areas which would need the timed_mutex added to protect from threads locking up.
2025-10-28 23:22:13 -03:00
minerjr 0cdae450d8 FIRE-36022- Removing my USB headset crashes entire viewer - WebRTC fix
This is created to address the issue of USB headsets being removed or Bluetooth headsets with bad connections causing the viewer to lock up.

First Part: WebRTC

WebRTC now has an added inline atomic bool used to track when the worker thread is accessing the audio hardware. If the coroutine that is always running detects 10 consecutive true flag values, it will set WebRTC to exit and exit itself.

This coroutine was what was locking up the viewer as it spammed the mMainQueue with messages every update, but the worker thread was locked up and unable to receive the messages. Once the queue reached 1024 messages, it would lock up.

Underlying issue is the Windows Core Audio driver system crashes if too many threads have requests to get audio updates upon hardware changes. And with a USB headset having 2 devices in 1, it multiples the updates by 2x. The WebRTC audio system itself locks a mutex as it calls the core audio system to get set the input, but if it is already being processed by another thread, it then gets an exception to try again. The audio driver is not handling the message and crashes and does not return leaving the WebRTC worker thread locked.
2025-10-28 23:05:53 -03:00
Andrey Kleshchev 5a0ba25d83 #4882 Log textures that failed to be created
A bunch of 36x36 failed to create, there shouldn't have been any 36x36
textures, log the ids/type.
2025-10-28 21:23:01 +02:00
Roxanne Skelly 164912418c
Fix issue where mac was crashing during an attempt to unplug or replug microphone. (#4897)
The mac audio device manager was being "helpful" by restarting
playout and recording if the Default device was changed, assuming
the application wouldn't care.
However, we received an update of device change, and attempted to
stop and start playout anyway, causing a conflict.
The fix was simply to not deploy new devices when the device id didn't
change.
2025-10-28 13:03:25 -04:00
Angeldark Raymaker 44ffa1df51 FIRE-35670: Move poses and copy newer versions
Moved preset poses so they're easier to find on non-windows
Updated viewer_manifest copy everything
Update preset poses in user dir if version updated
2025-10-27 21:54:31 +00:00
PanteraPolnocy 6c67960b21 FIRE-36045 Chinese Translation Update, by 小滢 Zi Ying 2025-10-27 20:07:39 +01:00
Ansariel b1026c6ea2 Update German translation 2025-10-24 22:10:51 +02:00
PanteraPolnocy 390f5431b6 FIRE-36037 Updated Japanese translation, by Logue Takacs
Pay + panel preference chat.
2025-10-24 15:21:26 +02:00
PanteraPolnocy d4fd72e5ac Add an option o disable auto-completion when typing @ mentions in chat 2025-10-23 16:33:22 +02:00
Ansariel 1a80805ef8 Merge branch 'release/2025.08' of https://github.com/secondlife/viewer 2025-10-22 13:52:45 +02:00
Ansariel 4a7f5b6709 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm-ll-master
# Conflicts:
#	indra/cmake/APR.cmake
2025-10-22 13:52:23 +02:00
Hecklezz 0e59ef1112 Updated APR library and removed hotfix patch in APR cmake 2025-10-22 19:20:04 +10:00
Andrey Kleshchev 4e2a9667bd
Merge from secondlife/develop into 2025.08 2025-10-21 21:11:05 +03:00
Andrey Kleshchev 0d5138c1f9 #4839 Crash at LLPluginProcessParent::poll
Missed lock
2025-10-21 20:59:39 +03:00
Andrey Kleshchev 9a2ff1657d #4871 Fix webrtc crash on tuningGetEnergy 2025-10-21 14:57:32 +03:00
Hecklezz 3930c4b4c1 [FIRE-35996] Restore allowing creating folder from selected on recent and favorites inventory panels if they were in your clipboard 2025-10-21 18:22:10 +10:00
Andrey Kleshchev 528c4b5f31 #2427 Show torn off chat when clicking on a message popup 2025-10-21 09:29:23 +03:00
Ansariel f3bce39d28 Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llcommon/llfile.cpp
#	indra/llui/llviewereventrecorder.cpp
2025-10-21 00:24:37 +02:00
Ansariel 431b3b0c6d Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	.github/workflows/pre-commit.yaml
#	indra/cmake/LLPhysicsExtensions.cmake
#	indra/llwindow/llopenglview-objc.mm
#	indra/newview/CMakeLists.txt
#	indra/newview/llappdelegate-objc.mm
2025-10-20 23:56:48 +02:00
fmartian aa49a3d7e6 Fix typo in comment 2025-10-21 00:50:27 +03:00
Frederick Martian f58a7c7673 Make changes according to recommendations by Copilot
- correction spelling of suppress_error
- improved error handling in remove() based on functionality in get_fileattr() and somewhat changed error handling in get_fileattr() itself
- call explicitly LLFile::fopen() to make sure we use the correct file path conversion under Windows

Removing Flawfinder comments since Flawfinder isn't used in the viewer anymore
Adding an option to support symlink detection in getattr()
Adding comments to function implementation to indicate that they are really static functions of the LLFile class
2025-10-21 00:50:27 +03:00
RolfKal 2adf1bbdcb Remove trailing space 2025-10-21 00:50:27 +03:00
RolfKal 49a850ccc1 Remove a trailing space and a missed LLFile::remove() call right before the LLFile::rename() 2025-10-21 00:50:27 +03:00
RolfKal e12958161c Improve LLFile to be consistent between Windows and Linux/Mac 2025-10-21 00:50:27 +03:00
Ansariel 1a58d3e023 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm-202507
# Conflicts:
#	indra/cmake/APR.cmake
2025-10-20 23:16:15 +02:00
dependabot[bot] 6f1df1a8d2
Bump actions/checkout from 4 to 5 (#4867)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 13:32:50 -07:00
dependabot[bot] 53041adc3d
Bump pre-commit/action from 3.0.0 to 3.0.1 (#4864)
Bumps [pre-commit/action](https://github.com/pre-commit/action) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/pre-commit/action/releases)
- [Commits](https://github.com/pre-commit/action/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: pre-commit/action
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 13:32:36 -07:00
Hecklezz f479ed8757 [FIRE-36028] Fix OpenSim object permissions 2025-10-21 05:11:28 +10:00
Andrey Kleshchev 0369072418 #4861 Crash at LLVolumeFace::createOctree
Looks like LLRiggedVolume::update goes out of bounds when selecting a face
2025-10-20 20:12:14 +03:00
Rye 41e9595522
Rework new convex decomp into a physicsextensions stub package and fix havok and havok_tpv builds for darwin universal to utilize new vhacd stub (#4858) 2025-10-20 13:10:19 -04:00
Rye c847a5eaac Update pre-commit hooks to v6.0.0 2025-10-20 19:39:49 +03:00
Rye 993851cc2a Ignore tabs to spaces for objc in blame 2025-10-20 19:39:49 +03:00
Rye 11f73b0e7f Fix tabs and trailing spaces in objc sources 2025-10-20 19:39:49 +03:00
Rye f0d8e8f23c
Introduce dependabot configuration for Github Actions (#4859) 2025-10-20 09:36:36 -07:00
Ansariel 77746a648f Prevent full rebuild each time CMake detects any changes 2025-10-20 11:27:00 +02:00
Andrey Kleshchev fa7cacc755 #4724 Fix performance problems with My Outfits - <FS:PP> Cherry pick for FIRE-35936
# Conflicts:
#	indra/newview/lloutfitslist.cpp
2025-10-19 18:54:08 +02:00
Hecklezz 42df6526a2 [FIRE-35962] Fix crashes when checking for corrupt sounds 2025-10-19 17:59:03 +10:00