-- [ ] remove dependency on http-client
+- [ ] Convert to Typed Racket
+ - requires: build executable (otherwise too slow)
+- [x] Build executable
+ Implies fix of "collection not found" when executing the built executable
+ outside the source directory:
+
+ collection-path: collection not found
+ collection: "tt"
+ in collection directories:
+ context...:
+ /usr/share/racket/collects/racket/private/collect.rkt:11:53: fail
+ /usr/share/racket/collects/setup/getinfo.rkt:17:0: get-info
+ /usr/share/racket/collects/racket/contract/private/arrow-val-first.rkt:555:3
+ /usr/share/racket/collects/racket/cmdline.rkt:191:51
+ '|#%mzc:p
+
+- [ ] Support redirects
+ - should permanent redirects update the feed somehow?
+- [ ] Support time ranges (i.e. reading the timeline between given time points)
+- [x] Implement rfc3339->epoch
+- [x] Remove dependency on rfc3339-old
+- [x] remove dependency on http-client
- [ ] optional text wrap
- [ ] write
-- [ ] caching (use cache by default, unless explicitly asked for update)
+- [x] caching (use cache by default, unless explicitly asked for update)
- [x] value --> cache
- [x] value <-- cache
- requires: commands
+ requires: d command
- [ ] timeline limits
- [ ] feed set operations (perhaps better done externally?)
- [ ] timeline as a result of a query (feed set op + filter expressions)
- [ ] query language
- [ ] console logger colors by level ('error)
- [ ] file logger ('debug)
-- [ ] commands:
- - r | read
+- [-] commands:
+ - [x] r | read
- see timeline ops above
- - w | write
+ - [ ] w | write
- arg or stdin
- nick expand to URI
- - q | query
+ - [ ] q | query
- see timeline ops above
- see hashtag and channels above
- - d | download
- - u | upload
+ - [x] d | download
+ - [x] u | upload
- calls user-configured command to upload user's own feed file to their server
- Looks like a better CLI parser than "racket/cmdline":
- https://docs.racket-lang.org/natural-cli/
+ Looks like a better CLI parser than "racket/cmdline": https://docs.racket-lang.org/natural-cli/
+ But it is no longer necessary now that I've figured out how to chain (command-line ..) calls.
+- [ ] Suport immutable timelines
+ - store individual messages (possibly in something like DBM or SQLite)