The dashboard should be smarter about how much data it requests from Trac. Currently, it requests 50 most recent revisions, which is OK for the first request, but makes little sense to do every 45 seconds.
We should ask for fewer revisions, and fall back to a larger range on the rare occasions when there are lots of them landed at once.
Also, there is some code in Trac to maintain client sessions. I'm not sure what exactly it does, maybe it could be used to optimize performance of periodic requests?
We'd need to allow CORS credentials for the timeline on the server, and enable XHR.withCredentials on the client to have cookies sent.
On the second thought, so session tracking through cookies could get tricky when reloading the dashboard page, or having two dashboard windows open for any reason.
Created attachment 236791 [details]
Found a different way to make the trac request faster. We don't necessarily get more close to "give me what changed since the last time", but Trac processes date based requests much faster.
Talking about sessions, those don't seem to help, they are for logged in users and only used for credentials and settings like time zone. Having a session would actually be harmful here, as we'd get times converted.
Comment on attachment 236791 [details]
Clearing flags on attachment: 236791
Committed r172747: <http://trac.webkit.org/changeset/172747>
All reviewed patches have been landed. Closing bug.