getlantern / firetweet

FireTweet for Android powered by Lantern
272 stars 73 forks source link

Users without a twitter account cannot use firetweet if twitter is blocked for that country #53

Closed sunshine19090 closed 9 years ago

sunshine19090 commented 9 years ago
  1. User has only gmail account
  2. User will not be able to sign in so the user will use register button to create account. This shows a pop-up screen with the options of the app that could help create an account like Browser, Chrome and Firetweet. (I uninstalled twitter in my phone.)
  3. Choosing Firetweet just takes me back to Sign In screen.
  4. Choosing Chrome opens a browser window with twitter sign up page which wouldn't be useful for the users where twitter is blocked.
teamlantern commented 9 years ago

Great catch @sheena3! I guess we have to add our own account creation screen.

On Thu, Apr 23, 2015 at 9:22 AM, sheena3 notifications@github.com wrote:

  1. User has only gmail account
  2. User will not be able to sign in so the user will use register button to create account. This shows a pop-up screen with the options of the app that could help create an account like Browser, Chrome and Firetweet. (I uninstalled twitter in my phone.)
  3. Choosing Firetweet just takes me back to Sign In screen.
  4. Choosing Chrome opens a browser window with twitter sign up page which wouldn't be useful for the users where twitter is blocked.

— Reply to this email directly or view it on GitHub https://github.com/getlantern/firetweet/issues/53.

President Brave New Software Project, Inc. https://www.getlantern.org pgp A998 2B6E EF1C 373E 723F A813 045D A255 901A FD89

atavism commented 9 years ago

An update on this: I modified the sign-in screen, when you click on the Register button, instead of displaying a menu, to immediately present a WebView that loads https://twitter.com/signup now. Unfortunately, a dilemma I encountered: the HTTP proxy settings we set inside FireTweet, using ProxySelector, when the app first launches, are ignored. There's a workaround, however, I already mostly integrated, that uses some clever techniques to set the mProxyHost field in every URL request the WebView makes. We should probably split it off into its own library given its general usefulness. Here's an overview: https://stackoverflow.com/questions/4488338/webview-android-proxy (and the class based on it https://github.com/getlantern/firetweet/blob/master/twidere/src/main/java/org/mariotaku/twidere/proxy/ProxySettings.java). It's similar to https://github.com/abeluck/OnionKit/blob/master/libonionkit/src/info/guardianproject/onionkit/web/WebkitProxy.java -- this appears to successfully configure the WebView proxy settings for Android versions 3.0 and up. I've also been looking at the Android Proxy Project which takes advantage of these methods.

myleshorton commented 9 years ago

Sounds great @atavism!

On Fri, Apr 24, 2015 at 9:56 AM, atavism notifications@github.com wrote:

An update on this: I modified the sign-in screen, when you click on the Register button, instead of displaying a menu, to immediately present a WebView that loads https://twitter.com/signup now. Unfortunately, a dilemma I encountered: the HTTP proxy settings we set inside FireTweet, using ProxySelector https://developer.android.com/reference/java/net/ProxySelector.html, when the app first launches, are ignored. There's a workaround, however, I already mostly integrated, that uses some clever techniques to set the mProxyHost field in every URL request the WebView makes. We should probably split off into its own library given its general usefulness. Here's an overview: https://stackoverflow.com/questions/4488338/webview-android-proxy which is similar to https://github.com/abeluck/OnionKit/blob/master/libonionkit/src/info/guardianproject/onionkit/web/WebkitProxy.java https://github.com/abeluck/OnionKit/blob/master/libonionkit/src/info/guardianproject/onionk%20it/web/WebkitProxy.java -- this appears to successfully configure the WebView proxy settings for Android versions 3.0 and up. I've also been looking at the Android Proxy Project https://github.com/shouldit/android-proxy which takes advantage of these methods.

— Reply to this email directly or view it on GitHub https://github.com/getlantern/firetweet/issues/53#issuecomment-95991285.

President Brave New Software Project, Inc. https://www.getlantern.org pgp A998 2B6E EF1C 373E 723F A813 045D A255 901A FD89

atavism commented 9 years ago

OK, I fixed this over the weekend. When you click on Register, a WebView should always popup now, and then there's a Sign Up with Twitter option. WebView proxy settings are updated prior to this using the aforementioned method.

myleshorton commented 9 years ago

Very cool!

sunshine19090 commented 9 years ago

@atavism - I used a new gmail account to register in twitter. I am able to register but how can I make sure that it is going through a proxy connection?

Another problem is, after going through the account setup process, it is still in the webview and opens like an official twitter app instead of Firetweet. Screenshot attached.

If the user closes the app and reopens it again, then it goes to Firetweet. I still feel that it should directly take the user to FireTweet after the signup process.

screenshot_2015-04-27-23-12-59

sunshine19090 commented 9 years ago

Shall we remove the 3 icons that is displayed at the top right corner in the Sign In screen? I don't see anything useful for the user there. screenshot_2015-04-27-23-23-16