summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-29Improve Debug class (indra/test/debug.h).Nat Goodspeed
Disable copy assignment operator as well as copy constructor. Use std::uncaught_exceptions() in destructor to report whether there's an in-flight exception at block exit. Since that was the whole point of the DEBUGIN / DEBUGEND macros, those become obsolete. Ditch them and their existing invocations.
2024-02-28Reference updated action-gh-release@v1Nat Goodspeed
instead of the branch that got pulled.
2024-02-27SL-18721 Shutdown fixes #5Andrey Kleshchev
2024-02-27Issue#900 Crash at LLInventoryAddItemByAssetObserverAndrey Kleshchev
2024-02-27Merge pull request #843 from secondlife/luau-require-implMaxim Nikolenko
Initial require implementation
2024-02-27Merge branch 'release/luau-scripting' into luau-require-impl.Nat Goodspeed
2024-02-27Merge pull request #895 from secondlife/relnotes-wnat-goodspeed
Generate release notes from tag `release` to the built tag.
2024-02-27Issue#894 Crash at load3 in cacheOptimizeAndrey Kleshchev
2024-02-26Base generated release notes on new floating tag 'release'Nat Goodspeed
instead of on the current tag 7.1.2-release.
2024-02-26Clear the stack after requiring a moduleMnikolenko Productengine
2024-02-26Leverage action-gh-release's new previous_tag input.Nat Goodspeed
This should (!) allow us to generate full release notes relative to the previous viewer release, instead of letting action-gh-release guess incorrectly. Also try again to add to the release page a back-link to the specific build.
2024-02-26Try basing release notes on github.sha rather than github.ref_name.Nat Goodspeed
2024-02-26Clean-up and restoring correct pathMnikolenko Productengine
2024-02-26Try basing the GH release on github.ref_name instead of github.ref.Nat Goodspeed
Using github.ref as action-gh-release's target_commitish produces: ⚠️ GitHub release failed with status: 422 [{"resource":"Release","code":"invalid","field":"target_commitish"}]
2024-02-26Try to generate release notes for this specific branch.Nat Goodspeed
Also try to cross-reference release page and build page.
2024-02-23viewer#875 Crash at uri normalizationAndrey Kleshchev
Note that crash happened when setting LLProgressView::setMessage
2024-02-23Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2024-02-23Merge pull request #879 from secondlife/lua-eventsnat-goodspeed
Lua listen_events(), await_event() => get_event_pumps(), get_event_next().
2024-02-23Allow debug.h to be #included even in normal viewer code.Nat Goodspeed
debug.h #defines a couple of macros intended to enclose the entire body of a function to track its entry and (possibly exceptional) exit. The trouble is that these macros used to be called BEGIN and END, which is far too generic -- especially considering that END is used as an enum value in some parts of the viewer. Rename them DEBUGIN and DEBUGEND, which is ugly but unlikely to collide with anything else.
2024-02-23Allow print() (also Debug) to be used even in normal viewer code.Nat Goodspeed
Since print() writes to cerr, we used to be able to use it only in test programs. Making the cerr writes conditional on LL_TEST allows us to use it for debugging the code under test as well, since in the normal viewer the cerr statements vanish.
2024-02-23Allow variadic instances of Debug, e.g. to display arguments.Nat Goodspeed
All Debug constructor args are concatenated using stringize().
2024-02-23require() code clean-upMnikolenko Productengine
2024-02-23Ditch DebugExit: we already have Debug (in debug.h)Nat Goodspeed
2024-02-23Clean up #includes in lualistener.hNat Goodspeed
2024-02-22 #include <iomanip> where std::quoted() is referenced.Nat Goodspeed
Remove where it isn't.
2024-02-22Lua listen_events(), await_event() => get_event_{pumps,next}().Nat Goodspeed
Don't set up a Lua callback to receive incoming events, a la listen_events(). Don't listen on an arbitrary event pump, a la await_event(). Instead, the new get_event_pumps() entry point simply delivers the reply pump and command pump names (as listen_events() did) without storing a Lua callback. Make LuaListener capture incoming events on the reply pump in a queue. This avoids the problem of multiple events arriving too quickly for the Lua script to retrieve. If the queue gets too big, discard the excess instead of blocking the caller of post(). Then the new get_event_next() entry point retrieves the next (pump, data) pair from the queue, blocking the Lua script until a suitable event arrives. This is closer to the use of stdin for a LEAP plugin. It also addresses the question: what should the Lua script's C++ coroutine do while waiting for an incoming reply pump event? Recast llluamanager_test.cpp for this new, more straightforward API. Move LLLeap's and LuaListener's reply LLEventPump into LLLeapListener, which they both use. This simplifies LLLeapListener's API, which was a little convoluted: the caller supplied a connect callback to allow LLLeapListener to connect some listener to the caller's reply pump. Now, instead, the caller simply passes a bool(pumpname, data) callback to receive events incoming on LLLeapListener's own reply pump. Fix a latent bug in LLLeapListener: if a plugin called listen() more than once with the same listener name, the new connection would not have been saved. While at it, replace some older Boost features in LLLeapListener and LLLeap.
2024-02-22Add diagnostic logging to LLEventPumps::post().Nat Goodspeed
If post() can't find the requested pump, say so.
2024-02-22Slightly modernize run_build_test.py.Nat Goodspeed
2024-02-22Improving issue templates. (#877)Brad Linden
making ordering explicit, and disabling blank issue submission to force triage label to be set.
2024-02-22Delete .github/ISSUE_TEMPLATE/issue_template.mdVir Linden
2024-02-22Update issue_template.mdVir Linden
2024-02-22Update issue_template.mdVir Linden
2024-02-22Merge pull request #873 from secondlife/vir-linden-issue-templateVir Linden
Create issue_template.md
2024-02-22Create issue_template.mdVir Linden
Issue template for the "blank issue" option
2024-02-22Viewer#863 Crash reading xmlAndrey Kleshchev
2024-02-21Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2024-02-21Add the option to use clean lua_State in "Lua debug" floaterMnikolenko Productengine
2024-02-21SL-20469 Crash at dead mRootVolp in getAttachedAvatar()Andrey Kleshchev
2024-02-20Don't accept a full path as arg for require()Mnikolenko Productengine
2024-02-20Initial require implementationMnikolenko Productengine
2024-02-16Merge pull request #812 from secondlife/DRTVWR-588-relnotesnat-goodspeed
Engage new viewer-build-util/which-branch with relnotes output.
2024-02-15Remove duplicate luau linux64 elementNat Goodspeed
2024-02-15Merge 'luau-scripting-libfix' of Ansariel/viewer into luau-scriptingNat Goodspeed
2024-02-15Merge pull request #798 from secondlife/helpcmdnat-goodspeed
Add help() function to Lua "builtins."
2024-02-15Engage new viewer-build-util/which-branch with relnotes output.Nat Goodspeed
Put whatever release notes we retrieve into the generated release page.
2024-02-14Update cla.yaml allowlist to clear spurious errors (#804)Brad Linden
2024-02-13Add leaphelp() Lua builtin function for help on LEAP operations.Nat Goodspeed
leaphelp() (no argument) shows a list of all LEAP APIs. leaphelp(API) shows further help for a specific API. Both forms query LuaListener's LeapListener and report its responses. In future we might reimplement leaphelp() as a Lua function. Add LuaState::getListener() method, which checks whether there's a LuaListener associated with this LuaState and returns a pointer if so. Add LuaState::obtainListener() method, which finds or creates a LuaListener for this LuaState and returns its pointer. Both the above use logic migrated from the Lua listen_events() entry point, which now calls obtainListener() instead.
2024-02-13Merge branch 'release/luau-scripting' into helpcmd.Nat Goodspeed
2024-02-13Add help() function to Lua "builtins."Nat Goodspeed
help() with no argument lists all our viewer builtins. help(function, function, ...) shows help text for each named function. Each argument can be either a string or the function in question (e.g. help(help)). To support Lua-related text containing line breaks, make LLTextEditor:: pasteTextWithLinebreaks() a public template method. Change the existing implementation, which specifically accepts (const LLWString&), into its LLWString specialization. The generic template passes llconvert(arg) to that specialization, the one real implementation. Make LLFloaterLUADebug methods call pasteTextWithLinebreaks() instead of insertText(), which ignores newline characters. To allow help() to accept an actual function as well as a string name, add a lookup-by-function-pointer map to LuaFunction. (A Lua function does not store a name.) Make the constructor store an entry in the new lookup map as well as in the original registry map. Change LuaFunction::getRegistry() and getRegistered() to getState() and getRState(), respectively. Each returns a std::pair, but the first binds non-const references while the second binds const references.
2024-02-13Merge branch 'll_convert' into helpcmd.Nat Goodspeed