Commit Graph

38918 Commits (73e70ff0bb484e52b786adb0fe523ea959985b20)

Author SHA1 Message Date
Nat Goodspeed 73e70ff0bb DRTVWR-474: Make "LLNotifications" "requestAdd" propagate "reqid"
from request to response to help with request/response matching protocol.
2018-10-04 17:18:08 -04:00
Nat Goodspeed 05068186c3 DRTVWR-474: Make login coroutine sync with updater process on failure.
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-04 16:35:38 -04:00
Nat Goodspeed b1955d4247 DRTVWR-474: Do NOT autokill updater process on viewer termination.
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-03 14:00:05 -04:00
Nat Goodspeed 6e1b2e137e DRTVWR-474: Make SkipBenchmark a Persistent setting 2018-09-28 17:16:49 -04:00
Nat Goodspeed b6e58b3b3a DRTVWR-474: Update to viewer-manager build 520110 2018-09-28 17:16:14 -04:00
Nat Goodspeed 182a091ad9 DRTVWR-474: Pass the leap updater the parameters it requires. 2018-09-27 17:41:26 -04:00
Nat Goodspeed 371a412a28 DRTVWR-474: Update to viewer-manager build 520085 2018-09-27 17:40:10 -04:00
Nat Goodspeed ec6487f3a7 DRTVWR-474: Make LLEventMailDrop pass all saved events to listener.
Previously, LLEventMailDrop would send only the first queued event to a
newly-connected listener. If you wanted to flush all queued events, you'd have
to "pump" the queue by repeatedly disconnecting and reconnecting -- with no
good way to know when you'd caught up.

The new behavior makes LLEventMailDrop resemble a multi-valued future: a
rendezvous between producer and consumer that, once connected, pushes values
rather than requiring them to be pulled (as with a simple queue) -- regardless
of the relative order in which post() and listen() are called.
2018-09-27 14:57:03 -04:00
Nat Goodspeed e1826d508c DRTVWR-474: Update to viewer-manager build 520047 2018-09-26 20:45:03 -04:00
Nat Goodspeed 267e7d7554 DRTVWR-474: Finish pulling in new viewer-release. 2018-09-26 16:37:14 -04:00
Nat Goodspeed 82bdb300fe Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2018-09-26 16:32:15 -04:00
Nat Goodspeed 58aef8beaf increment viewer version to 5.1.10 2018-09-26 16:12:20 -04:00
Nat Goodspeed e213eafca9 Added tag 5.1.9-release for changeset 52422540bfe5 2018-09-26 16:12:19 -04:00
Nat Goodspeed ceb35372b5 Automated merge with https://bitbucket.org/oz_linden/viewer-release-cmake3.12 2018-09-25 13:35:45 -04:00
Nat Goodspeed cc376f86e8 DRTVWR-474: Update to viewer-manager build 519951 2018-09-25 11:21:34 -04:00
Nat Goodspeed 8761e87ac5 DRTVWR-474: Remove Python autobuild packages and references to them.
We expect the viewer-manager package to be self-contained: we expect it to
bring with it any Python packages it requires. We no longer force developers
to wrap third-party Python packages as autobuild packages.
2018-09-24 14:02:23 -04:00
Nat Goodspeed 807992adca DRTVWR-474: Pass updater cmd to LLLeap::create() as vector<string>.
This avoids having to tokenize a single string, avoiding swallowing
backslashes in Windows pathnames in the mistaken belief they're escape
characters. Alternatively, it avoids us having to double-escape them or
convert them to forward slashes or whatever.
2018-09-13 20:55:05 -04:00
Nat Goodspeed e00a8dee3f DRTVWR-474: Fix path2basename("secondlife.ico") call. 2018-09-13 20:26:21 -04:00
Nat Goodspeed a6e2201d2c DRTVWR-474: Run the new updater in LEAP mode. 2018-09-13 16:24:53 -04:00
Nat Goodspeed cc99cd65cf DRTVWR-474: Copy updater and its icons into Mac app's Resources. 2018-09-13 16:23:45 -04:00
Nat Goodspeed 83b40329fd DRTVWR-474: Make NSIS installer invoke updater precheck subcommand. 2018-09-13 16:22:38 -04:00
Nat Goodspeed 08fefb454b DRTVWR-474: Update to viewer-manager build 519640 2018-09-13 16:21:50 -04:00
Nat Goodspeed 289813994e DRTVWR-474: Clean up use of LLDir::getAppRODataDir(), esp. on Mac.
Clearly it's not obvious to maintainers that on the Mac, getAppRODataDir()
returns the app's Resources directory: in a number of places the code starts
with the executable directory and appends "../Resources" to find that.
2018-09-13 16:20:05 -04:00
Nat Goodspeed d41245f252 DRTVWR-474: $VIEWER_EXE, rather than plain VIEWER_EXE 2018-09-12 20:13:53 -04:00
Nat Goodspeed 0c995db8dc DRTVWR-474: Update to viewer-manager build 519577 2018-09-12 14:04:36 -04:00
Nat Goodspeed 2081b8a654 DRTVWR-474: Make NSIS run new updater.exe after install.
But change shortcuts and registry entries and everything else back to the real
viewer executable, so that every subsequent run directly launches the viewer.

