-
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement file sending #15
Comments
maybe, in a future version, we could integrate with cobox to handle everything filesharing https://github.com/coboxcoop :o |
If I may suggest an architecture: consider a cabal message type,
This type works like a normal chat message, but is annotated to link to a hyperdrive that contains the file. In this way, the feed does not contain the file itself so that clients must opt-in to media storage, and the message may link to a drive containing many files. This allows messages that contain file links to be indexed by the client without opting in to media storage, and gives enough evidence that clients can produce previews based on the file's content type. As a usage example: an application might use cabal-client to optimistically download gifs, jpegs, and other image types in order to create previews, or a linked HTML file might be parsed for its Imagine this API:
Multiple hyperdrives can be managed using a hyperdrive-daemon-client which connects to a hyperdrive-daemon which actually peers the hyperdrives. Alternatively, cabal-client can manage its own hyperdrives using an API like multifeed or multi-hyperdrive as hyperdrive-daemon-client currently only supports a subset of hyperdrive methods. |
@garbados I agree that opt-in is the easiest way to implement this (auto-seeding has big questions around it), and offloading the work to an existing p2p file sharing system like hyperdrive makes sense. This approach is also nice because, by being opt-in, it sidesteps abuse vectors, since you can't make other peers perform big downloads or join other swarms. I imagine cabal-client managing a set of hyperdrive swarms and files within them: some to seed, others to just download and then leave. Here are my thoughts on what a blob API for clients could look like:
|
recently i've also become more interested in the possibility of ephemeral file exchange (i.e. not having any memory of who sent what) (p.s. great posts nettle & garbados!! :3) |
@cblgh definitely both useful!! |
Support uploading display jpeg、png、mp4、ogg、not generate URL link |
see cabal-client-files for @nikolaiwarner initial implementation
images
mostly ux ideas
The text was updated successfully, but these errors were encountered: