2013-06-11 11:27:04 +00:00
|
|
|
There are two TODO lists. This file (good for airplanes) and the online bug tracker:
|
|
|
|
|
|
|
|
https://code.google.com/p/camlistore/issues/list
|
|
|
|
|
|
|
|
Offline list:
|
|
|
|
|
2013-12-16 04:58:53 +00:00
|
|
|
-- UI: infinite scroll: stutters, pre-load as necessary, show box
|
|
|
|
|
|
|
|
-- UI: video, at least thumbnailing (use external program,
|
|
|
|
like VLC or whatever nautilus uses?)
|
|
|
|
|
|
|
|
-- UI: prettier thumbnails (better resizing / JPEG compression?)
|
|
|
|
|
2013-12-14 20:05:51 +00:00
|
|
|
-- rename server.ImageHandler to ThumbnailRequest or something? It's
|
|
|
|
not really a Handler in the normal sense. It's not built once and
|
|
|
|
called repeatedly; it's built for every ServeHTTP request.
|
|
|
|
|
2013-12-14 17:37:56 +00:00
|
|
|
-- dev mode flag -thumbstress to stress thumbnail generation: drop all
|
|
|
|
thumbMeta keyvalue entries and also append a process random value
|
|
|
|
to thumbnails URLs to cache-bust browser. will force reload and
|
|
|
|
re-generation of all thumbnails
|
2013-12-14 14:16:21 +00:00
|
|
|
|
2013-12-14 17:37:56 +00:00
|
|
|
-- unexport more stuff from pkg/server. Cache, etc.
|
2013-12-14 14:16:21 +00:00
|
|
|
|
|
|
|
-- In ImageHandler.cache, write the thumbnail out as one large blob
|
|
|
|
instead of using schema.WriteFileFromReader if the thumbnail
|
|
|
|
is smaller than blobserver.MaxBlobSize (16MB).
|
|
|
|
|
2013-12-11 11:53:17 +00:00
|
|
|
-- blobhub.go NotifyBlobReceived should do the sync hooks before firing off
|
|
|
|
goroutines to notify that things were good. they might not be good yet
|
|
|
|
if the hook fails. also, no need for the slice. can just fire off goroutines
|
|
|
|
directly.
|
|
|
|
|
2013-12-04 08:39:09 +00:00
|
|
|
-- look into garbage from openpgp signing
|
|
|
|
|
2013-12-04 05:36:58 +00:00
|
|
|
-- make leveldb memdb's iterator struct only 8 bytes, pointing to a recycled
|
|
|
|
object, and just nil out that pointer at EOF.
|
|
|
|
|
2013-11-23 17:09:40 +00:00
|
|
|
-- genconfig needs to be updated to route incoming blobs to sync handlers;
|
|
|
|
or should sync handlers subscribe to their source's blobhub?
|
2013-11-27 03:27:03 +00:00
|
|
|
No, see latest email to Bill Thiede: sync handlers already subscribe
|
|
|
|
with a blocking hook. Related: index should too.
|
2013-11-23 17:09:40 +00:00
|
|
|
|
2013-11-10 00:55:49 +00:00
|
|
|
-- bring in the google glog package to third_party and use it in
|
|
|
|
places that want selective logging (e.g. pkg/index/receive.go)
|
|
|
|
|
2013-09-22 18:38:42 +00:00
|
|
|
-- camput's havecache initialization should move up a layer to
|
|
|
|
to be global to all commands, not specific to "camput file".
|
|
|
|
(the statcache can stay in file). otherwise, we have no haveCache
|
|
|
|
on the pkg/client.*Client and the UploadAndSignBlob call (for
|
|
|
|
creating permanodes and other claims) can't efficiently upload its
|
|
|
|
public key if the server doesn't already have it. currently it
|
|
|
|
has to try to upload it (doing a remote HTTP stat) each time
|
|
|
|
when using "camput permanode" or "camput attr".
|
|
|
|
|
2013-12-02 20:01:42 +00:00
|
|
|
-- use 'uint32' instead of 'int64' for blob sizes everywhere (notably
|
|
|
|
blob.SizedRef). blobs have a max size of 10-32 MB anyway, and the
|
|
|
|
index.Corpus is now using uint32 to save memory.
|
2013-08-29 23:12:18 +00:00
|
|
|
|
2013-09-16 14:57:14 +00:00
|
|
|
-- verify all ReceiveBlob calls and see which should be
|
|
|
|
blobserver.Receive instead, or ReceiveNoHash. git grep -E
|
|
|
|
"\.ReceiveBlob\(" And maybe ReceiveNoHash should go away and be
|
|
|
|
replaced with a "ReceiveString" method which combines the
|
|
|
|
blobref-from-string and ReceiveNoHash at once.
|
2013-08-21 20:57:28 +00:00
|
|
|
|
2013-08-04 02:54:30 +00:00
|
|
|
-- union storage target. sharder can be thought of a specialization
|
|
|
|
of union. sharder already unions, but has a hard-coded policy
|
|
|
|
of where to put new blobs. union could a library (used by sharder)
|
|
|
|
with a pluggable policy on that.
|
|
|
|
|
2013-07-07 22:30:55 +00:00
|
|
|
-- support for running cammount under camlistored. especially for OS X,
|
|
|
|
where the lifetime of the background daemon will be the same as the
|
|
|
|
user's login session.
|
|
|
|
|
2013-06-12 16:46:44 +00:00
|
|
|
-- website: remove the "Installation" heading for /cmd/*, since
|
|
|
|
they're misleading and people should use "go run make.go" in the
|
|
|
|
general case.
|
|
|
|
|
|
|
|
-- website: add godoc for /server/camlistored (also without a "go get"
|
|
|
|
line)
|
|
|
|
|
2013-06-09 08:11:31 +00:00
|
|
|
-- tests for all cmd/* stuff, perhaps as part of some integration
|
|
|
|
tests.
|
|
|
|
|
2013-05-26 17:07:35 +00:00
|
|
|
-- move most of camput into a library, not a package main.
|
|
|
|
|
|
|
|
-- server cron support: full syncs, camput file backups, integrity
|
|
|
|
checks.
|
|
|
|
|
|
|
|
-- status in top right of UI: sync, crons. (in-progress, un-acked
|
|
|
|
problems)
|
|
|
|
|
2013-08-04 02:54:30 +00:00
|
|
|
-- finish metadata compaction on the encryption blobserver.Storage wrapper.
|
|
|
|
|
|
|
|
-- get security review on encryption wrapper. (agl?)
|
2013-01-21 22:52:49 +00:00
|
|
|
|
|
|
|
-- peer-to-peer server and blobserver target to store encrypted blobs
|
|
|
|
on stranger's hardrives. server will be open source so groups of
|
|
|
|
friends/family can run their own for small circles, or some company
|
|
|
|
could run a huge instance. spray encrypted backup chunks across
|
|
|
|
friends' machines, and have central server(s) present challenges to
|
|
|
|
the replicas to have them verify what they have and how big, and
|
|
|
|
also occasionally say what the SHA-1("challenge" + blob-data) is.
|
|
|
|
|
2013-01-21 00:28:00 +00:00
|
|
|
-- sharing: make camget work with permanode sets too, not just
|
|
|
|
"directory" and "file" things.
|
|
|
|
|
|
|
|
-- sharing: when hitting e.g. http://myserver/share/sha1-xxxxx, if
|
|
|
|
a web browser and not a smart client (Accept header? User-Agent?)
|
|
|
|
then redirect or render a cutesy gallery or file browser instead,
|
|
|
|
still with machine-readable data for slurping.
|
|
|
|
|
2013-01-20 23:58:34 +00:00
|
|
|
-- rethink the directory schema so it can a) represent directories
|
|
|
|
with millions of files (without making a >1MB or >16MB schema blob),
|
|
|
|
probably forming a tree, similar to files. but rather than rolling checksum,
|
2013-01-21 00:28:00 +00:00
|
|
|
just split lexically when nodes get too big.
|
2013-01-20 23:58:34 +00:00
|
|
|
|
2013-01-11 07:03:46 +00:00
|
|
|
-- delete mostly-obsolete camsigd. see big TODO in camsigd.go.
|
|
|
|
|
2013-01-09 03:43:09 +00:00
|
|
|
-- 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
|
|
|
|
|
2013-01-03 04:41:26 +00:00
|
|
|
-- 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.
|
2013-09-21 17:27:42 +00:00
|
|
|
Also TODO: document share claims in doc/schema/ and on website.
|
2013-01-03 04:41:26 +00:00
|
|
|
|
2013-01-03 04:37:37 +00:00
|
|
|
-- 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.
|
|
|
|
|
2012-12-24 17:59:52 +00:00
|
|
|
-- 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).
|
2012-12-07 01:57:27 +00:00
|
|
|
|
2013-01-20 21:40:09 +00:00
|
|
|
-- get webdav server working again, for mounting on Windows. This worked before Go 1
|
|
|
|
but bitrot when we moved pkg/fs to use the rsc/fuse.
|
2012-03-23 01:21:32 +00:00
|
|
|
|
2012-03-23 01:22:34 +00:00
|
|
|
-- 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)
|
2012-03-23 01:21:32 +00:00
|
|
|
|
2012-08-21 06:09:32 +00:00
|
|
|
-- 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?
|
|
|
|
|
2012-03-23 01:21:32 +00:00
|
|
|
OLD:
|
2010-11-05 04:17:22 +00:00
|
|
|
|
2011-03-06 21:22:58 +00:00
|
|
|
-- add CROS support?
|
|
|
|
http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/
|
|
|
|
|
|
|
|
-- 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)
|
2013-01-20 23:10:15 +00:00
|
|
|
|
2011-03-06 21:22:58 +00:00
|
|
|
-- blobserver: clean up channel-closing consistency in blobserver interface
|
2011-06-13 15:49:29 +00:00
|
|
|
(most close, one doesn't. all should probably close)
|
2010-11-05 04:17:22 +00:00
|
|
|
|
2010-11-05 04:22:38 +00:00
|
|
|
Android:
|
|
|
|
|
2010-12-21 07:25:34 +00:00
|
|
|
[ ] 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.
|
2010-11-05 04:22:38 +00:00
|
|
|
[ ] GPG signing of blobs (brad)
|
2010-12-19 23:29:42 +00:00
|
|
|
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
|
2010-12-19 23:37:03 +00:00
|
|
|
... mailed the author.
|
|
|
|
|
2010-11-05 04:22:38 +00:00
|
|
|
Client libraries:
|
|
|
|
|
2013-01-20 23:10:15 +00:00
|
|
|
[X] Go
|
|
|
|
[X] JavaScript
|
2013-08-15 17:07:58 +00:00
|
|
|
[/] Python (Brett); but see https://github.com/tsileo/camlipy
|
2010-11-05 04:22:38 +00:00
|
|
|
[ ] Perl
|
|
|
|
[ ] Ruby
|
|
|
|
[ ] PHP
|