From 303af8936333ceb388a787ae5e5fbf869c4050b0 Mon Sep 17 00:00:00 2001
From: meejah <meejah@meejah.ca>
Date: Tue, 10 Jan 2023 14:20:12 -0700
Subject: [PATCH] add words about version-negotiation

---
 Overall Plan.rst | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/Overall Plan.rst b/Overall Plan.rst
index 9f1c88b..4da9204 100644
--- a/Overall Plan.rst	
+++ b/Overall Plan.rst	
@@ -98,3 +98,16 @@
       #. Set the application up to accept `ps-pair:` URLs
       #. Parse the code out of such an URL (instead of user typing it in)
       #. Hard-code all other parameters (AppID, wormhole mailbox address, version, ..)
+
+   #. Extend the Android app to reject improper version negotiation
+
+      The deliverable is after the "support receiving a read-cap" milestone.
+      The magic-wormhole protocol understands the "app-versions" negotiation properly.
+
+      #. Fix the Haskell magic-wormhole library to understand "app-versions" (currently it "parses" them but throws them away / ignores it).
+      #. Fix the pairing protocol to ask for proper "app-versions" from ^
+      #. Fix the pairing protocol to send proper "app-versions" to the peer
+      #. Fail on incorrect or incompatible "app-versions"
+
+      Note that this is "very nice to have" for proper interoperability, but not strictly necessary for a first release.
+      Risk: before this is implemented, any subsequent release of anything in the stack that speaks a newer pairing protocol may break this application.
-- 
GitLab