Bug 24344

Summary: [0.8] Add well-known bundles and our own caps to cache, and serve disco responses from it
Product: Telepathy Reporter: Will Thompson <will>
Component: gabbleAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium Keywords: patch
Version: unspecified   
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/wjt/telepathy-gabble-wjt.git;a=shortlog;h=refs/heads/improve-caps-cache
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 24377    

Description Will Thompson 2009-10-06 05:38:53 UTC
We shouldn't need to disco the Google Talk clients' many many caps bundles: either we already know what they mean, or we don't care about them. We also should cache what the caps hashes we publish mean, to stop us discoing anyone else (possibly even ourself!) with the same hash. Finally, we should remember our past caps hashes, and respond to disco requests for them, both to be a better-behaved client and to work around an iChat bug.

The attached branch, 'improve-caps-cache', fixes these issues. While working on it, I worried briefly that caching all of our past caps hashes is a memory leak, and realised that it's a moot point because we cache every hash we see from contacts too. :)
Comment 1 Simon McVittie 2009-10-06 06:19:11 UTC
The test would be more obviously correct if the forbidden event was forbidden as soon as possible. Otherwise, looks good.

Merging this to 0.9 is going to be a pain...
Comment 2 Will Thompson 2009-10-07 08:45:17 UTC
Merged to 0.8; I'll clone the bug for 0.9 and try to port the branch...

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.