Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-06-27 | Work around VS refusal to initialize a string | Nat Goodspeed | |
2024-06-27 | Introduce TypeTag<T> template whose int value differs for each T. | Nat Goodspeed | |
This replaces type_tag<T>(), which searched and possibly extended the type_tags unordered_map at runtime. If we called lua_emplace<T>() from different threads, that would require locking type_tags. In contrast, the compiler must instantiate a distinct TypeTag<T> for every distinct T passed to lua_emplace<T>(), so each gets a distinct value at static initialization time. No locking is required; no lookup; no allocations. Add a test to llluamanager_test.cpp to verify that each distinct T passed to lua_emplace<T>() gets its own TypeTag<T>::value, and that each gets its own destructor -- but that different lua_emplace<T>() calls with the same T share the same TypeTag<T>::value and the same destructor. | |||
2024-06-27 | Make lua_emplace<T>() use Luau userdata tags with destructors. | Nat Goodspeed | |
It turns out that Luau does not honor PUC-Rio Lua's __gc metafunction, so despite elaborate measures, the previous lua_emplace<T>() implementation would not have destroyed the contained C++ T object when the resulting userdata object was garbage-collected. Moreover, using LL.atexit() as the mechanism to destroy lua_emplace<T>() userdata objects (e.g. LuaListener) would have been slightly fragile because we also want to use LL.atexit() to make the final fiber.run() call, when appropriate. Introducing an order dependency between fiber.run() and the LuaListener destructor would not be robust. Both of those problems are addressed by leveraging one of Luau's extensions over PUC-Rio Lua. A Luau userdata object can have an int tag; and a tag can have an associated C++ destructor function. When any userdata object bearing that tag is garbage-collected, Luau will call that destructor; and Luau's lua_close() function destroys all userdata objects. The resulting lua_emplace<T>() and lua_toclass<T>() code is far simpler. It only remains to generate a distinct int tag value for each different C++ type passed to the lua_emplace<T>() template. unordered_map<std::type_index, int> addresses that need. | |||
2024-06-27 | Make test.cpp test driver recognize LOGTEST_testname. | Nat Goodspeed | |
Setting LOGTEST=DEBUG, when many unit/integration tests must be rebuilt and run, can result in lots of unnecessary output. When we only want DEBUG log output from a specific test program, make test.cpp recognize an environment variable LOGTEST_testname, where 'testname' might be the full basename of the executable, or part of INTEGRATION_TEST_testname or PROJECT_foo_TEST_testname. When test.cpp notices a non-empty variable by that name, it behaves as if LOGTEST were set to that value. | |||
2024-06-26 | Merge pull request #1850 from secondlife/roxie/webrtc-voice-crash-fixes | Roxanne Skelly | |
Various crash fixes. ALso fixes an issue with adhoc/group calls on vivox regions. | |||
2024-06-26 | Convert tabs to spaces | Roxie Linden | |
2024-06-26 | Merge branch 'release/webrtc-voice' of github.com:secondlife/viewer into ↵ | Roxie Linden | |
roxie/webrtc-voice-crash-fixes | |||
2024-06-26 | Make the webrtc viewer work for vivox adhoc/group calls. | Roxie Linden | |
There was an issue on the release grid where old-style credentials were being sent over and the webrtc viewer wasn't dealing with them properly. | |||
2024-06-26 | Merge pull request #1800 from ↵ | Brad Linden | |
secondlife/1771-mesh-objects-do-not-display-until-you-walk-directly-over-them #1771 Fix for objects disappearing and not reappearing until LoD switch | |||
2024-06-25 | Issue#880 Crash on a dead pointer in a chat session | Andrey Kleshchev | |
2024-06-25 | #1806 - crash in initVoiceChannel | Roxie Linden | |
2024-06-25 | Merge pull request #1842 from secondlife/roxie/webrtc-voice-crash-fixes | Brad Linden | |
viewer#1821 Crash at getSessionID() | |||
2024-06-25 | viewer#1821 Crash at getSessionID() | Andrey Kleshchev | |
2024-06-25 | Merge pull request #1837 from secondlife/roxie/webrtc-voice-gain | Roxanne Skelly | |
2024-06-25 | Merge pull request #1830 from secondlife/roxie/webrtc-voice-1451 | Roxanne Skelly | |
2024-06-25 | Add wear/detach actions to Appearance listener; update example script | Mnikolenko Productengine | |
2024-06-24 | [WebRTC] control microphone gain via custom audio processor. | Roxie Linden | |
Previously, there were two places audio gain could be controlled: - the device manager - the audio track The device manager audio gain control sets the system gain for all applications, not just the webrtc application. The audio track gain happens well after the audio processing where we want it to happen. So, gain control was added to the existing custom audio processor, which previously only handled calculating and retrieving the audio levels. After these changes, the microphone gain slider does impact the audio volume heard by peers. | |||
2024-06-24 | Merge branch 'release/luau-scripting' into lua-appearance-listener | Mnikolenko Productengine | |
2024-06-21 | #1831 Fix for redundantly rebuilding bounding boxes forever (#1832) | Dave Parks | |
2024-06-21 | Merge branch 'release/webrtc-voice' of github.com:secondlife/viewer into ↵ | Roxie Linden | |
roxie/webrtc-voice-1451 | |||
2024-06-21 | Disable voice morphing and throw up a warning if it's previously enabled. | Roxie Linden | |
2024-06-21 | Merge pull request #1725 from secondlife/lua-login | nat-goodspeed | |
UI-related Lua API work | |||
2024-06-21 | Exercise the simple popup.lua APIs | Nat Goodspeed | |
2024-06-21 | Merge pull request #1827 from Ansariel/develop-mergefix | Brad Linden | |
Fix some BOOL oversights during WebRTC merge | |||
2024-06-21 | Merge pull request #1824 from Ansariel/develop | Brad Linden | |
Fix texture fetch request getting canceled if request counter flips over | |||
2024-06-21 | Remove pre-Floater.lua versions of the floater test scripts. | Nat Goodspeed | |
2024-06-21 | login.lua works now, update test_login.lua accordingly. | Nat Goodspeed | |
2024-06-21 | Introduce require/logout.lua and test_logout.lua. | Nat Goodspeed | |
Add "userQuit" operation to LLAppViewerListener to engage LLAppViewer::userQuit(), which pops up "Are you sure?" prompt unless suppressed. | |||
2024-06-21 | Multiple LL.atexit(function) calls run functions in reverse order. | Nat Goodspeed | |
2024-06-21 | #1769 gltf optimization pass (#1816) | Dave Parks | |
#1814 and #1517 Fix mirror update rate and occlusion culling | |||
2024-06-21 | Fix some BOOL oversights during WebRTC merge | Ansariel | |
2024-06-21 | viewer#1821 Crash at getSessionID() | Andrey Kleshchev | |
2024-06-21 | Add Appearance listener | Mnikolenko Productengine | |
2024-06-21 | Use util.classctor(LLChatListener). | Nat Goodspeed | |
2024-06-21 | Move newer Lua modules to scripts/lua/require subdirectory. | Nat Goodspeed | |
2024-06-21 | Merge branch 'release/luau-scripting' into lua-login | Nat Goodspeed | |
2024-06-21 | Merge pull request #1767 from secondlife/lua-chat-listener | nat-goodspeed | |
Add nearby chat listener | |||
2024-06-21 | Fix texture fetch request getting canceled if request counter flips over | Ansariel | |
2024-06-21 | viewer#1808 Use bugsplat's setAttribute for app state | Andrey Kleshchev | |
2024-06-20 | Merge pull request #1791 from secondlife/brad/webrtc-voice-develop | Brad Linden | |
webrtc-voice merge to develop | |||
2024-06-20 | Fixed incomplete merge in message_template.msg.sha1 | Brad Linden | |
2024-06-20 | Merge remote-tracking branch 'origin/develop' into brad/webrtc-voice-develop | Brad Linden | |
2024-06-20 | Merge remote-tracking branch 'origin/release/webrtc-voice' into ↵ | Brad Linden | |
brad/webrtc-voice-develop | |||
2024-06-20 | Merge branch 'release/luau-scripting' into lua-chat-listener | Nat Goodspeed | |
2024-06-20 | viewer-private#247 Retry loading missing textures for model upload | Andrey Kleshchev | |
in case user provided a texture later, after seeing a 'missing texture' error. | |||
2024-06-20 | Use new popup.lua, which supersedes LLNotification.lua. | Nat Goodspeed | |
Use ClassName(ctor args) for classes using util.classctor(). | |||
2024-06-20 | Merge branch 'release/luau-scripting' into lua-login | Nat Goodspeed | |
2024-06-20 | Merge pull request #1297 from secondlife/lua-speedometer-demo | nat-goodspeed | |
Add demo script with idle and notification interactions | |||
2024-06-20 | Revert LLLuaFloater "idle" events in favor of Lua timers.Timer(). | nat-goodspeed | |
2024-06-20 | Merge branch 'release/luau-scripting' into lua-speedometer-demo | Nat Goodspeed | |