Electron Remote Upgrade Issue - electron

I have a working Electron app which I wrote about two years ago. I'm not an employee of a company, but just some guy that wrote an app that a few people use to make the world a better place. Anyway, I need to make some changes to the app but my computer crashed a while back so I downloaded my old code from Github onto my new computer and started to get to work. But immediately I found the app wouldn't work in the new 17.0.0 version of electron because the REMOTE module in Electron was deprecated and then removed in previous versions. I tried to follow the instructions here... https://www.npmjs.com/package/#electron/remote?activeTab=readme to replace REMOTE with the new #electron/remote module. I've had several problems, my most recent is:
JavaScript Error: Uncaught Exception: TypeError BrowserWindow is not a constuctor at app.createWindows (C:...\main.js:89:17).
I use the remote functionality (properties?) over 50 times in my app, including .dialogue, .getGlobal, .getCurrentWindow, and .BrowserWindow.getAllWindows
I'm not including my code here because I'm not really looking for a a coding solution (unless that's the easy/best/only thing I should do and you can give me a solution from the information I've written) but more general advice on what direction I should go to solve this problem. I'm a good programmer in a language that is not Electron, or JavaScript, or NodeJS! So, with the right instruction I can get by, but please be easy on me. (For example I get lost in the instructions for #electron/remote around the API Reference section.) Thanks for any help you can provide.
Mike

Some big changes have been made to Electron over the past couple of years, especially with the use of remote. I would hate to say it but it looks like you are in for a bit of work to get it operational again.
You will want to look at ipcMain, ipcRender and contextBridge.
The inclusion of webPreferences: {preload: ""} in your new BrowserWindow() method plus the use of the above Electron methods will place you in a good starting position for safe, quick, thread seperated code.
See Context Isolation and Inter-Process Communication for more info.
PS: If you need a quick bit of code to get you going / give you an idea then let me know.

Related

How to switch locations between local/server

Sorry I have not too much experience coding, I have developed an application currently working in a server, the topic is, each time that I need to upgrade or edit something in the app I have to change the locations from the server to my local PC locations to test, I donĀ“t know how to configure them in order to avoid changing them manually. I have read about web.configbut is not very clear for me or if this is the correct way to achieve it. could you please tell me which is the best or correct way? as I have to be swithcing 6 locations. langage is C# .net in Visual Studio
part of my code is something simple like this with my local path:
var watcher = new FileSystemWatcher(#"C:\Users\sds.admin\Documents\Customer_Automation\Inputs\knime Customers\eSTORE in-out,") //C:\Users\fernando\Documents\Local in-out
I have not tried anything to solve it

Can a (Delphi) desktop-bridge app be restarted via the windows.updateTasks Extension?

I have successfully packaged a Delphi app in an MSIX container, but I've run into a problem with one of my app's requirements: Upon updating the app from the Store, its background process (a console exe) is shut down (of course) and replaced with a new copy that is designated in AppxManifest.xml to run when the main app is first opened:
<Extensions>
<desktop:Extension Category="windows.startupTask" Executable="CwHelper.exe" EntryPoint="Windows.FullTrustApplication">
<desktop:StartupTask TaskId="CwHelper" Enabled="true" DisplayName="Capture Manager" />
</desktop:Extension>
</Extensions>
This all works fine, but it means that the background exe is left not running until the main app is opened subsequent to the update. This is highly undesirable.
My Internet spelunking of the MSFT docs leads me to think that I should be able to automatically restart the background app by inserting into the above <Extensions>...</Extensions> block a second Extension something like this:
<Extension Category="windows.updateTask" Executable="<some>.exe" EntryPoint="<some entrypoint>" >
</Extension>
So far, I have not been able to discover what should be my (Delphi-created) <some>.exe and its EntryPoint. Indeed, I have not found any example of this specific use of that Extension Category. Can it actually be used in this way by a desktop-bridge app? If so, can anyone give me pointers as to what I should put into those blanks?
Note added: I've tried repeating the exe's name and Windows.FullTrustApplication in the updateTask definition fields and that actually passed Certification, but it generates a fatal downloading error when the Store tries to install it.
Another note added: #StefanWick kindly pointed out that he has published an example of the very thing I need here using MSFT's toolset. Unfortunately, it is not clear to me how to translate his C# and Visual Studio labels into a Delphi app. Any advice on that would be greatly appreciated.
Answering my own question after about a month's research, I found out that the answer for now is "no" because the necessary IBackgroundTasks interface is not (yet?) available to Delphi according to Embarcadero Customer Support.
But the good news is that this is probably not needed because the "right" way to restart an app after a Store update is described in MSFT docs here.

How to get Swagger UI to work based on documentation guide? (even the example)

I am trying to use Swagger UI to document our node.js API, so I went to http://swagger.io/docs/, down to Swagger UI Documentation -> Usage, to find this
Now, this is not the only place that provides these instructions, there are dozens of blogs & tutorials saying the same thing, so that's exactly what I did.
Cloned the repo, went into /dist/ and ran the /dist/index.html and all I get is an empty page with an error:
I'm slowly going crazy now as I can't find anything about it and literally every place I looked just has the same, copied, instructions with nothing else provided (like what could go wrong? you just open a file...)
Any help or explanations are much appreciated!
P.S. for some reason opening the /public/index.html works (mentioned nowhere on the www)
I think this is bug in new version of swagger-UI. This is fresh release and they are still modifying and fixing bugs.
Look here: Swagger-ui cannot access JS scripts. This seems to be similar problem, maybe it will help you.

django admin not showing project

Hi I'm sure i am doing something dumb! Fairly new to django and pycharm. I am learning by writing two projects: the tango with django one and another to test ideas and learning (about old girlfriends!).
I am working on the rango project. I've scheme-migrated, syncdb, migrate, debugged and no errors. But when i run server, the admin page shows the other project only. I have not worked on it today.
As far as I can tell I have all the right code including registering the models and admin.autodiscover plus i have cleared the cache.
SO the question is: which projects does it show on the admin page - all? How does it know?
Final odd point the windows circle on the site admin tab is still going round as though its looking for something else.
Many thanks for help. I haven't pasted any code as not sure what would be helpful.
I eventually realized that the admin server was still running. As laptops don't have a ctrl break key (and i couldn't find my Samsung mapping) i killed the server using task manager and all was fine.

aegis-dss-tools and aegis-manifest-dev : where?

I'm trying to write a little python application, and to start i simply drop the .py into the device and execute from there.
Now I am at the point where i probably need some credentials for accessing the tracker.
I dont want to create an aegis manifest at this point, since im still in early development, or in the worst case i would like to create a flying manifest for my script and thats it.
I found out (actually in the nokia sdk docs) that what i need is something called aegis-su (in aegis-dss-tools) or aegis-manifest (for the worst case), from aegis-manifest-dev
problem: i searched all google, and i cannot find these packages anywhere..
can someone help me?

Resources