diff --git a/docs/flow-diagram.png b/docs/flow-diagram.png new file mode 100644 index 0000000..17f5525 Binary files /dev/null and b/docs/flow-diagram.png differ diff --git a/docs/flow-diagram.svg b/docs/flow-diagram.svg new file mode 100644 index 0000000..6e3df50 --- /dev/null +++ b/docs/flow-diagram.svg @@ -0,0 +1,1266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Jan's Librem + Angela's Thinkpad + Jan sends path/file.png + Add route 192.168.1.156:4000/transfer/file.png + Create random token "X0fg356" + to 192.168.1.34:3401 + + POST + Send file transfer request + Show notification + + + + Teleport + + + + + + + + + + + + + + Jan's Librem is sending file.png (123kB) + + Save + Decline + + + Nothing happens + + Request ip:port/file.png + + GET + + Check if token matches + Send file in response to GET request + Send error response to GET request + + + + RESPONSE + file.png + Store file.png in ~/Downloads + Show notification + + + + Teleport + + + + + + + + + + + + + + Transfer of file.png from Jan's Librem is complete + Open + + Send file + + + Jan's Librem + Angela's Thinkpad + Jan opens app or enables discovery + Create new Avahi service + Setup & Discovery + 192.168.1.156:4000/transfer/file.pngtoken in HTTP header + service type: _http._tcpservice name: jan@teleportport: 4000ip: 192.168.1.156 + + FILE ACCESSIBLE + + DISCOVERABLE + Already connected + DISCOVERABLE + + angela@teleport + jan@teleport + Periodically by Avahi: + Scan local network for Teleport devices + + angela@teleport + Display newly discovered devices + + angela + + Send File + service type: _http._tcpservice name: angela@teleportport: 3401ip: 192.168.1.34 + If no requests are made within 1 min, remove route to file.png + { token: "X0fg356", size: 123404, (byte) name: "file.png"} + + Open HTTP server on 192.168.1.156:4000 + + ACCEPT REQUESTS + + DISCOVERS + + diff --git a/docs/mvp b/docs/mvp new file mode 100644 index 0000000..bdc0970 --- /dev/null +++ b/docs/mvp @@ -0,0 +1,17 @@ +scope for mvp + +features +- turn daemon on and off in headerbar +- click "send file" and select file in file chooser to send file +- notification on receiver side to confirm +- notification on receiver side when transfer is complete + +- avahi service publishing and discovery +- open and close http server +- download from url + + +not in scope +- popovers for settings and name +- displaying files in ui +- drag and drop to send