onionshare, ricochet and others require onion-grater (Control Port Filter Proxy) (cpfpy) to relay events back.
At the moment only "oneshot" Tor control protocol commands are supported by cpfpy. I.e. the application sends one command, cpfpy checks if it is on the whitelist, and if it is, relays the command to Tor's ControlPort, and relays back Tor's answer the the application.
What's missing is support for Tor control protocol events. I.e. asynchronous event notification. Setting up an event, and getting responses some time later.
Strictly for testing purposes only:
setevents streams