I have set up https://share.diasporafoundation.org/ but in order to make the application “good enough” for us to host, I… basically had to rewrite everything. Here is an excerpt of an mail I just sent to fdavidcl:
I am writing you as one of the core developers at the diaspora* project. Recently, someone opened an issue inside the Firefox project to include diaspora* as an option inside the “Share” panel in Firefox. Originally, we thought it would be possible to just embed your application, but there have been issues with the trustworthiness since your GitHub Pages hosting is clearly not an “official asset”. In a Loomio discussion, we decided to host a copy of your application at share.diasporafoundation.org and get that included in Firefox.
During that, I realized that besides the… interesting (:)) coding style, there were a lot of other issues to fix, including, but not limited to:
- Originally, your code was Public Domain. While this is awesome, PD code causes legal issues in some parts of the world. I took the freedom to license your historic code and all of my rewrites under the AGPL to match diaspora*s license.
- The Share Panel inside Firefox acts like an App Tab. That causes any external links to get opened in a new tab rather than in the current context, so the share links would open outside of the Share Panel, completely destroying the app. I fixed that by literally throwing away all of your logic and replacing it with action links calling a function to set window.location, since that will not get processed as a link inside Firefox.
- Link shortening only works when the users check the checkbox after they have pasted the link. You should improve that implementation… However, I removed it for our implementation since calling an external service without providing Terms of Service and Privacy Terms is a no-no.
- The same goes with loading the list of pods from an external service. I removed the autocompletion for that matter and replaced the top-pod-list by an generated list from the-federation.info.
- The layout did not really adapt to various screen sizes and did not use the space inside the Firefox Share panel efficiently. I fixed that by completely rewriting the Frontend using Bootstrap, also getting rid of the ugly inline CSS.
Because of the points I mentioned above, I replaced almost everything of the code once written by you. Given the fact I introduced non-backwards compatible changes to the storage engine, removed features and changed the license, I decided to push a copied version to our GitHub org, not to fork it. You can find the code at diaspora/sharetodiaspora.
As you were inactive in your repo for a long time, I decided to not get in touch with you since I was not really able to (I was not able to find you on diaspora* and you do not have a Loomio account ;)). Unfortunately, you did start to refactor your own code. My changes still merge perfectly into your master, so you should be able to use the code if you want to.