Eliminate SL_Launcher references from viewer_manifest.py.
2018-09-12 12:15:41 -04:00
Nat Goodspeed d56ef598f6 DRTVWR-474: Update to viewer-manager build 519568 2018-09-12 12:12:30 -04:00
Nat Goodspeed a1a2b672ac DRTVWR-474: Update to viewer-manager build 519565 2018-09-12 11:30:43 -04:00
Nat Goodspeed aaf45f0f63 DRTVWR-474, MAINT-9047: Set viewer name in Info.plist, not launcher. 2018-09-11 19:59:03 -04:00
Nat Goodspeed e3d16dcb70 DRTVWR-474: Remove nag about SL_Launcher. 2018-09-11 19:57:42 -04:00
Nat Goodspeed 517e1605e9 DRTVWR-474, MAINT-9047: Display top-level app bundle in sparseimage.
codesign claims to succeed, but spctl says:
/Volumes/Second Life Installer/Second Life Test.app: rejected
(the code is valid but does not seem to be an app)

Why not? Display what's in Second Life.app/Contents on the mounted
sparseimage: show Info.plist, list Frameworks, MacOS, Resources.
2018-09-11 16:04:33 -04:00
Nat Goodspeed c6865bcd36 DRTVWR-474, MAINT-9047: Make failing spctl command more verbose. 2018-09-11 13:56:21 -04:00
Nat Goodspeed e0467f5061 DRTVWR-474, MAINT-9047: Must copy CMake-built viewer for EDU. 2018-09-11 09:18:56 -04:00
Nat Goodspeed 298a52f96a DRTVWR-474, MAINT-9047: Try *not* copying the viewer built by CMake.
The start of viewer_manifest.DarwinManifest.construct() is a path() call to
copy the whole viewer tree from where CMake constructs it. The comment is:
"(this is a no-op if run within the xcode script)." Unfortunately, for unclear
reasons, this has recently started nesting Second Life.app within the Second
Life.app directory, and even to multiple levels. When that happens, copying
the outermost .app directory to the sparseimage in order to convert to dmg
runs out of room because we're trying to pack multiple copies of the whole
viewer tree into the fixed-size sparseimage.

But if it works to simply skip that entire initial copy operation, so much the
better.
2018-09-10 17:01:53 -04:00
Nat Goodspeed 299d4807ab DRTVWR-474, MAINT-9047: Back out changeset 2ed01671b974.
We'll try to address the Mac app bundle name discrepancy a different way.
2018-09-10 12:23:42 -04:00
Nat Goodspeed a74b3691af DRTVWR-474, MAINT-9047: Make viewer_manifest use same bundle name. 2018-09-09 09:22:06 -04:00
Nat Goodspeed 65dd31631f DRTVWR-474, MAINT-9047: Restore viewer to top-level Mac app.
The relationship to MAINT-9047 is that we hope this will improve the behavior
of Mac code signing.
2018-09-08 10:05:26 -04:00
andreykproductengine 94eeef729e MAINT-9082 crash on HandleFocusLost 2018-09-04 20:19:48 +03:00
Oz Linden b51972bac7 use copy_if_different to copy CrashReporter.nib so that it creates the directory if needed 2018-09-04 12:39:56 -04:00
andreykproductengine c2f0d67ab2 Merged in MAINT-6291 2018-08-31 18:33:47 +03:00
Oz Linden 88e04ab2ab Restore the ability for sockets to specify the interface to listen on 2018-08-30 16:25:45 -04:00
Oz Linden f561b11fb8 disable RefCounted tests in llcorehttp because they hang the win64 build in TeamCity 2018-08-30 14:56:52 -04:00
andreykproductengine 28665ddb32 MAINT-6291 A bit more logging 2018-08-30 18:15:18 +03:00
Oz Linden f1d4e788e7 SL-967 simplify viewer log file field syntax
MAINT-8991: only escape log message characters once, add unit test
remove extra log line created by LL_ERRS
document that tags may not contain spaces
2018-08-29 16:43:45 -04:00
andreykproductengine b2b075a235 MAINT-6291 Fixed Scripted teleports have a higher rate of failure than user-initiated teleports.
Sim apparently sends finish and start messages simultaneously in case of
scripted or experience teleports
2018-08-29 20:30:07 +03:00
AndreyL ProductEngine 735b53d724 MAINT-9044 Update Aditi helper_uri to https://secondlife.aditi.lindenlab.com/helpers/ 2018-08-29 01:34:21 +03:00
AndreyL ProductEngine 236f986d35 Backed out changeset: 871c2923afce 2018-08-28 22:26:12 +03:00
AndreyL ProductEngine 36e89143b7 Backed out changeset: 5b0f20062633 2018-08-28 22:25:18 +03:00
maxim_productengine 46b6df1b48 line endings fix 2018-08-27 18:21:46 +03:00
andreykproductengine a1e6383b5f MAINT-8926 Don't allow overwritting default preset 2018-08-22 19:32:50 +03:00