-- unify cammount and camget's blob caching. move their init code to pkg/cacher, and add an LRU and optional upper bound size limit in pkg/cacher too. -- should a "share" claim be not a claim but its own permanode, so it can be rescinded? right now you can't really unshare a "haveref" claim. or rather, TODO: verify we support "delete" claims to delete any claim, and verify the share system and indexer all support it. I think the indexer might, but not the share system. Also TODO: "camput delete" or "rescind" subcommand. -- make the -transitive flag for "camput share -transitive" be a tri-state: unset, true, false, and unset should then mean default to true for "file" and "directory" schema blobs, and "false" for other things. -- make camget and/or pkg/schema sanity-check all the "file" and "directory" names, to make sure they don't have path separators in them, "..", etc. Use Basename/Clean/etc. -- rename sha1.New() to blobref.NewHash() and blobref.SHA1FromString(string) to blobref.FromString(string), and add blobref.FromHash(hash.Hash) (using reflect.TypeOf to find "sha1" prefix) to move current, ephemeral sha1 usage out to one place that's easily fixed in the future. -- clean up gethandler and its Range stuff. http package does much/all of that now. Use ServeContent instead? -- index: static directory recursive sizes: search: ask to see biggest directories? -- index: index dates in filenames ("yyyy-mm-dd-Foo-Trip", "yyyy-mm blah", etc). -- Go 1: convert all the fuse code & camlistore.org/pkg/fs to use rsc/fuse (get cammount and webdav working again) -- read/write fuse. -- work on runsit more, so I can start using this more often. runsit should be able to reload itself, and also watch for binaries changing and restart when binaries change. (or symlinks to binaries) -- BUG: ./dev-server and hitting http://localhost:3179/ shouldn't mention the /setup handler. -- add gofmt check to "make presubmit". also add "make fmt" target. -- BUG: osutil paths.go on OS X: should use Library everywhere instead of mix of Library and ~/.camlistore? OLD: -- add CROS support? http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/ -- Go: ditch our http Range header stuff, get in upstream Go -- camput: support for skipping common cache/temp files -- camget: finish. it's barely started. should be able to cat blobs or restore filesytems from backup. -- fuse read/write support using search / camliMember, permanode per inode (https://github.com/hanwen/go-fuse + Go camlistore client == easy?) -- brackup integration, perhaps sans GPG? (requires Perl client?) -- blobserver test suite: flesh it out. (bs-test.pl ... it's pretty good so far, but not done) -- blobserver: clean up channel-closing consistency in blobserver interface (most close, one doesn't. all should probably close) Android: [ ] Fix wake locks in UploadThread. need to hold CPU + WiFi whenever something's enqueued at all and we're running. Move out of the Thread that's uploading itself. [ ] GPG signing of blobs (brad) http://code.google.com/p/android-privacy-guard/ http://www.thialfihar.org/projects/apg/ (supports signing in code, but not an Intent?) http://code.google.com/p/android-privacy-guard/wiki/UsingApgForDevelopment ... mailed the author. Client libraries: [X] Go (Brad) [/] JavaScript (Brad) [/] Python (Brett) [ ] Perl [ ] Ruby [ ] PHP