summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2018-11-21SL-10077: Save correct uninstall directory and (un)install mode.Nat Goodspeed
Curiously, the value of $INSTDIR is correct before MULTIUSER_UNINIT, but is made incorrect by MULTIUSER_UNINIT. Save and restore the correct value. Saving $MultiUser.InstallMode in the registry (by setting relevant macros examined by MultiUser.nsh) is susceptible to overwriting if the user installs multiple viewers with the same channel name. Instead, write an InstallMode.txt in the install directory, and read it back on uninstall. Of course, add it to the files to be deleted on uninstall.
2018-11-21DRTVWR-447: Fix longstanding NSIS warning about unused label.Nat Goodspeed
2018-11-21DRTVWR-447: Fix syntax error in embedded variable reference.Nat Goodspeed
2018-11-15SL-10010: Use trunk NSIS + Unicode attrib, instead of Unicode fork.Nat Goodspeed
Back out misguided attempt to overwrite $PROGRAMFILES with $PROGRAMFILES64.
2018-11-15SL-10010: Use c:\Program Files rather than c:\Program Files (x86)Nat Goodspeed
for 64-bit viewers. It seems there's a longstanding bug in NSIS: it fails to use $PROGRAMFILES64 rather than $PROGRAMFILES when performing an all-users install of a 64-bit program. Try to remedy that. Also pick up a few NSIS suggestions from Ansariel Hiller.
2018-11-14DRTVWR-447: Animesh + BugSplat = 6.1Nat Goodspeed
2018-11-14Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2018-11-14increment viewer version to 6.0.1Nat Goodspeed
2018-11-07SL-9952: updater.exe now renamed to SLVersionChecker.exeNat Goodspeed
thereby avoiding strange Windows requirement for elevated privilege.
2018-11-02DRTVWR-447: Fix NSIS installer icons with "Modern UI" mechanism.Nat Goodspeed
2018-11-02DRTVWR-447: Merge directly executing updater for Windows precheck.Nat Goodspeed
2018-11-02DRTVWR-447: Back out changeset 69118ad33b45: directly run updaterNat Goodspeed
from NSIS installer, instead of via explorer.exe. A recent test run performed the install, then opened an Explorer window on My Documents. <eyeroll/>
2018-11-01DRTVWR-447: Allow Standard Windows user to install for current user.Nat Goodspeed
This should eliminate any confusion due to a Standard user needing to elevate to Admin privileges, since from that point on Windows tells the running program the current user is that Admin. Bypass all that.
2018-10-30DRTVWR-447: Copy VIEWER_EXE to local variable (thanks Ansariel)Nat Goodspeed
2018-10-29SL-9980: Launch the first-run updater via explorer.exe as we used toNat Goodspeed
run the viewer from the installer. Turns out that the peculiar indirection through explorer.exe was a known trick for an elevated-privileges program to launch a program as the logged-in Windows user. (They could have commented that...) But explorer.exe doesn't pass command-line parameters, so if you want to pass any such to the actual target program, you have to launch a shortcut with those parameters. But this target program (the updater) and its parameters (precheck mumble) are specific to the very first viewer run after installation, so delete it after. Having an additional permanent icon that always runs the updater before the viewer would only confuse matters.
2018-10-29SL-9964: Put Mac cursors back into Resources/cursors_mac subdirectory.Nat Goodspeed
2018-10-27DRTVWR-447: Stop passing UpdaterServiceURL to leap updater.Nat Goodspeed
In fact, mark UpdaterServiceURL as obsolete. (Consumers should consult build_data.json.)
2018-10-26DRTVWR-447: For some reason the Windows viewer exe wasn't signed.Nat Goodspeed
viewer_manifest.py was signing updater.exe within the package, and then signing the installer executable itself, but not the actual viewer executable. Add that.
2018-10-23DRTVWR-447: Try to defeat scary Mac Gatekeeper popupsNat Goodspeed
by replacing the viewer's baked-in BugsplatMac.framework @rpath path with one based on @executable_path.
2018-10-22DRTVWR-447: Introduce LLManifest.process_either().Nat Goodspeed
process_directory() and process_file() are reached both from the top-level caller (try_path(), a local function within LLManifest.path()) and recursively from process_directory(). Both places tested os.path.isdir(source), and if so called process_directory(), else process_file(). Both places were wrong, as it turns out. os.path.isdir(symlink_to_directory) returns True. That meant that despite explicit logic in ccopymumble() to recreate symlinks in the destination area, we were consistently recopying the contents of symlinked directories. The downside to this -- in addition to inflating the size of the installer! -- is that macOS is very particular about the structure of a Framework bundle. It *must* include a Versions/Current symlink identifying which of the other Versions subdirectories is, in fact, current. If Current is itself a subdirectory, codesign can't figure out how to sign the framework, and fails. The logic for deciding between process_directory() and process_file() must explicitly check for os.path.islink(source). Rather than replicating that change in both places, introduce process_either() which decides how to forward the call, and call it both from try_path() and from process_directory().
2018-10-22DRTVWR-447: Restore copying BugsplatMac.framework into Mac package.Nat Goodspeed
2018-10-18DRTVWR-447: Re-inject BugsplatServerURL into Mac's Info.plist.Nat Goodspeed
2018-10-17DRTVWR-447: Restore MACOSX_EXECUTABLE_NAME, used for Info.plist.Nat Goodspeed
2018-10-17DRTVWR-447: Restore diagnostic output to Mac app bundle packaging.Nat Goodspeed
2018-10-17DRTVWR-447: Merge Oz's logging changesNat Goodspeed
2018-10-17DRTVWR-447: Move test<5> and writeMsgNeedsEscaping() into sequence.Nat Goodspeed
2018-10-17DRTVWR-447: Restore channel-name sensitivity of Mac BugSplat viewer.Nat Goodspeed
2018-10-17DRTVWR-447: Finish merging Poseidon into BugSplatNat Goodspeed
2018-10-17Automated merge with ssh://bitbucket.org/nat_linden/viewer-poseidonNat Goodspeed
2018-10-16DRTVWR-447: Use new attachmentsForBugsplatStartupManager SDK methodNat Goodspeed
to attach user settings file and static debug info file to Mac crash reports, as well as SecondLife.log, just like Windows crash reports.
2018-10-16renumber the new test to replace the one that was removedOz Linden
2018-10-15SL-9805 - reduce frequency of dynamic box updates to every N frames, ↵Brad Payne (Vir Linden)
staggered. Currently N is 4.
2018-10-12SL-9805 - more detailed frame timer logging of dynamic bounding box updatesBrad Payne (Vir Linden)
2018-10-12SL-9857 - suppress constraint adjustments immediately after region crossingBrad Payne (Vir Linden)
2018-10-11removed unused member variables that make xcode 10 unhappyBrad Payne (Vir Linden)
2018-10-11SL-9857 - constraint pos math fixBrad Payne (Vir Linden)
2018-10-11Modify logging so that the in-viewer console and stderr do not escape line ↵Oz Linden
breaks Improve the implementation so that escaping is computed only once
2018-10-10SL-9849 - color tweaks for dynamic bounding box. show impostor extents ↵Brad Payne (Vir Linden)
varies line thickness depending on how recently impostor was generated
2018-10-10SL-9849 - animated object attachments get isImpostor() state from av they're ↵Brad Payne (Vir Linden)
attached to
2018-10-10SL-9849 - debug option for show impostor extentsBrad Payne (Vir Linden)
2018-10-08SL-9805 - optimization for avatar rigging info updatesBrad Payne (Vir Linden)
2018-10-05DRTVWR-474: Add OptionaUpdateReady, PromptOptionalUpdate notifications.Nat Goodspeed
2018-10-04DRTVWR-474: Make "LLNotifications" "requestAdd" propagate "reqid"Nat Goodspeed
from request to response to help with request/response matching protocol.
2018-10-04DRTVWR-474: Make login coroutine sync with updater process on failure.Nat Goodspeed
Specifically, introduce an LLEventMailDrop("LoginSync"). When the updater detects that an update is required, it will post to that rendezvous point. When login.cgi responds with login failure, make the login coroutine wait (a few seconds) for that ping from the updater. If we receive that ping and if it contains a "reply" key, make the fail.login listener respond to the updater with an indication of whether to proceed with update. If both login.cgi and the updater concur that an update is required, produce a new confirmation message for the user and then (once user responds) tell the updater to proceed. Otherwise, produce the usual login-failure message and tell the updater never mind. Introduce LLCoro::OverrideConsuming to provide temporary save/restore of the set_consuming() / get_consuming() flag. It's a good idea to set the consuming flag when retrieving data from an LLEventMailDrop.
2018-10-03SL-966 - added scale constraints for animated object attachmentsBrad Payne (Vir Linden)
2018-10-03DRTVWR-474: Do NOT autokill updater process on viewer termination.Nat Goodspeed
The updater is required to survive beyond termination of the viewer that launched it so it can launch the next installer, or a replacement viewer. Having the old viewer forcibly terminate it on shutdown would be counter- productive. Introduce a third LLLeap::create() overload taking LLProcess::Params, which gives access to autokill, cwd and other options previously unsupported by LLLeap. Reimplement the existing create() overloads in terms of this new one, since LLLeapImpl::LLLeapImpl() is already based on LLProcess::Params anyway. Use LLProcess::Params in LLAppViewer::init() to specify the updater process, setting autokill=false. Refactoring LLLeapImpl() apparently involved engaging an LLInitParam::Block feature never before used: had to drag operator() into Multiple from its base class TypedParam (as has been done in other TypedParam subclasses).
2018-10-03SL-966 - bug fixes, added lerp control for algorithm tweakingBrad Payne (Vir Linden)
2018-10-03SL-966 - tweaks to scale/pos constraint logicBrad Payne (Vir Linden)
2018-10-02SL-966 - behavior improvements and visualization, bonus removal of unrelated ↵Brad Payne (Vir Linden)
duplicate code in llappviewer.cpp
2018-10-01SL-9773 - treat animated object attachments the same as other rigged ↵Brad Payne (Vir Linden)
attachments for purposes of visibility in mouselook.