Closed jayrbolton closed 7 years ago
Would also like to post dat-pki up on dat irc soon to maybe get some feedback and code reviews, maybe after a few more things have been implemented
What's a tag in this case? Is that a group?
Looks great, happy to help with the unit tests that just use in-memory replication. You can take two archives and replicate them to eachother directly in order to simulate the network connection. For example,
var stream = archive.replicate()
stream.pipe(archive2.replicate()).pipe(stream)
Example can be seen in the hyperdrive tests: https://github.com/mafintosh/hyperdrive/blob/master/test/basic.js#L50
So I was kinda saving the term "groups" for multi-writer dats, where we could create a permissions system that can grant/revoke write access to a dat. There would also be considerations for administrating the group dat itself (a dat containing metadata for a group). The tag thing we could implement in the shorter term as a quick way to share a dat (give read access) to many users in one function call.
But now I'm thinking I don't need to separate it into "tags," and group read access could actually be part of the same thing as a multi-writing system
Some basic cases are:
Also, for "device networking", I was thinking it could be easy to have the user create a separate account on each device (separate keypair), do a handshake similar to adding a contact to authorize the "device pairing", and then all dats created on one device automatically become downloadable from the other device.
I'll give the memory streaming thing a shot soon
This adds a bunch of functionality around sharing a dat privately with one or more contacts and also listing dats that have been shared with you from your contacts. I really need to update the readme :yum:
The integration-style tests are getting unwieldy and repetitive. I was thinking of combining all those type of tests into one single big integration test and then adding smaller, separated unit tests. @karissa I could use your help to do dat unit tests sometime without all my process forking stuff
next things: