1. 06 Sep, 2019 7 commits
  2. 05 Sep, 2019 5 commits
  3. 04 Sep, 2019 1 commit
  4. 03 Sep, 2019 6 commits
    • Rafael Fontenelle's avatar
      efba1e83
    • Goran Vidović's avatar
      Update Croatian translation · d1442765
      Goran Vidović authored
      d1442765
    • Kukuh Syafaat's avatar
      Update Indonesian translation · 72e5caf6
      Kukuh Syafaat authored
      72e5caf6
    • Florian Müllner's avatar
      keyboard: Fix EmojiSelection:delta range · 3768b6b7
      Florian Müllner authored
      The setter clamps the values to the range (-width, width), so we
      must not limit the property to positive values.
      
      GNOME/gnome-shell!698
      3768b6b7
    • Will Thompson's avatar
      notificationDaemon: Catch exceptions while loading notifications · e5cde470
      Will Thompson authored
      An Endless OS system was found in the wild with a malformed
      .local/share/gnome-shell/notifications which causes _loadNotifications()
      to raise an exception. This exception was not previously handled and
      bubbles all the way out to gnome_shell_plugin_start(), whereupon the
      shell exit(1)s. The user could no longer log into their computer.
      
      Handle exceptions from _loadNotifications(), log them, and attempt to
      continue. Ensure that this._isLoading is set to 'false' even on error,
      so that future calls to _saveNotifications() can overwrite the (corrupt)
      state file.
      
      GNOME/gnome-shell#1552
      e5cde470
    • Will Thompson's avatar
      global: Don't trust persistent/runtime state data · a207f67f
      Will Thompson authored
      An Endless OS system was found in the wild with a malformed
      .local/share/gnome-shell/notifications. When deserialized in Python,
      after passing trusted=True to g_variant_new_from_bytes(), the first
      element of the first struct in the array looks like this:
      
          In [41]: _38.get_child_value(0).get_child_value(0)
          Out[41]: GLib.Variant('s', '\Uffffffff\Uffffffff\Uffffffff\Uffffffff\Uffffffff')
      
      When deserialised in GJS, we get:
      
          gjs> v.get_child_value(0).get_child_value(0)
          [object variant of type "s"]
          gjs> v.get_child_value(0).get_child_value(0).get_string()
          typein:43:1 malformed UTF-8 character sequence at offset 0
            @typein:43:1
            @<stdin>:1:34
      
      While g_variant_new_from_bytes() doesn't have much to say about its
      'trusted' parameter, g_variant_new_from_data() does:
      
      > If data is trusted to be serialised data in normal form then trusted
      > should be TRUE. This applies to serialised data created within this
      > process or read from a trusted location on the disk (such as a file
      > installed in /usr/lib alongside your application). You should set
      > trusted to FALSE if data is read from the network, a file in the
      > user's home directory, etc.
      
      Persistent state is read from the user's home directory, so it should
      not be trusted. With trusted=False, the string value above comes out as
      "".
      
      I don't have an explanation for how this file ended up being malformed.
      I also don't have an explanation for when this started crashing: my
      guess is that recent GJS became stricter about validating UTF-8 but I
      could be wrong!
      
      GNOME/gnome-shell#1552
      a207f67f
  5. 02 Sep, 2019 2 commits
  6. 01 Sep, 2019 5 commits
  7. 31 Aug, 2019 1 commit
  8. 29 Aug, 2019 3 commits
  9. 28 Aug, 2019 1 commit
  10. 27 Aug, 2019 9 commits