summaryrefslogtreecommitdiff
path: root/indra/viewer_components
AgeCommit message (Collapse)Author
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.
2017-05-24SL-702: refactor to make the viewer-manager easier for TPVs to integrateOz Linden
2017-02-28mergecoyot@coyot-sager-PC
2017-02-28pull from rev d22beb597e52ecbf1c98f25d4489ea0425eda4b0 of sl-321coyot@coyot-sager-PC
2016-08-18MAINT-5011: Catch unhandled exceptions in LLCoros coroutines.Nat Goodspeed
Wrap coroutine call in try/catch in top-level coroutine wrapper function LLCoros::toplevel(). Distinguish exception classes derived from LLContinueError (log and continue) from all others (crash with LL_ERRS). Enhance CRASH_ON_UNHANDLED_EXCEPTIONS() and LOG_UNHANDLED_EXCEPTIONS() macros to accept a context string to supplement the log message. This lets us replace many places that called boost::current_exception_diagnostic_information() with LOG_UNHANDLED_EXCEPTIONS() instead, since the explicit calls were mostly to log supplemental information. Provide supplemental information (coroutine name, function parameters) for some of the previous LOG_UNHANDLED_EXCEPTIONS() calls. This information duplicates LL_DEBUGS() information at the top of these functions, but in a typical log file we wouldn't see the LL_DEBUGS() message. Eliminate a few catch (std::exception e) clauses: the information we get from boost::current_exception_diagnostic_information() in a catch (...) clause makes it unnecessary to distinguish. In a few cases, add a final 'throw;' to a catch (...) clause: having logged the local context info, propagate the exception to be caught by higher-level try/catch. In a couple places, couldn't resist reconciling indentation within a particular function: tabs where the rest of the function uses tabs, spaces where the rest of the function uses spaces. In LLLogin::Impl::loginCoro(), eliminate some confusing comments about an array of rewritten URIs that date back to a long-deleted implementation.
2016-08-18SL-323: first pass at ripping out old updaterGlenn Glazer
2016-08-17MAINT-5011: Try to enrich catch (...) logging throughout viewer.Nat Goodspeed
Turns out we have a surprising number of catch (...) clauses in the viewer code base. If all we currently do is LL_ERRS() << "unknown exception" << LL_ENDL; then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is LL_WARNS() << "unknown exception" << LL_ENDL; then call LOG_UNHANDLED_EXCEPTION() instead. Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches LLContinueError yet, eliminate LLContinueError& parameter from LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level. Where a catch (...) clause actually provides contextual information, or makes an error string, add boost::current_exception_diagnostic_information() to try to figure out actual exception class and message.
2016-08-17SL-323: remove vmp icons from viewer_components subtreeGlenn Glazer
2016-08-17MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION().Nat Goodspeed
A level of preprocessor indirection lets us later change the implementation if desired.
2016-08-17SL-323: add icon support for macs, text flow in Tkinter windowsGlenn Glazer
2016-08-16SL-323: logging improvementsGlenn Glazer
2016-08-16SL-323: fixed update service redirect handlingGlenn Glazer
2016-08-15SL-323: fixes to Tkinter race condition, post --channel and --settings ↵Glenn Glazer
testing, contains debugging statements to be removed after all testing complete
2016-07-28SL-321: one more commithook issue in test fileGlenn Glazer
2016-07-28SL-321: fix commithook issues in test filesGlenn Glazer
2016-07-28SL-321: add in resource files, more CLI handling fixesGlenn Glazer
2016-07-27SL-321: basic launcher/updater integration test fixesGlenn Glazer
2016-07-21SL-323: make changes to include llbase as an autobuild pkg, undelete files ↵Glenn Glazer
that will be deleted with MAINT-6585 and no need to copy local files in viewer-manifest.
2016-07-19MAINT-5011: Introduce LLException base class for viewer exceptions.Nat Goodspeed
This also introduces LLContinueError for exceptions which should interrupt some part of viewer processing (e.g. the current coroutine) but should attempt to let the viewer session proceed. Derive all existing viewer exception classes from LLException rather than from std::runtime_error or std::logic_error. Use BOOST_THROW_EXCEPTION() rather than plain 'throw' to enrich the thrown exception with source file, line number and containing function.
2016-07-14add dependent modulesGlenn Glazer
2016-07-13SL-323: add llsd python moduleGlenn Glazer
2016-07-13include manager directory in viewer manifest, not CMakeGlenn Glazer
2016-07-13include manager directory in CMake listGlenn Glazer
2016-07-13MAINT-5011: Derive remaining exception classes from std::exception.Nat Goodspeed
In particular: NotImplemented in llhttpnode.cpp RelocateError in llupdateinstaller.cpp LLProtectedDataException, LLCertException and subclasses in llsecapi.h Had to add no-throw destructor overrides to LLCertException and subclasses because otherwise clang complains that the implicitly-generated destructor's exception specification is more lax than the base class's.
2016-07-13SL-323: adding in unit testsGlenn Glazer
2016-07-11SLS-323: integrate update manager with lanucher, various fixes, CMake changesGlenn Glazer
2016-07-05SL-323: apply update code, v2Glenn Glazer
2016-07-05remove first version of apply_updateGlenn Glazer
2016-07-05SL-323: apply update codeGlenn Glazer
2016-06-28SL-323: post review comments on downloaderGlenn Glazer
2016-06-27remove extraneous commentsGlenn Glazer
2016-06-27SL-323: multithreaded downloader with progress barGlenn Glazer
2016-06-23SL-321 add trinary widget to InstallerUserMessageGlenn Glazer
2016-06-17SL-321 SL-407: merge InstallerUserMessage into VMPGlenn Glazer
2016-06-17SL-321: retrofit launcher to use InstallerUserMessageGlenn Glazer
2016-06-17SL-407: remove kwargsGlenn Glazer
2016-06-17SL-407: post review change testingGlenn Glazer
2016-06-17SL-407: post reviewGlenn Glazer
2016-06-16SL-407: create Tkinter UIGlenn Glazer
2016-05-25pull from lynxGlenn Glazer
2016-04-08SL-321: move arg parsing past platform discoveryGlenn Glazer
2016-04-07pull from viewer-releaseGlenn Glazer
2016-04-07SL-321: Changes for VMP Windows Prototypecoyot@coyot-sager-PC
2016-04-04merge with 4.0.3-releaseOz Linden
2016-03-30SL-321: prototype python launcherGlenn Glazer
2016-02-25Add SSL support to update downloader to enable possibility of secure downloadsDrake Arconis
2016-02-25Update to modern curl progress reporting functionality in the update downloaderDrake Arconis
2015-12-21CMake fixes for Linux buildRider Linden
2015-12-18Disable unit test on Linux onlyRider Linden
2015-11-10remove execute permission from many files that should not have itOz Linden