Microsoft Edge F12 and Microsoft Edge Dev Tools Preview crashes - excel

The Microsoft Edge F12 tool and the Microsoft Edge Dev Tool Preview app crash on opening. This problem does not occur on same website using new Microsoft Edge Chromium version.
I am writing this question with the intent on self answering it, after 7 lost hours of debugging
I am developing an Excel Add-in using the new Microsoft Edge WebView for office-addins, which just rolled out, and replaces IE11 as the embedded IFrame in Excel with Edge (see https://developer.microsoft.com/en-us/office/blogs/microsoft-edge-webview-for-office-add-ins/). After this last month roll out, the problem presented.
The crash is predictable, occurs after 5 seconds after activating the tool. It occurs when using F12 tools in Edge browser, and when using the standalone Dev Tools Preview to remote connect to the Edge browser running in MS Excel.
(I won't put app event logs because I have already solved it)

This is a Microsoft bug, not a coding bug.
It always occurs when using Typescript and defining a multidimensional array with only one element, and only in an async function
async myFunc(){
let x:number[][] = [[9]]; //Edge F12 tool will crash simply by having this line
}
The problem does not occur in non async functions, and does not occur if the variable is defined as a class member. It does not occur if more than one element is defined. Workaround is to define the variable as private class member
public x:number[][] = [[9]]; //ok as member variable
let x:number[][] = [[9,2]]; //ok - even in async function
For those reading this who rightly ask "why would you want to define a multidimensional array with only 1 element". It is because MS Excel is a 2D array, and to set the value of cells the Excel API expects two dimensional arrays Excel.Range.values[][] =any[][]. So if you want to set the value of only one cell, you must supply a multidimensional array with only one value.
NB. I have not raised the bug with Microsoft as they are no longer supporting the Microsoft Edge Dev Tools preview, instead focusing on rolling out the Edge Chromium version, thus deprecating these tools. The problem does not occur in the Edge Chromium developer release, but I have no idea when Edge Chromium will be rolled out as the embedded browser in Excel (we only just left IE11 behind last month)

#JimbobTheSailor
Thank you for taking the time to report the issue and also coming back to provide the possible cause of the issue.
I know you have already spent a bunch of time on this issue, but I was hoping you could provide an example code file, or even npm package, that will cause the issue? I went and added your code and attempted to reproduce the issue, but I could not. GitHub Repo! By providing the entire package, or example, I can also see the different versions of TypeScript and other dependencies. You could also just list them here as well.🙃
If possible, and don't mind grabbing it, could you provide the version of Windows you are using? START | RUN | WINVER . Also, the version of the DevTools Preview? Example:
C:\Program Files\WindowsApps\Microsoft.MicrosoftEdgeDevToolsPreview_18.924.1.0_x64__8wekyb3d8bbwe
To run my sample all you have to do is:
npm install
npm run build:dev
npm start
...or the yarn equivalent.
This will build, sideload the app, and boot Excel. 🙃

Related

How to fix a broken MS Office (Project) Library reference?

One day while happily working away in MS Project I noticed that one of my custom formula fields did not work anymore. When I went to check the formula, it was gone (the formula, not the custom field). So, I went to go copy it from one of my other project files that uses the same formula. It was gone from there as well.
Strange. I asked a colleague if they could download the exact same file I was looking at and see the formula in the custom field. They did, and they could! Then we asked more colleagues to download the same file. Some could see the formula, and some could not.
When trying to manually add the formula back in, I get the following error for any of the ProjDateXX functions:
When clicking OK, it highlights the date parameter "12d". For those who have this problem, it is the same for all ProjDateXX functions (date parameter isn't recognized).
So far, I have uninstalled and reinstalled MS Project, then MS Office and MS Project. Nothing fixes this.
The only clue I have to go on now is that the MS Project Library appears to be registered incorrectly, as seen here:
The only other possible clue my colleagues and I have are that those of us who have the problem recently received Project Online P3 licenses in addition to the existing Project Professional licenses we already had. Why this would cause only one set of functions to stop working, or why that might cause the Project Object library reference to be missing the version number, are mysteries.
We are stumped and have no leads at this point. These functions are critical to our project analysis for some major customers; any help would be greatly appreciated.

Android Studio: StringBuilder content not shown in preview of debugger

I'm implementing an app, which uses (kotlin.text.)StringBuilder instances at various points. Since today, I have to double-click the variable name and, after that, double-click 'value' to see the content shown as one character per line (next to 'value', it also says e.g. char[20]). Until yesterday, I was able to see their contents in the variables view of the debugger right after double-clicking the variable name and - what is even more important - in one single string line. I have to compare the content of several instances and therefore cannot work efficiently with this view.
Is there some kind of setting, which needs to be reset? Has anyone else experienced this? Is this an intended behavior or am I the only one having this bug/behavior?
After getting this, I already tried restarting android studio, as well as upgrading all components to the latest version. I also tried creating an entirely new project with only one StringBuilder to rule out any problems in my current project - but, no luck so far.
Any hint would be much appreciated!
You need to add a .toString() call to your string builder to get the value of the string.
I finally figured out the solution to the problem. It was indeed a setting I had to reset. As I did not actively change it, this solution might be useful to others, too.
Via 'Setting > Build, Execution, Deployment > Debugger > Data Views > Java', I found the option 'Enable 'toString()' object view:'. After selecting this option, everything worked again as before.
Thanks to everyone, who tried to figure out the solution!

What is the correct way of using the xcdatamodels parameters in the apportable config file? I believe this is for using Core Data

Maybe I didn't set the correct APPORTABLE config parameters when using CoreData. I can ADD,EDIT,DELETE and List down the current records when the app is running. But when I remove it from the current running apps and tried to Open my app again all of the data are gone. Maybe setting the correct parameter would eliminate this bug I am encountering right now?
You shouldn't have to set the xcdatamodel list in the configuration.json unless you have a special apportable-specific xcdatamodel. the model should now automatically be compiled and put into the app bundle. in fact, if you were using our coredata before this change, i recommend undoing everything you have done in order to get it to work. it should just work.
as for your issue, would you mind creating a test case and then emailing it to sdk # apportable.com? it's tough to debug without a reduced test case that demonstrates the bug.
update: we didn't have hasChanges properly implemented in NSManagedObjectContext. We've implemented it better, and now the test project works. Look for it the next version of the SDK (could be a few days to a week for that), and let me know if you still have trouble.

Barcode scanner stops on Motorola MC 75A

I have a multi-form Windows mobile application that accesses the barcode scanner of the MC75 using the EMDK (version 2.6). I access the barcode scanner using a Singleton. When the application starts I call barcodereader.Actions.Enable() and when the application exits I call `barcodereader.Actions.Disable()'. Basically I've used the EMDK samples as a guide to get the scanner working.
While the application is running I add the event handler to the barcode reader `readNotify' on the form activation event and remove the event handler when the form activates. I have put code in to check that this is happening correctly and added a check to ensure no existing event handlers are present before a new one is added.
The application works fine but for some reason the barcode scanner suddenly cuts out and will not work when the trigger button is pressed. This always seems to happen in the same place (after around 20 odd scans spread across the three forms). No error is caught and the scanner light fails to come on. I have a set number of scans to do and the scanning stops on a form where I've done a successful scan seconds earlier. I can do more than 20 scans on a single form but I only seem to get the issue when doing scanning on different forms.
If I restart the application the scanner works again. The datawedge software is installed but is not used.
I have seen this issue during my research here, but my issue does not seem to be intermittent.
I saw a note on the Symbol support site stating it was not desirable to repeatedly call `.Actions.Enable' and '.Actions.Disable' when moving between forms and I don't do this.
I'm at a loss as to what to check in the application. Any ideas?
Details - using Windows Visual Studio 2008, device is running Windows Mobile 6.5 Professional, EMDK version 2.6, application written in C#.
I had this exact same issue on an MC70 device. Unfortunately it was at a previous employer so I no longer have the source code to look back on. I do remember having to create a somewhat ugly workaround to get it working.
I know that I ended up declaring/instantiating the barcodereader object inside of the parent form (so no need for the singleton class). Then every time I instantiated a child form, I passed either the parent form object or the barcodereader object BY REFERENCE into the child form. Then I was able to access it from the child form repeatedly without it crashing/locking up. I know that is a pretty vague description, but it's been a couple of years since I worked on that code. Hope this helps.
I knew this problem years ago!. The solution to that is: DON'T disable the barcode reader when doing form navigation (Keep it always Active ). It works perfectly for me (I did MC9062 6 years ago and now MC75A device). Just put some logic to tell your program to handle scanned data differently under different form.
Yes, it is important to use reader object as "Singleton".

Frames issue in Watir2.0.1? (with DevKit installed!)

I posted a few threads the other day on the Watir General Google Group, one of which detailed my difficulty using set_no_wait on a validated text field (link below); and was asked by Jarmo Pertman whether it was in a frame. It is, and this concerns me a little; as sadly the site I'm testing is heavily frame-centric, with no immediate plans to modernise.
I recently migrated from an ageing Ruby1.8.6/Watir1.6.2 test environment to Ruby1.8.7-334/Watir2.0.1, and am now noticing more methods that are no longer working for me in frames. For instance, click_no_wait on a button that presents a new window works perfectly fine in my old environment, but not in my new one.
This is a question to the Watir developer group. Are no_wait methods known to be failing in frames in Watuir 2.0.1? If so, are they being addressed? If they're not, then I'll be forced to revert back to an archiac version of Ruby and Watir. For many reasons, I don't want to do this.
(Environment: Ruby 1.8.7-334. Watir 2.0.1. XP Pro. IE8)
http://groups.google.com/group/watir-general/browse_thread/thread/85a1a872d1e054dc
from the comments:
Something occured to me last night; I had installed DevKit, which was required to get the FastDebugger working in Netbeans 7.0.1. After completely reinstalling Ruby1.8.7/Watir2.0.1 without DevKit, click_no_wait and set_no_wait now seems to be working for me. It means I'll have to use something else other than Netbeans to run my scripts, but at least my scripts work again. (github.com/oneclick/rubyinstaller/wiki/Development-Kit) I hope this info helps someone else. GJHmf – GJHmf Sep 1 at 10:19
(inserting this answer because:
the OP was requested to but had not done so within a months time.
it removes this from the list of 'un-answered' watir related
questions
)

Resources