perkeep/TODO

99 lines
3.7 KiB
Plaintext

-- rename the index.IndexStorage interface stutter to index.Storage
-- we used to be able live-edit js/css files in server/camlistored/ui when
running under the App Engine dev_appserver.py. That's now broken with my
latest efforts to revive it. The place to start looking is:
server/camlistored/ui/fileembed_appengine.go
-- 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