1. 20 Nov, 2019 9 commits
    • MozLando's avatar
      Merge #5083 · d74e20ae
      MozLando authored
      
      
      5083: Closes #5063: better exception reporting during migrations r=pocmo a=grigoryk
      
      Patch 1:
      >
          We are logging exceptions when no profile is found, which is actually a legit case.
          There will be no profile on a fresh install, for example.
          
          This patch makes these kinds of exceptions more precise/useful: we'll only send a report
          in case there's a profile but a missing dbPath. We'll now also send an exception in case
          of an IOException while parsing profiles.
      
      Patch 2:
      >
          Submit unexpected exceptions during migrations
      
      
      
      
      Co-authored-by: default avatarGrisha Kruglov <gkruglov@mozilla.com>
      d74e20ae
    • MozLando's avatar
      Merge #5066 · 98092490
      MozLando authored
      
      
      5066: Add setDynamicToolbarMaxHeight API r=pocmo a=hiikezoe
      
      
      
      Co-authored-by: default avatarHiroyuki Ikezoe <hiroyuki.ikezoe@gmail.com>
      98092490
    • MozLando's avatar
      Merge #5064 · 4a3f8fd0
      MozLando authored
      
      
      5064: Closes #5041: Fix migration post-processing to understand FxA migrations r=pocmo a=grigoryk
      
      When FxA migration was added, I forgot to adjust "read and parse past migrations" code
      to account for a new migration type. This patch fixes that problem, and adds tests that
      would have cought it.
      
      
      
      
      Co-authored-by: default avatarGrisha Kruglov <gkruglov@mozilla.com>
      4a3f8fd0
    • MozLando's avatar
      Merge #5103 · fd14fd29
      MozLando authored
      
      
      5103: Closes #5050: Improve handling of authentication problems r=csadilek a=grigoryk
      
      This PR ensures that account doesn't disappear on app restart after hitting authentication problems.
      
      Also:
      - there's some FxaDeviceConstellation cleanup/simplification
      - profile cache is now used; this way, we don't need to fetch profile every time account manager is instantiated
      
      
      
      Co-authored-by: default avatarGrisha Kruglov <gkruglov@mozilla.com>
      fd14fd29
    • Grisha Kruglov's avatar
    • Grisha Kruglov's avatar
      Part 3: Don't progress past authentication problems during account restoration · f1753c33
      Grisha Kruglov authored
      If we don't do this, we end up calling onAuthenticated _after_ callin onAuthenticationProblems.
      
      This isn't a very principled solution, since other similar situations aren't covered.
      And, we may fail 'ensureCapabilities' for reasons other than authentication (e.g. network failures).
      
      Arguably, stopping here _is_ better than progressing with an uncertain state.
      f1753c33
    • Grisha Kruglov's avatar
      Part 1: Do not erase account storage after hitting an auth problem · 8bd98b5f
      Grisha Kruglov authored
      Before this patch, we'd clear out account storage after we see an unrecoverable authentication error. In this context, a password change would be an unrecoverable error. We'll transition account into an AuthenticationProblem state, but upon re-initialization of the state machine we'll end up in NotAuthenticated instead, because there's no longer a locally persisted account state. So, this is just a straight-up bug in the state machine.
      
      So, step 1:
          do not erase account storage if we encounter auth problems we can't auto-recover from
              this will make sure account isn't disappearing after a restart
              this has an additional benefit of not erasing fetched profile data, as well! it's part of the persisted account state
      
      Also, add in some debug logging into the samples-sync app to make testing this a bit easier.
      8bd98b5f
    • Grisha Kruglov's avatar
      Pre 2: remove unnecessary synchronization from FxaDeviceConstellation · 7611dfd7
      Grisha Kruglov authored
      I'm not sure it was ever necessary, to be honest. I think the way the 'refresh'
      method is currently structured, simply marking internal 'constellationState'
      as Volatile is enough - we're not concerned about concurrent access to it,
      only about memory visibility across threads.
      
      It's true that currently, work in this class happens on a pool thread,
      so it's possible to have two racing 'refresh' methods running. Having one of them
      loose the race and drop results on the floor should be just fine in this case.
      7611dfd7
    • Grisha Kruglov's avatar
  2. 19 Nov, 2019 19 commits
  3. 18 Nov, 2019 12 commits
    • MozLando's avatar
      Merge #5078 · 1dcfb602
      MozLando authored
      
      
      5078: FxA cleanup: remove authErrorRegistry, and other simplifications r=csadilek a=grigoryk
      
      (splitting this off from a larger clean-up branch)
      
      The sole reason for authErrorRegistry was to expose an instance of FxaAccountManager
      to internal components which don't have direct access to it. The registry acted
      an internal singleton, but with a bunch of overhead and conceptual complexity around it.
      
      This patch simplifies this: it adds an actual singleton instead of the registry, with a
      simple API for components to call into if they encounter authentication errors.
      
      Behaviour of `handleFxaExceptions` also changed slightly, to reduce cognitive overhead:
      - instead of calling into an Async function on the observer, and ignoring the result,
      this API is now simply `suspend`, which is a first step on the way to reasoning about error handling within the FxA state machine in terms of structured concurrency.
      
      Other cleanup involves marking an expensive OAuthAccount method as async, as well as some
      simplification of error handling in FirefoxAccount.
      
      
      
      
      Co-authored-by: default avatarGrisha Kruglov <gkruglov@mozilla.com>
      1dcfb602
    • Grisha Kruglov's avatar
      FxA cleanup: remove authErrorRegistry · f5a67f39
      Grisha Kruglov authored
      The sole reason for authErrorRegistry was to expose an instance of FxaAccountManager
      to internal components which don't have direct access to it. The registry acted
      an internal singleton, but with a bunch of overhead and conceptual complexity around it.
      
      This patch simplifies this: it adds an actual singleton instead of the registry, with a
      simple API for components to call into if they encounter authentication errors.
      
      Behaviour of `handleFxaExceptions` also changed slightly, to reduce cognitive overhead:
      - instead of calling into an Async function on the observer, and ignoring the result,
      this API is now simply `suspend`, which allows us to reason about error handling within
      the FxA state machine terms of structured concurrency.
      
      Other cleanup involves marking an expensive OAuthAccount method as async, as well as some
      simplification of error handling in FirefoxAccount.
      f5a67f39
    • MozLando's avatar
      Merge #5061 · 993d8c1d
      MozLando authored
      
      
      5061: Add shortcut category to window feature r=csadilek a=NotWoods
      
      Prevents "Open in private mode" option from appearing when opening a window.
      
      Changed the first parameter to be `Activity` since the app crashes when you try to pass in application context instead.
      
      
      
      Co-authored-by: default avatarTiger Oakes <toakes@mozilla.com>
      993d8c1d
    • Tiger Oakes's avatar
      Add shortcut category to window feature · 875fa4ac
      Tiger Oakes authored
      Prevents "Open in private mode" option from appearing when opening a
      window.
      875fa4ac
    • MozLando's avatar
      Merge #5082 · c2052f96
      MozLando authored
      
      
      5082: Closes #4993: Add tag to notifications for WebNotification r=rocketsroger a=rocketsroger
      
      
      
      Co-authored-by: default avatarRoger Yang <royang@mozilla.com>
      c2052f96
    • MozLando's avatar
      Merge #5052 · ca43e554
      MozLando authored
      
      
      5052: For 5051: Update PublicSuffixList kdocs r=pocmo a=Baron-Severin
      
      
      
      Co-authored-by: default avatarSeverin Rudie <srudie@mozilla.com>
      ca43e554
    • MozLando's avatar
      Merge #5062 · b3494352
      MozLando authored
      
      
      5062: Import strings from android-l10n. r=pocmo a=mozilla-l10n-automation-bot
      
      n/t
      
      Co-authored-by: default avatarMozilla L10n Automation Bot <release+l10n-automation-bot@mozilla.com>
      b3494352
    • Mozilla L10n Automation Bot's avatar
      Import l10n. · c9579e11
      Mozilla L10n Automation Bot authored
      c9579e11
    • MozLando's avatar
      Merge #5076 #5088 · 0068c0de
      MozLando authored
      
      
      5076: For #4999: Fixes verifyDownload for cancelling & completed r=csadilek a=sblatz
      
      
      
      5088:  GeckoView update (beta) (20191118-140410) r=pocmo a=MickeyMoz
      
      
      
      Co-authored-by: default avatarSawyer Blatz <sdblatz@gmail.com>
      Co-authored-by: default avatarMickeyMoz <sebastian@mozilla.com>
      0068c0de
    • MozLando's avatar
      Merge #5089 · f73721e9
      MozLando authored
      
      
      5089:  GeckoView update (nightly) (20191118-140600) r=pocmo a=MickeyMoz
      
      
      
      Co-authored-by: default avatarMickeyMoz <sebastian@mozilla.com>
      f73721e9
    • MickeyMoz's avatar
      Update GeckoView (nightly) (20191118-140600) · 24a63a8e
      MickeyMoz authored
      24a63a8e
    • MickeyMoz's avatar
      Update GeckoView (beta) (20191118-140410) · 180054f1
      MickeyMoz authored
      180054f1