Commit Graph

264 Commits

Author SHA1 Message Date
Netscape Navigator 0fcc94d7c1 Update `normal.bundle` to account for stricter Lexer validations. 2020-04-03 04:41:03 -05:00
Netscape Navigator 4f33b42f63 Add correct length numbers to Lexer regexes for multihashes 2020-04-02 07:58:57 -05:00
Netscape Navigator 57a5630659 Test case: Parsing meessage with duplicate keys 2020-04-02 07:38:00 -05:00
Netscape Navigator 4b3905b676 Add test for Storage#find_all 2020-04-02 07:32:21 -05:00
Netscape Navigator 9feb3d9ffc Find `message find-all` in CLI 2020-04-02 07:24:43 -05:00
Netscape Navigator 82ed554aba Rename "ALPHANUMERICISH" to "B64LIKE". Fix tests. 2020-04-02 07:22:52 -05:00
Netscape Navigator 3c36f0efc2 Add ::Helpers.create_message(), Fix ALPHANUMERICISH regex (needed to allow hyphens) 2020-04-02 07:11:23 -05:00
Netscape Navigator 1c1caae42b update (failing) tests. Add better lex error messages 2020-04-01 08:25:27 -05:00
Netscape Navigator 94009bc725 Be more strict about strings. 2020-04-01 08:07:39 -05:00
Netscape Navigator e79e0aedf3 Never save same message twice 2020-04-01 07:38:32 -05:00
Netscape Navigator e84ee564e7 Comment / debugger cleanup 2020-04-01 07:33:52 -05:00
Netscape Navigator 1348433d2f Whoops, ingestion actually does *not* work. Maybe the `.chomp` in #render is tainting signatures? 2020-03-31 07:46:11 -05:00
Netscape Navigator 75a4492acf Test case: bundle ingestion 2020-03-31 07:32:29 -05:00
Netscape Navigator 191a73c419 🎉🎉🎉 Bundle ingestion works!! 2020-03-31 07:09:42 -05:00
Netscape Navigator 56781696b2 TODO: Fix spec/pigeon/parser_spec.rb:12 before proceeding 2020-03-30 08:59:30 -05:00
Netscape Navigator 3a03d1b589 Set `prev` to Pigeon::EMPTY_MESSAGE rather than `nil` 2020-03-30 08:51:05 -05:00
Netscape Navigator b5089bb905 Fix numerous indexing and type errors. TODO: Fix verification errors.
* Stricter "type checking"
 * Better error messages
 * Safer signature computation
 * Easier PStore debugging
2020-03-29 11:51:57 -05:00
Netscape Navigator d2e9159c74 Fix careless typos with ::Storage index names. 2020-03-28 20:45:06 -05:00
Netscape Navigator 73f653af31 👏 Verify ingested message 2020-03-27 07:48:17 -05:00
Netscape Navigator 17d863eb22 Add ::Helpers module 2020-03-27 07:07:48 -05:00
Netscape Navigator 3226b1515c WIP. TODO: RemoteIdentity#verify 2020-03-26 09:00:17 -05:00
Netscape Navigator 2805bdf78c Fix a bunch of bugs that came up only now that we are dealing with remote peers 2020-03-26 08:17:50 -05:00
Netscape Navigator 8d2a721d84 Continue Pigeon::Parser. ::Message.ingest() will be required though. Everything is stubbed out, just need to get tests to pass. 2020-03-24 08:12:35 -05:00
Netscape Navigator db33acdf36 Begin Pigeon::Parser 2020-03-24 08:00:00 -05:00
Netscape Navigator f3373863a6 Rename KeyPair to LocalIdentity to disambiguate (were dealing with peers now). 2020-03-24 07:39:32 -05:00
Netscape Navigator 8d9deb90af Finish tests for Pigeon::Lexer 💯 ✔️ 2020-03-23 08:56:04 -05:00
Netscape Navigator 3982406014 More tests for Lexer. NEXT: Fix coverage elsewhere, write parser 2020-03-23 08:39:35 -05:00
Netscape Navigator d10d9bbadc Bug fix: Lexer hangs on single entry bundles. 2020-03-23 08:39:00 -05:00
Netscape Navigator 33cf84fa7b Dont reuse :TERMINATOR tokens. Add tests for bundle consumption. Found bug when consuming single message (?) 2020-03-20 09:01:02 -05:00
Netscape Navigator d8ec5867c0 Lexer works. TODO: Write a parser. 2020-03-19 22:23:36 -05:00
Netscape Navigator fb0fdbfdb1 Lexer is almost complete. Last piece: Tokenize the footer. 2020-03-18 08:18:57 -05:00
Netscape Navigator 0a907cb086 Move Pigeon::Lexer into its own module 2020-03-18 07:32:40 -05:00
Netscape Navigator decc2f83a0 (FAILING) Finish all the regexes required for a bundle lexer 2020-03-17 08:40:09 -05:00
Netscape Navigator f94200750b Add example bundle 2020-03-16 08:07:03 -05:00
Netscape Navigator 4b87a58b0e Add `message find` and `message find-all` (local user only - find-all for peers 🔜) 2020-03-15 13:51:20 -05:00
Netscape Navigator f296a71890 Formatting updates 2020-03-15 13:12:26 -05:00
Netscape Navigator 46e1a659f6 Constantize literals for portability and DRYness 2020-03-15 12:50:57 -05:00
Netscape Navigator 589e3d9d6a Fix CLI. Add trailing CR to bundles 2020-03-15 12:32:41 -05:00
Netscape Navigator 19a9b5b627 JSON-ify key / value pairs if they arent strings 2020-03-15 12:12:48 -05:00
Netscape Navigator 31daf90cdc We have BUNDLE CREATION 🎉 🎉 🎉 2020-03-15 11:51:13 -05:00
Netscape Navigator 34e81f859a TODO: pigeon bundle create 2020-03-13 22:41:31 -05:00
Netscape Navigator a6b46699e4 Update Storage.reset logic 2020-03-13 22:40:15 -05:00
Netscape Navigator 3da232ba79 Bug fix: Dont destroy entire DB when loading app 2020-03-13 22:34:29 -05:00
Netscape Navigator 05480b03e5 Convert "message..." commands to "draft..." commands 2020-03-13 22:17:56 -05:00
Netscape Navigator afa160c2d2 Convert `".sig.ed25519"` literals to constants. Update README. 2020-03-13 22:09:31 -05:00
Netscape Navigator ef569d3fb4 Use multihash (instead of hex) for blob notation 2020-03-13 21:59:13 -05:00
Netscape Navigator 56518e55c8 Stability issues WIP.
What's Next?

 * Update the protocol spec and push to Tildegit
 * Cleanup fix scratchpad.sh (currently crashes because ::Draft.current is unexpectedlyy nil)
 * Fix failing test (going to make ::Draft.current crash maybe)
 * Make blobs URLSafe b64??
2020-03-13 08:08:46 -05:00
Netscape Navigator 3c9b653f7c Change Message.from_draft to Message.publish
This mmakes it more obvious that the method can only be
used on *your* messages rather than the messages of peers.
2020-03-13 07:42:44 -05:00
Netscape Navigator ff1c7cee00 test to verify message signatures 2020-03-13 07:39:44 -05:00
Netscape Navigator 18d82f30f7 TODO: Fix scratchpad.sh, write test to verify message signatures 2020-03-12 08:07:13 -05:00