Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhancements and fixes to plug-in management #1079

Merged
merged 10 commits into from Sep 4, 2012
Merged

enhancements and fixes to plug-in management #1079

merged 10 commits into from Sep 4, 2012

Conversation

skurfer
Copy link
Member

@skurfer skurfer commented Aug 29, 2012

Once again, I was looking for some issues assigned to me that I could fix quickly and then couldn't stop. :-)

  • Implemented the relatedPaths feature (#1001)
  • Required bundles are no longer ignored (#1002)
  • When the plug-in data is downloaded for the setup assistant, the data is stored so the list of plug-ins won't be empty on the next launch (#1052)
  • Clean up the references to the plug-in manager in the setup assistant
  • Use Quicksilver's custom user-agent string when downloading plug-ins, which includes the current OS version. (This doesn't currently affect behavior on the web server, but it just seems right. There are other places where we might want to consider setting the user-agent string)
  • The list of plug-ins was being customized based on various criteria, but when downloading a plug-in, you would always get the latest version. You will now be given the version shown on the list, which should be supported on your system. Hard to beleive this was never reported before. :-) (#1063)
  • Fixed a problem where supporting plug-ins (such as E-mail Support) wouldn't be downloaded until the next relaunch.
  • Fixed a problem where two relaunches were required to fully get rid of an obsolete plug-in. (It would be deleted on the first relaunch, but not until after it loaded, so a second relaunch was required.)

I've done this against master, but I think it should go into release too once merged. I say that because it contains some fixes that are pretty important for 10.6 users, and… let's prepare for the possibility that 10.6 users will be on B70 forever. ;-)

skurfer added 9 commits Aug 28, 2012
…irectory

by adding an array named `relatedPaths` under QSPlugIn in their plist.
close #1001
The plug-in data shown to the user is customized based on their OS version, but when they actually download a plug-in (or a dependency is pulled in automatically) the latest version is given. With this change, Quicksilver is always explicit about which version should be provided and it requests the latest known version *for their OS*.
fixes #1063
The `checkForUnmetDependencies` method won't be called unless all pending downloads have finished. This updates the queue *before* its count is checked, which is more accurate. Previously, dependencies wouldn't get installed until the next relaunch.
`knownPlugIns` will favor the locally installed plug-in if available,
causing the installed version to be re-downloaded.
@pjrobertson
Copy link
Member

@pjrobertson pjrobertson commented Aug 29, 2012

Steady on Rob, too many fixes for one day ;-)

Unless you can highlight any other priorities, I'll try and work on this in
any spare time I get this week.

On 29 August 2012 05:02, Rob McBroom notifications@github.com wrote:

Once again, I was looking for some issues assigned to me that I could fix
quickly and then couldn't stop. :-)

  • Implemented the relatedPaths feature (#1001#1001
    )
  • Required bundles are no longer ignored (#1002#1002
    )
  • When the plug-in data is downloaded for the setup assistant, the
    data is stored so the list of plug-ins won't be empty on the next launch (
    #1052 #1052)
  • Clean up the references to the plug-in manager in the setup assistant
  • use Quicksilver's custom user-agent string when downloading
    plug-ins, which includes the current OS version. (This doesn't currently
    affect behavior on the web server, but it just seems right. There are other
    places where we might want to consider setting the user-agent string)
  • The list of plug-ins was being customized bsaed on various criteria,
    but when downloading a plug-in, you would always get the latest version.
    You will now be given the version shown on the list, which should be
    supported on your system. Hard to beleive this was never reported before.
    :-) (#1063 #1063)
  • Fixed a problem where supporting plug-ins (such as E-mail Support)
    wouldn't be downloaded until the next relaunch.
  • Fixed a problem where two relaunches were required to fully get
    rid of an obsolete plug-in. (It would be deleted on the first relaunch, but
    not until after it loaded, so a second relaunch was required.)

I've done this against master, but I think it should go into release too
once merged. I say that because it contains some fixes that are pretty
important for 10.6 users, and… let's prepare for the possibility that 10.6

users will be on B70 forever. ;-)

You can merge this Pull Request by running:

git pull https://github.com/skurfer/Quicksilver pluginMeta

Or view, comment on, or merge it at:

#1079
Commit Summary

  • plug-ins can now be recommended based on the existence of a file or
    d…
  • don't load plug-in if required bundles are missing - fixes #1002#1002
  • download and store plug-in data so it will be available on the next
    l…
  • always access the QSPlugInManager using the same method
  • set Quicksilver's User-Agent string when downloading plug-ins
  • download the correct version of the plug-in (instead of the latest)
  • update download queues before other methods examine them
  • choose the version to download from the "web data"
  • remove obsolete plug-ins sooner to prevent them from loading on the
    n…

File Changes

  • M Quicksilver/Code-App/QSSetupAssistant.m (20)
  • M Quicksilver/Code-QuickStepCore/QSPlugIn.h (1)
  • M Quicksilver/Code-QuickStepCore/QSPlugIn.m (18)
  • M Quicksilver/Code-QuickStepCore/QSPlugInManager.m (11)
  • M Quicksilver/Code-QuickStepCore/QSURLDownloadWrapper.m (4)
  • M Quicksilver/Nibs/QSSetupAssistant.xib (6)

Patch Links

@skurfer
Copy link
Member Author

@skurfer skurfer commented Aug 29, 2012

Steady on Rob, too many fixes for one day ;-)

Getting us closer to that 1.0 milestone …largely because I assigned it to these issues after the fact. :-) But still, there are lots of little things here you'd expect from a 1.0 release.

Unless you can highlight any other priorities, I'll try and work on this in any spare time I get this week.

Yeah, that sounds good. Unfortunately, a lot of it is difficult to test and requires making bogus changes to plug-in plists, etc. I'd tell you how I tested different things, but then you'll probably get the same result. We're more likely to find bugs if you take a different approach. :-)

I'm going to update Remote Hosts to use the relatedPaths key and push it out so I can make sure it works for not-yet-installed plug-ins, so don't be surprised if you see that.

The only other thing I'd say needs quick attention is whether or not you think we should revert the change to make URLs searchable.

@skurfer
Copy link
Member Author

@skurfer skurfer commented Aug 30, 2012

FYI, I started fresh and went through the Setup Assistant after updating Remote Hosts and it was recommended to me. So that part seems to be working.

@pjrobertson
Copy link
Member

@pjrobertson pjrobertson commented Aug 31, 2012

Apart from my few small comments, it all looks good. Now just to test! :D

pjrobertson added a commit that referenced this issue Sep 4, 2012
enhancements and fixes to plug-in management
@pjrobertson pjrobertson merged commit 96fa7b7 into quicksilver:master Sep 4, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants