Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-08-27 | code clean up | Mnikolenko Productengine | |
2024-08-27 | Merge branch 'release/luau-scripting' into lua-inventory | Maxim Nikolenko | |
2024-08-26 | Merge pull request #2400 from secondlife/lua-issue-2385 | Maxim Nikolenko | |
Fix for #2385: say, shout and whisper messages from the script should be displayed consistently | |||
2024-08-26 | clean up Lua prefix | Mnikolenko Productengine | |
2024-08-22 | Fix for #2385: say, shout and whisper messages from the script should be ↵ | Mnikolenko Productengine | |
displayed consistently | |||
2024-08-21 | mac build fix | Mnikolenko Productengine | |
2024-08-21 | Merge branch 'release/luau-scripting' into lua-inventory | Maxim Nikolenko | |
2024-08-21 | Add item limit for collectDescendentsIf func; add demo script | Mnikolenko Productengine | |
2024-08-21 | Merge pull request #2373 from secondlife/viewer-lua-2237 | nat-goodspeed | |
Fix for #2237: intermittent Lua data stack overflow. | |||
2024-08-21 | Improve diagnostic output for Lua atexit() functions. | Nat Goodspeed | |
2024-08-21 | Suppress ~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-20 | Fix a couple more set_interrupts_counter() calls. | Nat Goodspeed | |
2024-08-20 | Defend 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-20 | Fix 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-20 | Fix 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-20 | Add LL::scope_exit | Nat Goodspeed | |
2024-08-20 | Add collectDescendentsIf api for Lua | Mnikolenko Productengine | |
2024-08-15 | First batch of Inventory api; raise interrupts limit | Mnikolenko Productengine | |
2024-08-15 | Merge branch 'release/luau-scripting' into viewer-lua-2237 | Nat Goodspeed | |
2024-08-15 | Introduce lluau_checkstack(L, n); use instead of luaL_checkstack(). | Nat Goodspeed | |
luaL_checkstack() accepts a third parameter which is included in the stack overflow error message. We've been passing nullptr, leading to messages of the form "stack overflow ((null))". lluau_checkstack() implicitly passes __FUNCTION__, so we can distinguish which underlying luaL_checkstack() call encountered the stack overflow condition. Also, when calling each atexit() function, pass Luau's debug.traceback() function as the lua_pcall() error handler. This should help diagnose errors in atexit() functions. | |||
2024-08-13 | Merge pull request #2274 from secondlife/luau-0.638 | nat-goodspeed | |
Update Luau to v0.638-r2 (2024-08-12 build) | |||
2024-08-13 | Update Luau to v0.638-r2 (2024-08-12 build) | Nat Goodspeed | |
2024-08-13 | Merge pull request #2240 from secondlife/lua-groupchat | Maxim Nikolenko | |
Lua api for sending group messages | |||
2024-08-13 | clean up and add comment | Mnikolenko Productengine | |
2024-08-13 | Merge pull request #2265 from secondlife/lua-groupchat-throttle | Maxim Nikolenko | |
Add Throttle and LogThrottle classes to manage throttled APIs. | |||
2024-08-12 | Add virtual destructor to Throttle class. | Nat Goodspeed | |
2024-08-12 | Add Throttle and LogThrottle classes to manage throttled APIs. | Nat Goodspeed | |
2024-08-12 | Merge branch 'release/luau-scripting' into lua-groupchat | Maxim Nikolenko | |
2024-08-12 | Merge pull request #2209 from secondlife/viewer-lua-smoother | nat-goodspeed | |
Introduce a custom coroutine/fiber scheduler to prioritize UI. With approval from Maxim and Atlas, merging to project trunk. | |||
2024-08-09 | add demo script for sending group chat messages | Mnikolenko Productengine | |
2024-08-09 | Lua api for sending group messages | Mnikolenko Productengine | |
2024-08-08 | Ensure that the flycam stays near moving avatar. | Nat Goodspeed | |
2024-08-07 | Move #include "coro_scheduler.h" from llstartup to llappviewer. | Nat Goodspeed | |
2024-08-07 | Allow smaller minimum timer intervals. | Nat Goodspeed | |
Add test_flycam.lua to exercise the smaller intervals. | |||
2024-08-07 | Move llcoro::scheduler::use() call from llstartup to llappviewer. | Nat Goodspeed | |
Thanks, Maxim. | |||
2024-08-07 | Merge branch 'release/luau-scripting' into viewer-lua-smoother | Nat Goodspeed | |
2024-08-07 | Merge pull request #2223 from secondlife/lua-login-fix | nat-goodspeed | |
Fix omission in login.savedLogins(). | |||
2024-08-07 | Fix omission in login.savedLogins(). | Nat Goodspeed | |
Also add Region.lua. | |||
2024-08-07 | Merge branch 'release/luau-scripting' into viewer-lua-smoother | Nat Goodspeed | |
2024-08-07 | Merge pull request #2218 from secondlife/lua-ui-tweak | nat-goodspeed | |
Rename 'UI' 'getParents' op to 'getTopMenus', add UI.lua function. | |||
2024-08-07 | Merge branch 'release/luau-scripting' into lua-ui-tweak | Nat Goodspeed | |
2024-08-07 | Rename 'UI' 'getParents' op to 'getTopMenus', add UI.lua function. | Nat Goodspeed | |
Also update the 'UI' help text to reflect its more general nature. Mention 0-relative rank in the xxToolbarBtn operation help text. | |||
2024-08-07 | Merge branch 'release/luau-scripting' into viewer-lua-smoother | Nat Goodspeed | |
2024-08-07 | Merge pull request #2198 from secondlife/lua-ui-visibility | nat-goodspeed | |
Lua UI visibility api | |||
2024-08-06 | Merge branch 'release/luau-scripting' into viewer-lua-smoother | Nat Goodspeed | |
2024-08-06 | Introduce a custom coroutine/fiber scheduler to prioritize UI. | Nat Goodspeed | |
The viewer's main thread's main fiber is responsible for coordinating just about everything. With the default round_robin fiber scheduling algorithm, launching too many additional fibers could starve the main fiber, resulting in visible lag. This custom scheduler tracks when it switches to and from the main fiber, and at each context switch, how long it's been since the last time the main fiber ran. If that exceeds a certain timeslice, it jumps the main fiber to the head of the queue and resumes that instead of any other ready fiber. | |||
2024-08-06 | code clean up | Mnikolenko Productengine | |
2024-08-06 | Merge branch 'release/luau-scripting' into lua-ui-visibility | Maxim Nikolenko | |
2024-08-06 | Merge pull request #2185 from secondlife/lua-login2 | nat-goodspeed | |
Add 'LLPanelLogin' 'login', 'savedLogins' operations. | |||
2024-08-05 | Allow getting the list of floater names, hide top menu items; add demo script | Mnikolenko Productengine | |