Skip to content

v1.1.0

Compare
Choose a tag to compare
@bkw777 bkw777 released this 05 Mar 04:23
· 432 commits to master since this release
  • replaced the refresh button with reload
    Reload button does a full delete_cache() when pressed, same as --delete-cache,
    and clears the otherwise once-per-session state flags: index_is_fresh, connection_checked, neterr_shown.

  • improved cache handling
    cache ops are both faster and more correct now

    • don't delete or re-download the cache indexes any more than necessary

    • unilaterally download the main index only once on startup or on reload

    • download the individual kernel indexes only when one doesn't exist

    • new undocumented internal-use commandline optionfor the console app --index-is-fresh
      inhibits the console app from doing it's own refresh on startup when the console app is being run from within the gtk app

    • more thourough tracking of when to clear and redraw the gui list so that it always reflects the current state after any install/uninstall actions

    • when downloading the main index, don't remove the cached index unless the download actually works
      If the mainline-ppa is unreachable, at least preserve the old cached indexes unless the user presses Reload,
      which makes the app work as well as possible off-line.

      So, cached indexes are preserved and re-used as much as possible both for speed and offline functionality reasons,
      yet it's also even more natural now to force a full reload any time you think it might be indicated,
      because the gui Reload button does a full delete and re-load.

      The cache is not considered fresh or stale by any arbitrary time period, instead it is simply always refreshed once at startup, and then not again for the duration of the session, unless the Reload button is pressed. And "refreshed" is defined as only unilaterally downloading the single main index.html file, and scanning that and only downloading any other per-kernel files if they are missing. That does allow for the possibility of a per-kernel index file being old and no longer correct, but the Reload button makes it easy to just reload the whole thing any time you want. The difference is that you aren't forced to sit through those slow full reloads happening over and over again for no reason any more.

      I really think the cache management is starting to get a lot more sane and watertight finally.

  • improve net connection checks

    • test connection on actual main index uri
    • remember the result for the rest of the session and only bother the user once (except reload)
    • removed skip_internet_connection_check setting since it's just doing the optimal thing automatically now.
      Checking the net connection is no different than simply trying to perform the initial index update that always has to be tried at least once anyway. Now we simply remember that it failed and don't try to use the net any more for that session, unless the Reload button is pressed which intentionally resets those flags.
  • renamed a few cmdline flags, old names still accepted for backwards compatibility
    --clean-cache -> --delete-cache - also, you should rarely need this now, because the reload button does it
    --show-unstable -> --include-unstable
    --hide-unstable -> --exclude-unstable

  • replaced gtk_messagbox() and the entire CustomMessageDialog.vala file with much smaller and simpler errbox() using Gtk.MessageDialog

  • resolved several compiler warnings, some from deleting gtk_messagbox(), some from updating thread creation method.

  • added "Exit" button to main gui

  • moved the mainlin-ppa uri into the config file so the user can edit
    Not exposed in the settings dialog, but you can edit ~/.config/mainline/config.json
    The destination url must still be exactly like the real mainline-ppa site, but it allows to point the app at other urls that either mirror or redirect to the original.

  • save & restore the window size & position

  • added more info to the --debug output

  • removed more un-used code, refactored some more away too

  • removed --user
    It was always broken, as all it did was change the path to the cache & config files without actually changing the process's euid.