summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-04Swat a few more buzzing BOOLs.Nat Goodspeed
2024-09-04Adapt new code from main branch to Lua project calling convention.Nat Goodspeed
2024-09-04Resolve a few unresolved merge conflicts.Nat Goodspeed
2024-09-04Extract coroutine-aware synchronization primitives to new header.Nat Goodspeed
Changes on new main and changes on Lua project branch combined into a header circularity. Resolved by hoisting coroutine-aware synchronization primitives out to a new llcoromutex.h file in the `llcoro` namespace, rather than being literally members of the `LLCoros` class. But retained `using` declarations in `LLCoros` for backwards compatibility.
2024-08-28Ditch trailing spaces.Nat Goodspeed
2024-08-28Add script control to "Inventory.DoCreate" registered menu action.Nat Goodspeed
2024-08-28Merge branch 'main' into release/luau-scripting.Nat Goodspeed
2024-08-28Merge pull request #2416 from secondlife/lua-lazymodnat-goodspeed
Allow UI to have lazily-loaded submodules.
2024-08-27Merge pull request #2384 from secondlife/lua-inventoryMaxim Nikolenko
Lua inventory api
2024-08-27code clean upMnikolenko Productengine
2024-08-27Merge branch 'release/luau-scripting' into lua-inventoryMaxim Nikolenko
2024-08-26Increment viewer version to 7.1.10Nat Goodspeed
following promotion of secondlife/viewer #1829: 2024.06 Atlasaurus
2024-08-26Merge pull request #2400 from secondlife/lua-issue-2385Maxim Nikolenko
Fix for #2385: say, shout and whisper messages from the script should be displayed consistently
2024-08-26clean up Lua prefixMnikolenko Productengine
2024-08-24Update test scripts to reference UI.Floater, not standalone Floater.Nat Goodspeed
2024-08-23Massage results from UI.popup() for ease of use.Nat Goodspeed
In particular, where the raw leap.request().response call would return {OK_okcancelbuttons=true}, just return the string 'OK' or 'Cancel'. Update existing consumer scripts.
2024-08-23Encapsulate the lazy submodule idiom as util.submoduledir().Nat Goodspeed
2024-08-23Look for lazy UI submodules in a require/UI subdirectory.Nat Goodspeed
This way encourages "UI = require 'UI'; UI.Floater" instead of just "Floater = require 'Floater'". Moreover, now we don't need UI to maintain a list of allowed submodules; that's effected by membership in the subdirectory.
2024-08-23Allow UI to have lazily-loaded submodules.Nat Goodspeed
Equip UI with an __index metamethod. When someone references an unknown key/field in UI, require() that module and cache it for future reference. Add util.setmetamethods() as a way to find or create a metatable on a specified table containing specified metamethods. Exercise the new functionality by referencing UI.popup in test_popup.lua.
2024-08-22#2397 Sanity clamp haze contribution to avoid NaN like blowouts. (#2402)Dave Parks
2024-08-22Fix for #2385: say, shout and whisper messages from the script should be ↵Mnikolenko Productengine
displayed consistently
2024-08-21mac build fixMnikolenko Productengine
2024-08-21Bump featuretable versions to fix secondlife/viewer#2345 (#2386)Brad Linden
also fixed mac High entry for RenderMirrors that got missed
2024-08-21Merge branch 'release/luau-scripting' into lua-inventoryMaxim Nikolenko
2024-08-21Add item limit for collectDescendentsIf func; add demo scriptMnikolenko Productengine
2024-08-21Merge pull request #2372 from secondlife/roxie/webrtc-fix-mac-p2p-hangBrad Linden
Fix hang when incoming p2p or group calls throw up dialog.
2024-08-21Merge pull request #2373 from secondlife/viewer-lua-2237nat-goodspeed
Fix for #2237: intermittent Lua data stack overflow.
2024-08-21Improve diagnostic output for Lua atexit() functions.Nat Goodspeed
2024-08-21Suppress ~LuaStackDelta() verification during stack unwinding.Nat Goodspeed
Otherwise, an exception raised in the block containing a LuaStackDelta instance -- that might be caught -- would result in an LL_ERRS() crash. We can't expect a block exited via exception to keep its contract wrt the Lua data stack.
2024-08-20Fix a couple more set_interrupts_counter() calls.Nat Goodspeed
2024-08-20Defend timers.Timer(iterate=True) against long callbacks.Nat Goodspeed
Specifically, defend against a callback that runs so long it suspends at a point after the next timer tick.
2024-08-20Fix for #2237: intermittent Lua data stack overflow.Nat Goodspeed
Use a static unordered_map to allow a function receiving (lua_State* L) to look up the LuaState instance managing that lua_State. We've thought about this from time to time already. LuaState's constructor creates the map entry; its destructor removes it; the new static getParent(lua_State* L) method performs the lookup. Migrate lluau::set_interrupts_counter() and check_interrupts_counter() into LuaState member functions. Add a new mInterrupts counter for them. Importantly, LuaState::check_interrupts_counter(), which is indirectly called by a lua_callbacks().interrupt function, no longer performs any Lua stack operations. Empirically, it seems the Lua engine is capable of interrupting itself at a moment when re-entry confuses it. Change previous lluau::set_interrupts_counter(L, 0) calls to LuaState::getParent(L).set_interrupts_counter(0). Also add LuaStackDelta class, and a lua_checkdelta() helper macro, to verify that the Lua data stack depth on exit from a block differs from the depth on entry by exactly the expected amount. Sprinkle lua_checkdelta() macros in likely places.
2024-08-20Fix TempSet to use type VAR to store mOldValue.Nat Goodspeed
In fact we set mOldValue from mVar, and restore mVar from mOldValue, so the VAR type makes the most sense. The previous way, you'd get actual errors if you tried to use TempSet(pointervar, nullptr): that declared mOldValue to be nullptr_t, which you can't initialize from mVar.
2024-08-20Merge branch 'release/2024.06-atlasaurus' of github.com:secondlife/viewer ↵Roxie Linden
into roxie/webrtc-fix-mac-p2p-hang
2024-08-20removed unnecessary commentRoxie Linden
2024-08-20Add LL::scope_exitNat Goodspeed
2024-08-20Fix hang when incoming p2p or group calls throw up dialog.Roxie Linden
There were changes in atlasaurus that resulted in a hang for incoming p2p and group calls which throw up dialogs. The changes revolved around mutex, coroutines, job queues, and such. The fix was to do any processing that may result in callbacks from the webrtc code in a queued job instead of a coroutine.
2024-08-20Merge pull request #2370 from secondlife/geenz/fix/increment-featuretableBrad Linden
#2345 Fix for mirrors not being disabled from previous viewer versions.
2024-08-20#2345 Fix for mirrors not being disabled from previous viewer versions.Jonathan "Geenz" Goodman
2024-08-20Add collectDescendentsIf api for LuaMnikolenko Productengine
2024-08-20Trim trailing blank line.Nat Goodspeed
2024-08-19Merge pull request #2355 from secondlife/geenz/cherrypick/mirrors-disableDave Parks
Cherry pick mirror disablement from develop.
2024-08-19#2345 Disable mirrors from the feature table regardless of quality level. ↵Jonathan "Geenz" Goodman
(#2352)
2024-08-19Merge pull request #2328 from secondlife/roxie/webrtc-airpod-fixesRoxanne Skelly
2024-08-19Merge pull request #2324 from secondlife/roxie/webrtc-log-devicesRoxanne Skelly
[WebRTC] Log WebRTC devices on webrtc initialization.
2024-08-18update webrtc again.Roxie Linden
2024-08-18Merge branch 'roxie/webrtc-airpod-fixes' of github.com:secondlife/viewer ↵Roxie Linden
into roxie/webrtc-airpod-fixes
2024-08-18Use the release build of webrtc to avoid pedantic asserts which are handled ↵Roxie Linden
properly anyway.
2024-08-19viewer#2296 Don't show 'are you sure you want to leave the call' when ↵Andrey Kleshchev
shutting down
2024-08-18Update webrtc to fix loss of stereo in bluetooth issue.Roxie Linden
When transitioning from mic-on hands-free mode to mic off, it's expected that the audio stream would return to stereo. Inproper logic in the mac device code in webrtc was preventing that.