Sneak Peek - Join on Firefox And Edge Browsers
Added 2020-05-29 16:51:37 +0000 UTCOk, so I thought I'd go ahead and really try to make this a reality. Hopefully it works better this time :)
This doesn't require you to use extensions at all, just a plain old browser. Hopefully it works.
To try out Join on Firefox and Edge:
- Install this version of the Join Android app: https://drive.google.com/file/d/18V276YwSlfc3voV1s-SUxdCfoP9fCerp/view?usp=sharing
- In it open Settings -> Pushes -> click Open Links Automatically 8 times
- You'll be switched to the test server
- On your PC open a browser (firefox, chrome or Edge) on https://testsjoaomgcd.appspot.com/
- After it loads it should ask you if you want to register your browser as a device
- Try to send messages to it from your phone!
Many features are still missing from this version, but I wanted to make something available as an early preview :)
Let me know how it works!
Comments
I tried once again today to log into test website and I finally succeeded after I disabled Privacy Badger extension. Testing the rest of the new integration with Firefox right now. Thanks!
Michał Ciepły
2020-06-13 20:15:22 +0000 UTCI've only been able to test edge on Windows and that seems to be able to receive pushes very reliably every time when not open... Maybe it's something specific to edge on mac? Can you please check which version of edge you're using?
João Dias
2020-06-04 08:24:44 +0000 UTCSo this could be flaky Service Worker implementation in Edge, though searching around I did not find much complaining about this. The Messages web interface (messages.google.com), which I believe uses Service Worker, has been quite stable for me in Edge for a long time. Though Messages does not attempt to display incoming messages unless the tab is open, even in Chrome.
Steven Ihde
2020-06-03 19:58:35 +0000 UTCAlright. I tested some more with both Chrome and Firefox. Chrome and FF are both quite a bit more reliable. They seem to be able to receive Join pushes even with the tab closed (as long as the browser is running). The Edge behavior is a bit difficult to quantify. It mostly receives pushes when the tab is open, though in some cases it will work at first and then stop. Just as I was typing this, I saw a test push come in several minutes after I sent it, so there's that too. It doesn't work at all when the tab is closed, save for perhaps once when it delivered an old push upon waking from suspend.
Steven Ihde
2020-06-03 19:56:58 +0000 UTCThank you. Are you at all able to try out Chrome and see if it has the same issues? For me it has been working ok even with the tabs closed... :/
João Dias
2020-06-03 09:56:13 +0000 UTCI tinkered a bit but still not sure what's going on. Looking in dev tools, the Service Worker is there and registered and "active". I can receive a push from the phone, the notification shows. Then close the Join tab on the browser, do another push, and nothing happens. After closing the tab the dev tools show it is "active and stopped" (which I think is normal) but it still doesn't seem to receive the push. Happy to help with any further debugging, just let me know what would be useful.
Steven Ihde
2020-06-02 17:09:17 +0000 UTCHm. Well it seems the Service Worker is doing something... I was testing before going out on a ride and nothing seemed to be working. I closed the Join tab and came back about two hours later. First thing that happened when I opened the lid was one of the pushes from before came through (and no Join tab was open). If I can find any local logs of the Service Worker I will dig through them for any interesting bits.
Steven Ihde
2020-06-02 16:26:45 +0000 UTCVery strange. The Service Worker should deliver notifications as long as the browser is not closed... :( I see I need to check again.
João Dias
2020-06-02 13:29:18 +0000 UTCNo, the notifications only come in if the tab is open; I tested that when I first tried. Not sure about close/reopen... I'll test that later today since it's not working after suspend again.
Steven Ihde
2020-06-02 13:16:44 +0000 UTCHhmm, interesting. Does it also happen if you close and then open it again right away? Also, are you getting notifications if you close the Join tab but keep your browser open?
João Dias
2020-06-02 09:18:53 +0000 UTCA little better, but still doesn't quite work. When I hit OK to accept the certificate, a new tab pops up for "https://192.168.217.242:2829/acceptcertificate" (2828 is the configured port; 2829 is configured + 1 as you explained). The tab gives a "connection reset" error. Investigating with curl, I see the following. I tried the same curl command from a different computer (running Linux) on the same network, and saw essentially the same result. $ curl -k -v https://192.168.217.242:2829/acceptcertificate * Trying 192.168.217.242... * TCP_NODELAY set * Connected to 192.168.217.242 (192.168.217.242) port 2829 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem CApath: none * TLSv1.2 (OUT), TLS handshake, Client hello (1): * LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 192.168.217.242:2829 * Closing connection 0 curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 192.168.217.242:2829
Steven Ihde
2020-06-01 15:05:57 +0000 UTCYes, by "suspend" I mean it goes to sleep (close the MacBook lid). Then a couple hours later I open it back up. All other tabs that were open before suspend (e.g. webmail) continue to work fine, but Join seems to lose its connection.
Steven Ihde
2020-06-01 14:59:56 +0000 UTCOk, I think I fixed the https issue! Can you please try this version? https://drive.google.com/file/d/18V276YwSlfc3voV1s-SUxdCfoP9fCerp/view?usp=sharing
João Dias
2020-06-01 11:52:21 +0000 UTCHhmm, I'm using Firefox 77. I wonder if that has anything to do with it. Could you maybe give that a try if you get a chance?
João Dias
2020-06-01 10:23:49 +0000 UTCIt does not work correctly in private mode either. After signing in I am ending with blank page and it does not offer me the possibility to register the browser as a device. I already tried it in private mode without any extensions and with Enhanced Tracking Protection disabled but the result is the same.
Michał Ciepły
2020-06-01 10:18:29 +0000 UTCThe fact that it works in private mode (where no extensions are used, right?) seems to indicate that some of those might be interfering.. Can you maybe try disabling them temporarily and see if it works then?
João Dias
2020-06-01 10:15:24 +0000 UTCI am using Firefox 76.0.1. I do not disable cookies for websites. From security oriented add-ons that might interfere with cookies I have: - DuckDuckGo Privacy Essentials - HTTPS Everywhere - Privacy Badger - uBlock Origin I have Enhanced Tracking Protection from Firefox enabled and set to Standard mode
Michał Ciepły
2020-06-01 09:18:28 +0000 UTCYeah, that web browser doesn't have push history implemented yet :) By "suspend" do you mean putting your PC to sleep and then re-launching it again? The next time can you try closing your browser altogether and then re-opening the page and see if that makes it work? Thanks!
João Dias
2020-06-01 08:42:53 +0000 UTCHi! Thanks for testing :) Did you maybe disable cookies for the website? Also, what Firefox version are you using?
João Dias
2020-06-01 08:41:20 +0000 UTCI have no luck with signing in on https://testsjoaomgcd.appspot.com/ using Firefox. I click on 'Google Sign In', I am logged into my Google account so I am redirected to 'Choose an account' page, I am selecting my account and I am redirected back to https://testsjoaomgcd.appspot.com/. And after some time loading I am presented with the same 'Google Sign In' button. I've tried to do the same in Private Mode and I succeed with sign in process but there is a blank page after redirect (in header there is my Google account picture and I can click on it and switch accounts). In developers console I only see one generic error 'uncaught exception: Object' (after log message 'Done loading APIs!') Is that something specific to my account or my browser configuration?
Michał Ciepły
2020-06-01 08:05:37 +0000 UTCThanks for working on this! Can't wait to see it!
Steven Ihde
2020-06-01 00:10:57 +0000 UTCWhen waking up after (a long) suspend, the Join browser tab seems unable to receive pushes from Android. Even after pushing successfully in the other direction (Edge->Pixel), a Pixel->Edge push produces no result. Refreshing the Join page doesn't seem to help. Also tried closing the tab and opening a new one. This happened yesterday too and it did eventually start working, but not sure what made it work. Will keep an eye on it. This is Edge on Mac. Also, on Android Join app "Devices" section, the Edge->Pixel pushes show up under "This Device". But the Pixel->Edge pushes do not show up at all under the Edge device; neither the successful nor the failed pushes. The list is empty. The web app has no list of pushes but I assume that's just not implemented yet.
Steven Ihde
2020-06-01 00:10:46 +0000 UTCCool! :D
João Dias
2020-05-29 18:42:10 +0000 UTCAhh yah that's by design. Just to make it quick I made the https port be the http one plus 1. So that part seems to be working... Not sure why that port isn't working though... It worked on all my tests... :/
João Dias
2020-05-29 18:41:37 +0000 UTCBy the way, I also tried setting an explicit port number for local network access. The notification about "Local Access Port Error" went away. However, the port still seems to speak HTTP, not HTTPS. I also found that when trying to enable local network on the browser side, the browser goes to the wrong port number now! It's off by one. For example, I set the port in the Android app to 2828. On the browser, it prompts me to enable local access. When I hit "OK", it sends me to https://192.168.217.242:2829/acceptcertificate where the port number is off by 1. This of course produces a "connection refused" error in the browser, as opposed to the previous behavior of spinning waiting for a response.
Steven Ihde
2020-05-29 18:11:45 +0000 UTCYep! Working great now!
Brayden Houston
2020-05-29 17:58:57 +0000 UTCNice! So now it's working?
João Dias
2020-05-29 17:57:35 +0000 UTCAfter disabling "Local Network Access" on the Join side, I am able to push from Edge to Join.
Steven Ihde
2020-05-29 17:47:02 +0000 UTCReinstalled the app from the link in the post above. Nothing seems to have changed. "Local Access Port Error: Couldn't use port 1 for local network access. Used 41997 instead. Please configure a different port number in the app's settings." Browser spins when trying to accept the certificate. Using "curl" shows that the port is speaking HTTP, not HTTPS, although the browser is going to HTTPS. $ curl http://192.168.217.242:41997 {"errorMessage":"Unauthenticated access is disabled. Must provide token.","success":false,"userAuthError":true}
Steven Ihde
2020-05-29 17:44:16 +0000 UTC76.0.1 I did a restart of Firefox and got the prompt and registration this time! Not sure where the previous FF entry came from but I think it was in a bad state. Didn't have a device ID or anything.
Brayden Houston
2020-05-29 17:39:35 +0000 UTCWhat version of Firefox are you running?
João Dias
2020-05-29 17:38:15 +0000 UTCOh darn... I fixed precisely what you were describing on that version... Seems like I didn't fix enough :P will have to check again on Monday. Thanks for testing!
João Dias
2020-05-29 17:37:46 +0000 UTCYes, installed the app from the Drive link and switched to the test server.
Steven Ihde
2020-05-29 17:36:49 +0000 UTCMake sure to install the latest version I linked to :) that should fix that issue I think
João Dias
2020-05-29 17:36:43 +0000 UTCYes Edge seems to be receiving unencrypted pushes OK.
Steven Ihde
2020-05-29 17:36:11 +0000 UTCWhen trying to enable "local network" access to Join, the browser page hangs. Investigating with curl it seems the Android app is listening on plain HTTP, but the browser is trying to go to an HTTPS url.
Steven Ihde
2020-05-29 17:35:34 +0000 UTCHmm did you install the Android version linked in the op?
João Dias
2020-05-29 17:35:19 +0000 UTCChromium seems to work without any issues. Got the naming prompt and can send messages to and from my phone to Chromium and a service worker is created.
Brayden Houston
2020-05-29 17:35:12 +0000 UTCNote to Self works OK... pushing a web page works OK too. Pushing in the other direction does not seem to work. I'm getting "Local Access Port Error" messages in a Join notification on the phone.
Steven Ihde
2020-05-29 17:33:55 +0000 UTCYeah, encryption is not done yet... So you can push to edge correctly?
João Dias
2020-05-29 17:33:10 +0000 UTCGreat! I just tested with Microsoft Edge for Mac. I had to disable encryption because I don't see an option to set the encryption key in the browser UI.
Steven Ihde
2020-05-29 17:31:54 +0000 UTCHmm do you happen to have chrome to test it out?
João Dias
2020-05-29 17:30:56 +0000 UTCYes. Checked for both.
Brayden Houston
2020-05-29 17:30:35 +0000 UTCReally? That's weird... It has to be for the test web site. Did you check that? Not the regular join website
João Dias
2020-05-29 17:29:09 +0000 UTCMaybe that's part of the problem? There doesn't seem to be a service worker for the Join website.
Brayden Houston
2020-05-29 17:24:00 +0000 UTCCan you please try going to about:debugging in Firefox, then Your Firefox and then try deleting the website service worker and then refresh the page and see if that helps
João Dias
2020-05-29 17:18:26 +0000 UTCI did test but nothing made it through from phone to browser. Happy to run any test you need me to though to help!
Brayden Houston
2020-05-29 17:15:46 +0000 UTCThanks for testing! Were you able to push from phone to Browser?
João Dias
2020-05-29 17:14:10 +0000 UTCI didn't get a naming prompt on first launch but renaming works. Basic pushes from Firefox to my phone seem to be working! Side note how would one switch back from the test server to prod? All my devices seem to be missing on the test server 🙃 EDIT: Nevermind just hit the button 8 times again to change back to prod server whoops 😉
Brayden Houston
2020-05-29 17:08:01 +0000 UTCFor now I'm on brave :) but happy for others !
Mat
2020-05-29 17:02:40 +0000 UTCYessss! Testing now...
Brayden Houston
2020-05-29 16:53:50 +0000 UTC