Changes

→‎Scope: Hide tubes disabling behind flag
Line 25: Line 25:  
== Scope ==
 
== Scope ==
   −
# Sugar toolkit negotiates channels for the activity. It gives them a text and tubes channel. This is where the error happens, and must be changed to only give the activity a text channel. See https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/270
+
# Sugar toolkit negotiates channels for the activity. It gives them a text and tubes channel. This is where the error happens, and must be changed to only give the activity a text channel. However, since OLPC OS still supports tubes, this should be behind a flag.  (namely, the gsetting org.sugarlabs.collaboration.tubes-supported).  See https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/282 (and the required https://github.com/sugarlabs/sugar/pull/644)
 
# Activities that depend on tubes now don't work. Hypothetically, they could be ported to use DBusTube and StreamTube channels. However, that is very hard and generally a massive pain, given that most activities have about 150 lines of slightly varying boilerplate tube negotiation. This can be replaced with a high level abstraction, so that the activity only deals with what data to send, rather than how to send that data. See https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/272
 
# Activities that depend on tubes now don't work. Hypothetically, they could be ported to use DBusTube and StreamTube channels. However, that is very hard and generally a massive pain, given that most activities have about 150 lines of slightly varying boilerplate tube negotiation. This can be replaced with a high level abstraction, so that the activity only deals with what data to send, rather than how to send that data. See https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/272
 
# However, some activities need to send large blobs to single buddies (eg. a new buddy joins read, needs a copy of the file). This is not suited to a json encoded message. However, we can use FileTransfer tubes (see the patch above). However, the shell currently claims all file transfers, so we need to have a special identifier for the shell to know to disregard these, see https://github.com/sugarlabs/sugar/pull/621
 
# However, some activities need to send large blobs to single buddies (eg. a new buddy joins read, needs a copy of the file). This is not suited to a json encoded message. However, we can use FileTransfer tubes (see the patch above). However, the shell currently claims all file transfers, so we need to have a special identifier for the shell to know to disregard these, see https://github.com/sugarlabs/sugar/pull/621