Commit Graph

17 Commits

Author SHA1 Message Date
Allan Odgaard
5769b16780 Rework bundle install code
We now use dispatch queues for updating bundles and bundle sources.

The determinate progress indicator is presently gone and so is the detailed info about which dependent bundles are being installed.
2013-03-25 17:31:03 +01:00
Allan Odgaard
a24858e63c Store bundle index in ~/Library/Caches 2013-03-25 16:41:58 +01:00
Allan Odgaard
d1a6c854a1 Add API to control bundle auto-updating 2013-03-25 13:04:40 +01:00
Allan Odgaard
75234faaa1 Minor style changes 2013-03-25 12:54:21 +01:00
Allan Odgaard
37590bd3fd Switch to new bundle loading code 2013-03-25 12:48:39 +01:00
Allan Odgaard
14ff3cf047 Add new bundle loading code
Some shortcomings:
1. Cache format is more wasteful (and kept in memory)
2. Device UUID and inode of root folder is not considered when replaying fs-events (we should do a recursive rescan if either changes).

On the bright side, the code better separates loading bundles from disk, and maintaining a disk cache updated via fs-events. This should make it easier to force cache invalidation when updating bundles from within TextMate (so we do not rely on fs-events) and to move bundle loading away from the main thread.

Additionally, by moving the bundle loading code to the bundle manager singleton, we’re introducing a single source of knowledge about “bundles on disk”, regardless of wether they are managed or not.
2013-03-25 12:16:56 +01:00
Allan Odgaard
a36146235a Support disabling “keep bundles updated”
We still update the sources because the user may manually install bundles, and in this case he should install from a recent bundle index.
2013-02-08 12:01:21 +01:00
Allan Odgaard
8c9adfc198 Move some user defaults key to respective framework
Initially I wanted all keys in a single header file but to avoid circular dependencies then this header would need to be in a framework that doesn’t depend on anything else, and the main benefit was only to have a single place to look for which keys exist, but now that we consistently prefix settings keys with ‘kUserDefaults’ then it’s easy to extract all keys via search.
2013-02-08 12:01:20 +01:00
Allan Odgaard
674b171a90 Only check for bundle updates every 4th hour
This should decrease my AWS bill with $4-5/month :)
2013-02-05 08:51:59 +01:00
Allan Odgaard
09337a7ed4 Workaround for flamboyant progress bar
Starting with Lion (I think) the progress bar at the Bundles preferences pane won’t always hide after having installed a bundle.

The progress bar is set to not show when stopped, but for some reason this property does not seem to always be respected, but if we manually set the progress to zero before setting the property (bound to ‘animate’) to NO, then it does properly hide.
2012-12-28 02:47:20 +01:00
Allan Odgaard
88c1210a10 Remove private methods from interface 2012-12-28 02:47:20 +01:00
Allan Odgaard
70979f4eeb ARC: Update BundlesManager framework 2012-12-24 16:50:20 +01:00
Allan Odgaard
71be61cbbb Enable ARC by default
We now explicitly disable it for targets that hasn’t yet been upgraded to ARC. This way, it’s easier to get an overview of which targets hasn’t yet been upgraded and ensures new targets has ARC enabled.
2012-12-19 19:42:36 +01:00
Allan Odgaard
b81bac3fda Change {updates → api}.textmate.org
Ideally we’d use the REST_API define setup for a few other targets.
2012-10-01 01:17:00 +02:00
Allan Odgaard
983bce86aa Use @autoreleasepool blocks 2012-09-25 12:30:12 +02:00
Jacob Bandes-Storch
dfdde3283f Use 64-bit: explicit visibility where required 2012-08-28 21:32:47 +02:00
Allan Odgaard
9894969e67 Initial commit 2012-08-09 16:25:56 +02:00