Tunneling an SPFX WebPart to BrowserStack using ngrok - sharepoint

I've tried this to no avail unfortunately, is there a way of tunneling a locally running version of an SPFX webpart in order to debug it through BrowserStack.
I can get it working directly with SP through the debug query string but it doesn't seem to work via an emulated device on BrowserStack.
https://tenant.sharepoint.com/sites/fakeSite?debug=true&noredir=true&debugManifestsFile=https://1a228f088633.ngrok.io/temp/manifests.js
Any help would be great, I am also aware this may not be possible :)

We debug locally hosted SPFx serves but we do not use ngrok. You have to be aware that there are limitations on which ports are usable as well, the default port 4321 will not work with browser stack. Hopefully that helps, an alternative to debug locally that works for us:
Ensure that Resolve all URLs through my network is enabled for your device
Update the serve.json port to 8888
In serve.json add "hostname": "bs-local.com",
Update c:\windows\system32\drivers\etc\hosts to include an entry: 127.0.0.1 bs-local.com
Then to test:
Navigate to https://bs-local.com:8888/ within the simulator and approve the certificate by proceeding to page
Append the updated hostname to the end of the SP url ?loadSPFX=true&debugManifestsFile=https://bs-local.com:8888/temp/manifests.js
Navigate to the BrowserStack website > select iPad Air (or any other device).
Additional Reference:
Why is my URL redirected to http://bs-local.com from http://localhost?

Related

Can I run a web server in a GitHub Codespace?

Part of my development process involves using Mocha and Chai tests. I have a page in my test folder that loads all the code and tests, and I can start up a local node script that runs a simple local server, visit that page on http://localhost:8080/blahblahblah.html, and see the test results.
GitHub recently announced Codespaces and I signed up for the beta. If I start developing in a Codespace, I know there's a terminal there. If I run my testing server in that Codespace, how would I see the test results? Is it even possible to connect to the server in the container from outside? What would replace the URL I show above?
Found the answer here:
https://docs.github.com/en/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace
It's actually pretty surprising. You just have your web server app print a localhost URL to the console, and the Codespace automatically converts that to a clickable URL with the appropriate port-forwarding. Kind of a huge surprise, but also pretty cool.
Just tested and this works.
When an application running inside a codespace outputs a port to the console, Codespaces detects the localhost URL pattern and automatically forwards those ports. You can click on the URL in the terminal to open it in a browser. For example, if an application outputs http://127.0.0.1:3000 or http://localhost:3000 to the console, the log would automatically convert the output to a clickable URL for port 3000.

Can we make IIS Localhost URL accessible by others?

I have published my website in IIS. The url is http://localhost/MyDemo. I want to give this url for testing to other people (anyone). How can I do that?
I tried to give sharing permission to "Everyone" in the Edit Permission.
Please help.
There are standard port forwarding tools that allow you to do this.
A helpful link here - https://www.sitepoint.com/accessing-localhost-from-anywhere/
Now ngRok is a tool I have used many a times. Its usage is pretty straightforward.
It can be downloaded from here - https://ngrok.com/download
Once ngRok is downloaded, you have to open the ngrok.exe, and it opens a console window.
Execute the following command
ngrok http 4983 -host-header="localhost:4983"
Here 4983 is a port number, in case you have one.
Once the command is executed the tool opens up a Url, which is accessible from anywhere. The below image is your Url, and it will be valid for a certain duration of time (if you are using the tool for free).

Testing Gmail Contextual Gadet

Are there any good ways to test a GMail contextual gadget? So far, I have embedded it inside of a Google Site (pointing to the same URL that my Gadget in the console points to)
Any suggestions?
if you mean to connect it with localhost and test. here it is,
you can connect your gadget with localhost and test.
you can use local tunneling for that.
check ngrok.com
for me its fine .
for windows , run 'ngrok portnumber'
eg: ngrok 8080 - no need of codes , it gives a link . which you can use instead of your localhost.

Is it true that ASP.NET MVC Browser link does not work for https (SSL) url?

I am trying the Browserlink feature of ASP.NET MVC 5 and everything works great for non SSL pages. But if I navigate to a SSL page (with https url), I see 0 connections in the Browser link dashboard. So, is it true that Browser link works only for non SSL urls ? Or am I am missing any settings which will allow me to get Browser Link connection for both SSL and Non SSL urls ?
(I am testing from IIS)
According to this link, Microsoft is working on it.
I have been able to get around the issue by following these steps (using Chrome):
When the debugger opens the browser, open the F12 tools.
Go to the Console tab.
There should be an error message that looks something like this: GET https://localhost:[port]/[guid]/browserLink net::ERR_INSECURE_RESPONSE
Open the link in a new tab.
Click Proceed anyway.
Close the Browser Link tab.
Reload the tab with your app.
Browser Link should then start working.
I've also worked around it by getting the script link, reducing it to the root, and browsing there. Once there, accept the cert warning then view the cert and install it into the trusted roots. From then on, the cert will be trusted and the script will load automatically.
It appears that this limitation has been removed in Visual Studio 2015. I do not see any mention of this in the release notes, but Browser Link is fully operational in my dev environment under SSL.
I was unable to get Browser Link, Web Essentials, to work with SSL, even with the mentioned remedies. I was able to find a way, however, to get it work for me.
I am running my app through IIS (not express) and my app was nested under the default website. When debugging the site I saw that Chrome was dumping a connection error with a URL using port 44399. Adding a binding for this port, for https, then allowed the connection to be successful. I also used a local development cert for the SSL Certificate.
DISCLAIMER: Visual Studio tries to be your buddy and not use ports that you've bound to in IIS so once you close and re-open Visual Studio it will likely not use the 44399 port anymore. It looks like it decrements until it finds the next available port. So assuming you're not using 44398 this will be your number. Once you unbind 44399, then close and re-open Visual Studio it will likely rebind to 44399 again.
Hopefully this helps some of you out.
I had a similar issue involving custom domains and subdomains on IIS Express over HTTPS.
(Using SSL certificate I self-signed with support for localhost and my custom domain, installed with self-signed root authority in the trusted certificate store)
I had got IISEx to use the certificate and serve it on port 443 (as admin user), but browserlink was failing with CONNECTION_RESET.
This persisted even after switching back to using localhost as the website url for IIS etc.
Turns out I had forgotten to replace the certificate associated with the other ports IIS Express uses (specifically port 44399), which were still associated with the default development certificate used by IIS Express
http://www.iis.net/learn/extensions/using-iis-express/handling-url-binding-failures-in-iis-express
http://benjii.me/2014/11/run-iis-express-on-port-443-using-ssl-and-wildcard-subdomains/
[Simple Guide but missing the delete existing certificate bindings guidance]
For Windows 10 IIS Express users.
In visual studio click "View in Browser" in Browser Link
Dashboard .
An IIS Express icon will appear in system tray.
Right Click the IIS Express icon.Your application should be listed in both HTTP and HTTPS.
Hope it helps.

Asp.Net publish on server does not some html controls

I have a web application which works fine when i publish and host it on my localhost ...
The same published folder i host to a remote server and a few controls go missing on load of the page .I log into remote desktop to the server and try opening the site on the server itself it works fine. But only when i access it from my local system some controls go missing .Is there something i am missing on the Browserused on the swerver as well as my local system is IE 8 .
Thanks & Regards,
Francis P.
You probably have some URLs with a hard-coded http://localhost/....
Change all of your absolute URLs to relative URLs.
Fiddler and Firebug will be very helpful to see which URLs are being requested.

Resources