summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-13DRTVWR-558: Add LL::apply() test for function(const LLSD&).Nat Goodspeed
(cherry picked from commit 7d33e00d925614911a7602da1bd79916cc849ad7)
2023-07-13DRTVWR-558: Add unit test for VAPPLY().Nat Goodspeed
Add to apply_test.cpp a collect() function that incrementally accumulates an arbitrary number of arguments into a std::vector<std::string>. Construct a std::array<std::string> to pass it, using VAPPLY(). Clarify in header comments that LL::apply() can't call a variadic function with arguments of dynamic size: std::vector or LLSD. The compiler can deduce how many arguments to pass to a function with a fixed argument list; it can deduce how many arguments to pass to a variadic function with a fixed number of arguments. But it can't compile a call to a variadic function with an arguments data structure whose size can vary at runtime. (cherry picked from commit ceed33396266b123896f7cfb9b90abdf240e1eec)
2023-07-13DRTVWR-558: Extend LL::apply() to LLSD array arguments.Nat Goodspeed
Make apply(function, std::array) and apply(function, std::vector) available even when we borrow the C++17 implementation of apply(function, std::tuple). Add apply(function, LLSD) with interpretations: * isUndefined() is treated as an empty array, for calling a nullary function * scalar LLSD is treated as a single-entry array, for calling a unary function * isArray() converts function parameters using LLSDParam * isMap() is an error. Add unit tests for all flavors of LL::apply(). (cherry picked from commit 3006c24251c6259d00df9e0f4f66b8a617e6026d)
2023-07-13DRTVWR-558: Fix builds on macOS 12.5 Monterey.Nat Goodspeed
Always search for python3[.exe] instead of plain 'python'. macOS Monterey no longer bundles Python 2 at all. Explicitly make PYTHON_EXECUTABLE a cached value so if the user edits it in CMakeCache.txt, it won't be overwritten by indra/cmake/Python.cmake. Do NOT set DYLD_LIBRARY_PATH for test executables! That has Bad Effects, as discussed in https://stackoverflow.com/q/73418423/5533635. Instead, create symlinks from build-mumble/sharedlibs/Resources -> Release/Resources and from build-mumble/test/Resources -> ../sharedlibs/Release/Resources. For test executables in sharedlibs/RelWithDebInfo and test/RelWithDebInfo, this supports our dylibs' baked-in load path @executable_path/../Resources. That load path assumes running in a standard app bundle (which the viewer in fact does), but we've been avoiding creating an app bundle for every test program. These symlinks allow us to continue doing that while avoiding DYLD_LIBRARY_PATH. Add indra/llcommon/apply.h. The LL::apply() function and its wrapper macro VAPPLY were very useful in diagnosing the problem. Tweak llleap_test.cpp. This source was modified extensively for diagnostic purposes; these are the small improvements that remain. (cherry picked from commit 15d37713b9113a6f70dde48c764df02c76e18cbc) (cherry picked from commit a1adcf1905d1fbc5fe07ff5a627295ccfe461ac4)
2023-07-13SL-19993 Warn of automatic changes to Day Cycle when it's openedMaxim Nikolenko
2023-07-12Merge pull request #275 from secondlife/SL-19567Jonathan "Geenz" Goodman
SL-19567: Mitigate glow banding
2023-07-12SL-19567: Add option RenderGlowNoise for low precision glow dithering, ↵Cosmic Linden
enabled by default
2023-07-12SL-19567: (WIP) Add options to use higher precision for glow and ↵Cosmic Linden
post-process buffers. Disabled by default.
2023-07-12Merge branch 'brad/SL-19968-vocache-objects-missing' into DRTVWR-559 (#274)Brad Linden
2023-07-12Merge branch 'brad/SL-19968-vocache-objects-missing' into DRTVWR-587-maint-V ↵Brad Linden
(#273)
2023-07-12added info log lines for assistance diagnosing SL-19968Brad Linden
2023-07-12SL-18330: Merge commit '6b53036' into DRTVWR-587-maint-VNat Goodspeed
Bring over part of the LLEventDispatcher work inspired by DRTVWR-558.
2023-07-12Merge pull request #213 from secondlife/rm-cxxstdnat-goodspeed
SL-18837: Remove C++17 override, given build-variables change.
2023-07-12SL-18837: Merge branch 'DRTVWR-587-maint-V' into rm-cxxstd.Nat Goodspeed
2023-07-12SL-19990 Brightness slider should be named HDR Scale unless Reflection Probe ↵Mnikolenko Productengine
Ambiance (HDR) is 0
2023-07-12SL-19702 don't skip double clicks when clicking scripted objectsMnikolenko Productengine
2023-07-11Merge pull request #270 from secondlife/SL-19992cosmic-linden
SL-19992: Fix LOD assert
2023-07-11SL-19992: Fix assert in LLVolumeLODGroup::refLOD when ↵Cosmic Linden
LLMeshRepository::notifyMeshUnavailable is called on the highest LOD
2023-07-11SL-19728 Objects that cannot be clicked or cammed unless in edit modeAlexander Gavriliuk
2023-07-11SL-19986 Crash at LLConversationItemSession::findParticipantAndrey Kleshchev
Observed on bugsplat, no repro. Something destroys LLConversationItem without cleaning list (some sessions reuse the item, but they aren't supposed to remove it). Either item should inform floater to be properly removed or should be stored as an LLPointer.
2023-07-11SL-19141 Fixed applying a no-copy texture to two objects failing silentlyAndrey Kleshchev
2023-07-10SL-18837: Windows failures in setWorkingDirectory(): C: vs. c: (sigh)Nat Goodspeed
Normalize the case of the name of the temp directory for string comparison.
2023-07-10SL-18837: Disable APR_LOG for now, but leave notes for the future.Nat Goodspeed
2023-07-10SL-18837: Revert "Force llprocess_test and llleap_test to use just 'python'."Nat Goodspeed
Turns out that the pathname of the Python executable wasn't the issue. This reverts commit 7dc6211ad5ea83685a35c6fff740278343aa8b9d.
2023-07-10SL-18837: Merge branch 'actions' into actions-build-shNat Goodspeed
to pick up new APR build that avoids toxic CreateProcessW() flag. It used to be essential on Windows 7; now it's the cause of our integration test failures.
2023-07-10SL-18837: Update apr_suite to release v1.7.2-e935465.Nat Goodspeed
2023-07-08SL-18837: Force llprocess_test and llleap_test to use just 'python'.Nat Goodspeed
On GitHub Windows runners, trying to make build.yaml set PYTHON=python in the environment doesn't work: integration tests still fail with "Access is denied" because they're still trying to execute the interpreter's full pathname. Instead, make llprocess_test and llleap_test detect the case of GitHub Windows and override the environment variable PYTHON with a baked-in string constant "python".
2023-07-08SL-18837: Try running just 'python' for Windows integration tests.Nat Goodspeed
2023-07-08SL-18837: Set APR_LOG within build step, not at job level.Nat Goodspeed
2023-07-08SL-18837: Use runner.temp rather than $RUNNER_TEMP.Nat Goodspeed
2023-07-08SL-18837: Set APR_LOG once for the whole jobNat Goodspeed
instead of a new value for each LLProcess::create() invocation. Since the internal apr_log() function only looks at APR_LOG once per process, the first test (which succeeded, hence no log file dump) left the log file open with that same original pathname. Resetting the APR_LOG environment variable for subsequent runs only made the new code in llprocess_test look for files that were never created.
2023-07-08SL-18837: Don't use LLDir, use NamedTempFile::temp_path.Nat Goodspeed
Remove llcommon circular dependency on llfilesystem, which doesn't work for this case anyway.
2023-07-07SL-18837: Ditch unreferenced name of caught exceptionNat Goodspeed
2023-07-07SL-18837: Hook in LLDir to allow reading APR log file.Nat Goodspeed
2023-07-07SL-18837: Fix spurious semiNat Goodspeed
2023-07-07SL-18837: Fix "lldir.h" #includeNat Goodspeed
2023-07-07SL-18837: Coax APR to log LLProcess launch attempts; show log file.Nat Goodspeed
2023-07-07SL-18837: Partially revert e933ace, keeping useful tweaks.Nat Goodspeed
Introducing indirection via test_python_script.py did NOT address the "Access is denied" errors on GitHub Windows runners.
2023-07-07SL-19958 An inventory material without asset should default to a blank materialAndrey Kleshchev
A New Material created in Inventory should be immediately usable.
2023-07-07SL-18837: Try to bypass Windows perm problem with Python indirection.Nat Goodspeed
2023-07-07SL-19702 restore previous double clicking behavior for objectsMaxim Nikolenko
2023-07-07SL-19963 Group Profile's money details have misleading dateAndrey Kleshchev
2023-07-07SL-19966 Reverted "SL-18721: Faster viewer shutdown time since performance ↵Andrey Lihatskiy
improvements can lead to perceived inventory loss due to cache corruption" This reverts commit cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99.
2023-07-07SL-18837: Try putting generated Python scripts in RUNNER_TEMP dir.Nat Goodspeed
The claim is that the Windows Python interpreter is integrated somehow with the OS such that a command line that tries to run Python with a script that "looks suspicious" (i.e. in a system temp directory) fails with "Access denied" without even loading the interpreter. At least that theory would explain the "Access denied" errors we've been getting trying to run Python scripts generated into the system temp directory by our integration tests. Our hope is that generating such scripts into the GitHub RUNNER_TEMP directory will work better. As this test is specific to Windows, don't even bother running Mac builds.
2023-07-07SL-18837: Use multi-line GitHub outputs to upload artifacts.Nat Goodspeed
Having observed installer upload failures, I discovered the warning in actions/upload-artifact/README.md about multiple concurrent jobs trying to post the same pathname to the same artifact name. Try to disambiguate artifacts not only for different platforms, but for different jobs running on the same platform. This change also reflects my understanding that an artifact is (effectively) a distinct zip file that can contain multiple uploaded files. Because we'll want to download metadata without having to download enormous installers, create a separate metadata artifact per platform. Similarly, symbol files can get large: use a third distinct artifact for symbol files. But with those artifacts defined, leverage actions/upload-artifact's ability to upload multiple paths to the same artifact. In build.sh, define bash arrays installer, metadata, symbolfile and set up so that, on exit, each is written to a GITHUB_OUTPUT variable with the corresponding name. This involves a little magic to get macOS bash 3 to indirectly access an array. These multi-line output variables are then used to drive the upload-artifact step for each of the defined artifacts.
2023-07-07SL-19756 Update viewer-manager to 3.0.580913Andrey Lihatskiy
2023-07-06SL-18837: Ding Dong, 32-bit is dead!Nat Goodspeed
2023-07-06SL-18837: Add addoutput, addarrayoutput functions to build.shNat Goodspeed
and use them instead of codeticket addoutput to pass GitHub xxx_name, xxx_path outputs to build.yaml. Add upload steps to build.yaml to try to upload build products identified in build.sh.
2023-07-06SL-18164 Media type format not shown in the About Land's media tabAndrey Kleshchev
2023-07-06SL-19702 restore previous double clicking behavior for objects (#266)Maxim Nikolenko