summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-16Merge branch 'main' into release/luau-scriptingNat Goodspeed
2024-04-16Merge pull request #1247 from secondlife/lua-interruptsMaxim Nikolenko
Call suspend() periodically to avoid viewer freeze
2024-04-16Call suspend() periodically to avoid viewer freezeMnikolenko Productengine
2024-04-16Merge pull request #1246 from secondlife/vir-linden-patch-2Vir Linden
https://github.com/secondlife/viewer/issues/1214 - Update cla.yaml
2024-04-16https://github.com/secondlife/viewer/issues/1214 - Update cla.yamlVir Linden
2024-04-12Merge pull request #1152 from secondlife/lua-terminate-scriptnat-goodspeed
Add script termination option to 'Lua Scripts' floater
2024-04-12'Lua Scripts' floater clean upMnikolenko Productengine
2024-04-12Merge pull request #1198 from secondlife/signal/xzSignal Linden
CI: adopt xz compression, actions/*-artifact@v4
2024-04-11CI: adopt xz compressionBennett Goble
Move towards packaging artifacts with xz, which offers higher compression ratios and faster decode time.
2024-04-11Merge pull request #1197 from secondlife/signal/rm-incredibuild.pySignal Linden
Remove unused fix-incredibuild.py
2024-04-11Merge pull request #1095 from secondlife/signal/rm-buildparamsSignal Linden
Remove BuildParams
2024-04-11Merge pull request #1199 from secondlife/signal/rm-py-matrixSignal Linden
CI: Remove python-version from matrix
2024-04-11CI: Remove python-version from matrixBennett Goble
Drop python version from matrix configuration as it's always 3.11.
2024-04-10Remove unused fix-incredibuild.pyBennett Goble
2024-04-10Merge branch 'release/luau-scripting' into lua-terminate-scriptNat Goodspeed
2024-04-09Increment viewer version to 7.1.6Nat Goodspeed
following promotion of secondlife/viewer #690
2024-04-09Merge pull request #1168 from secondlife/lua-floater-classnat-goodspeed
Add Lua Floater class to simplify Lua script showing floaters.
2024-04-09mac build fix - remove unused variableMaxim Nikolenko
2024-04-09Add Lua Floater class to simplify Lua script showing floaters.Nat Goodspeed
Add test_luafloater_demo2.lua and test_luafloater_gesture_list2.lua examples.
2024-04-08Add script termination option to 'Lua Scripts' floaterMnikolenko Productengine
2024-04-04Merge pull request #1125 from secondlife/lua-pr-feedbackMaxim Nikolenko
Introduce LLInstanceTracker::destruct() methods; use in ~LuaState().
2024-04-03Merge branch 'release/luau-scripting' into lua-pr-feedbackNat Goodspeed
2024-04-03Merge pull request #1124 from Nicky-D/release/luau-scriptingnat-goodspeed
Luau for Linux
2024-04-03LLInstanceTracker::destruct() instead of destroy().Nat Goodspeed
Avoid ambiguity with LLFloater::destroy().
2024-04-03Merge branch 'release/luau-scripting' into lua-pr-feedbackNat Goodspeed
2024-04-03Merge branch 'main' into release/luau-scripting.Nat Goodspeed
2024-04-03Merge pull request #1101 from secondlife/lua-scripts-floaternat-goodspeed
Lua scripts floater
2024-04-03Introduce LLInstanceTracker::destroy() methods; use in ~LuaState().Nat Goodspeed
2024-04-03Merge branch 'release/luau-scripting' into release/luau-scriptingNicky Dasmijn
2024-04-03- Enable luaulib linking for LinuxNicky
- Put lubLuau.Ast.a at the right most side as GCC/LD is peculiar about link order.
2024-04-03Proper casing for Lualibs (or case sensitive filesystems do not agree with ↵Nicky
the filename)
2024-04-03Merge pull request #1110 from secondlife/lua-startupnat-goodspeed
Add `startup.lua` module with `startup.ensure()`, `startup.wait()` functions.
2024-04-03Use raw string literal syntax for LLLeapListener help strings.Nat Goodspeed
2024-04-03Introduce fsyspath subclass of std::filesystem::path.Nat Goodspeed
Our std::strings are UTF-8 encoded, so conversion from std::string to std::filesystem::path must use UTF-8 decoding. The native Windows std::filesystem::path constructor and assignment operator accepting std::string use "native narrow encoding," which mangles path strings containing UTF-8 encoded non-ASCII characters. fsyspath's std::string constructor and assignment operator explicitly engage std::filesystem::u8path() to handle encoding. u8path() is deprecated in C++20, but once we adapt fsyspath's conversion to C++20 conventions, consuming code need not be modified.
2024-04-03Make ll_convert() and ll_convert_to() use std::decay_t on arg type.Nat Goodspeed
Among other things, this empowers ll_convert() and ll_convert_to() to accept a string literal (which might contain non-ASCII characters, e.g. __FILE__). Without this, even though we have ll_convert_impl specializations accepting const char*, passing a string literal fails because the compiler can't find a specialization specifically accepting const char[length].
2024-04-03Add RAII class for adding/erasing script entries; code clean upMnikolenko Productengine
2024-04-02Fix std::filesystem::path - to - std::string conversions on Windows.Nat Goodspeed
On Windows, std::filesystem::path::value_type is wchar_t, not char -- so path::string_type is std::wstring, not std::string. So while Posix path instances implicitly convert to string, Windows path instances do not. Add explicit u8string() calls. Also add LL.abspath() Lua entry point to further facilitate finding a resource file relative to the calling Lua script. Use abspath() for both test_luafloater_demo.lua and test_luafloater_gesture_list.lua.
2024-04-02Add startup.lua module with startup.ensure(), wait() functions.Nat Goodspeed
This lets a calling script verify that it's running at the right point in the viewer's life cycle. A script that wants to interact with the SL agent wouldn't work if run from the viewer's command line -- unless it calls startup.wait("STATE_STARTED"), which pauses until login is complete. Modify test_luafloater_demo.lua and test_luafloater_gesture_list.lua to find their respective floater XUI files in the same directory as themselves. Make them both capture the reqid returned by the "showLuaFloater" operation, and filter for events bearing the same reqid. This paves the way for a given script to display more than one floater concurrently. Make test_luafloater_demo.lua (which does not require in-world resources) wait until 'STATE_LOGIN_WAIT', the point at which the viewer has presented the login screen. Make test_luafloater_gesture_list.lua (which interacts with the agent) wait until 'STATE_STARTED', the point at which the viewer is fully in world. Either or both can now be launched from the viewer's command line.
2024-04-02Streamline std::filesystem::path conversions in LLRequireResolver.Nat Goodspeed
Make LLRequireResolver capture std::filesystem::path instances, instead of std::strings, for the path to resolve and the source directory. Store the running script's containing directory instead of calling parent_path() over and over. Demote Lua LL.post_on() logging to DEBUG level instead of INFO.
2024-04-02Use LLCoros::TempStatus when Lua is waiting on get_event_next().Nat Goodspeed
When enumerating C++ coroutines, it can be useful to know that a particular Lua coroutine is simply waiting for further events.
2024-04-02Add LL.source_path(), source_dir() Lua entry points.Nat Goodspeed
This helps a Lua script log its own identity, or find associated files relative to its location in the filesystem. Add more comprehensive logging around the start and end of a given Lua script, or its "p.s." fiber.run() call.
2024-04-02Give LLLeapListener's "listen" operation a "tweak" argument.Nat Goodspeed
If specified as true, "tweak" means to tweak the specified "listener" name for uniqueness. This avoids LLEventPump::listen()'s DupListenerName exception, which causes the "listen" operation to return "status" as false.
2024-04-02Defend leap.request(), generate() from garbage collection.Nat Goodspeed
Earlier we had blithely designated the 'pending' list (which stores WaitForReqid objects for pending request() and generate() calls) as a weak table. But the caller of request() or generate() does not hold a reference to the WaitForReqid object. Make pending hold "strong" references. Private collections (pending, waitfors) and private scalars that are never reassigned (reply, command) need not be entries in the leap table.
2024-04-01open folder support for macMaxim Nikolenko
2024-04-01Add 'Lua Scripts' floaterMnikolenko Productengine
2024-03-30Remove BuildParamsBennett Goble
This file is no longer used.
2024-03-29Merge branch 'release/luau-scripting' into lua-startupNat Goodspeed
2024-03-29Merge pull request #1071 from secondlife/lua-new-luastatenat-goodspeed
Run each script file with new LuaState
2024-03-28Merge pull request #1079 from secondlife/lua-hangfixnat-goodspeed
Terminate Lua scripts hanging in `LL.get_event_next()`.
2024-03-28Merge branch 'lua-hangfix' into lua-startup.Nat Goodspeed