Polling for all jobs while in GetCruiseServerSnapshot is not required if the previous list of jobs has been retrieved and cached as this method is only called to update the statuses of existing known projects that have already been added to CCTray.
Polling for all jobs while in GetCruiseServerSnapshot is not required if the previous list of jobs has been retrieved and cached as this method is only called to update the statuses of existing known projects that have already been added to CCTray.

Thus, if we are using a cached copy, and a new job is added to the jenkins server, it does not matter since it can't been in our CCTray screen until we open the configuration and add it, at which point GetProjectList() is called which gets a fresh job of the jobs from the server.

Massive improvement in responsiveness if you are monitoring a single job from say https://builds.apache.org versus the prior implementation

csnate/cctray-jenkins-transport,csnate/cctray-jenkins-transport