Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Wine/Spider Monkey Panel/Script bugs on Linux (Read 13064 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #25
Sure. If the panel leitmotiv is download internet data and getting the clipboard works requiere ie8 and that breaks data download the choice is easy at least for me, i prefer download data.

And to make your code work in Bio is enough with paste it in the script main.js or requieres deeper changes?

This inside configurations looks cool. Hope that can be used in bio.


The warning code may be added as is to any script. No more changes needed and it would work fine.... although any error found would be reported everytime foobar starts. i.e. clipboard would always report an error.

I would implement it myself to run it once only at first startup, right after installation. That requires a property on the panel, something any developer may implement in its own scripts in 2 minutes. Another possibility would be to skip clipboard checks, so that it only reports an error for things that should always be fixed (since we have noted that clipboard fixing involves IE8 which breaks other things).

Better to wait until a coder makes the changes  8) for now i have the clipboard commented out in bio.and is working well and a popup every start will be annoying.

Personally i will disable both features (options menu and clipboard) if wine is detected and leaves a way to enable them in the future if new wine versions solves the problem (or any suitable workaround is found)

Because if you didn't disable the clipboard, in bio for example, every time you do right click the panel crash and can't use any menu

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #26
Seems like using wine5/ie6 fixes clipboard access without breaking https sites. html dialogs won't work though.

Another possible fix is to add utils.GetClipboardText and utils.SetClipboardText to the component which will use windows APIs and should work fine. There are some one-liners in shared.h from the foobar2000 SDK for this.

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #27
Seems like using wine5/ie6 fixes clipboard access without breaking https sites. html dialogs won't work though.

Another possible fix is to add utils.GetClipboardText and utils.SetClipboardText to the component which will use windows APIs and should work fine. There are some one-liners in shared.h from the foobar2000 SDK for this.

If this is feasible then all important things of panels will work.

The configuration ui is cool but anyway you can use others ways to configure the panel.

Maybe you can alert WilB to do that in biography? I could do it myself but i think that you could explain it to him better (in a developer way).

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #28
Seems like using wine5/ie6 fixes clipboard access without breaking https sites. html dialogs won't work though.

Another possible fix is to add utils.GetClipboardText and utils.SetClipboardText to the component which will use windows APIs and should work fine. There are some one-liners in shared.h from the foobar2000 SDK for this.

If this is feasible then all important things of panels will work.

The configuration ui is cool but anyway you can use others ways to configure the panel.

Maybe you can alert WilB to do that in biography? I could do it myself but i think that you could explain it to him better (in a developer way).
That's not something on WilB's hands (although he could add the SO features check to warn about the other "problems"). The clipboard additions would have to be implemented on SMP itself, the component.

Quote
Seems like using wine5/ie6 fixes clipboard access without breaking https sites. html dialogs won't work though.
Great, will add it to the popups then. paregistrase could you confirm it too?

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #29
Ah man so he already must to know about it because that was his response about the issue when he solves the data download for wine.  :))

Well, TheQwertiest seems to be busy with his real life problems so we have to wait a little bit more.

About the broken https; yes, 100% confirmed.

Oh sorry, fast reading.

ie6 not breaking.

I'll test it.

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #30
Not so well.

Multiple freezes and crashes, very slow, some dropdown menus doesn't work, new wine errors i never saw before.....

but the limited time before freazees or crash the clipboard seems to work  :D

I can say if it break https or not because i can't get that far, always freezes or crash before.


Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #31
Well I've only been testing my scripts and they work fine. SMP v1.5.2 with samples\complete\js\helpers.js from here...

https://raw.githubusercontent.com/marc2k3/smp_2003/0e17bcacc8fd3ddcb69af7412701abb709f37ff9/js/helpers.js

Just tried a WIlB's bio and got a few unresponsive script dialogs (from the component - I've seen the same on windows). Clicking stop makes the component crash. If you continue, it did eventually work and display all images/text as expected.

I guess how well it works depends entirely on the script and may be host (mine was VMware, not a proper install)

edit: georgia reborn seems unusable on my setup. I can get the initial layout showing but it's totally unresponsive with these WINE popups.




Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #32
installing msxml3 bio stop to lag and crashes but even with wsh57 and mdac28 it doesn't download images. Same for the thumbs script in samples.

The text data and clipboard work in samples and bio and i can copy and paste in bio and library view.

In the system console there's a lot of

Code: [Select]
err:ole:CoGetClassObject no class object {6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1

In the foobar console all normal.

this with a new foobar instalation with only SMP and biography. My normal foobar still freezes and crash.

Doesn't seem to be a long time solution.

But the old one is good enough, the script download text and imagess (that is his primordial use), the html configuration is not essential and with a future fix for clipboard this is great for me as is.

Few mouths ago i can't even download a biography text.

You people are real chads


Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #34
Installing the verbs in this exact order works for the complete samples.

With the bio freezes (likes yours with reborn) and often crash in various web.js lines, that have

Code: [Select]
this.xmlhttp.send();

msxml3 helps with bio freezes and crashes but breaks image downloading in bio and thumbs.

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #35
FWIW, I've never installed msxml3. Although mine and WilB's scripts are radically different, the actually bits that fetch online info must be pretty much identical. If mine works without msxml3, his should too.

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #36
FWIW, I've never installed msxml3. Although mine and WilB's scripts are radically different, the actually bits that fetch online info must be pretty much identical. If mine works without msxml3, his should too.

With the ie8 verb it helps to avoid random crashes in bio. I tried it with ie6 because crashes too but it didn't work,in this situation, it breaks downloading images.

Anyway the problem with this option is that with bio added the player becomes unstable. When search for new bio and images it freezes, sometimes the bio popupcomes up but not render and after a time crashes the panel or the system popup of not responding comes up.

This only selecting tracks in the playlist, when i try to listen a actual track most of the time it even start playing or stop in the middle if it need to search for new data.

The user experience with this test was without a doubt the worst of all, even worst than when the panel didn't download any data and I have to reuse text and images from others components, because at least i could listen music.

The best results I had comes with your first solution of 32 prefix, gdi, wsh and mdac and commenting out the clipboard funtcion in scripts to avoid crashes in the panel at right click. In this test the player didn't crash or freezes, i can listen music and download bios at the same time, etc...

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #37
Georgia-ReBORN does work stable with Wine 6.02 stable, Mono/Gecko and GDI+ ( the 1MB from archive.org ).
I'm not using Winetricks though, want to have it absolutely clean and only the minimum installed...
The only problem as already mentioned by me is the playlist drag and drop ( works in Wine explorer -> File > Add files/folder ) which is a Wine bug and already reported to a Wine dev.
I have also disabled the clipboard func plus the library/biography options won't work ( crash )

So what about WilB's biography image fetching?
@paregistrase does it work now 100%?

To summarize:
You only need GDI+, wsh57 and mdac28?
Ie6/8 and msxml3 breaks image fetching?
Can you confirm this?

I've tried some days ago with Wine 6.22 dev with ie8, wsh57 and mdac28 and had problems ( Wine bugs, no image fetching )...

Thank you all for testing, I know myself how frustrating it is...

-TT

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #38
Georgia-ReBORN does work stable with Wine 6.02 stable, Mono/Gecko and GDI+ ( the 1MB from archive.org ).
I'm not using Winetricks though, want to have it absolutely clean and only the minimum installed...
The only problem as already mentioned by me is the playlist drag and drop ( works in Wine explorer -> File > Add files/folder ) which is a Wine bug and already reported to a Wine dev.
I have also disabled the clipboard func plus the library/biography options won't work ( crash )

So what about WilB's biography image fetching?
@paregistrase does it work now 100%?

To summarize:
You only need GDI+, wsh57 and mdac28?
Ie6/8 and msxml3 breaks image fetching?
Can you confirm this?

I've tried some days ago with Wine 6.22 dev with ie8, wsh57 and mdac28 and had problems ( Wine bugs, no image fetching )...

Thank you all for testing, I know myself how frustrating it is...

-TT

yeah, the image downloading works 100% thanks to marc discover.

you need a wine 32 prefix, wsh57, mdac28 and gdiplus if you use a old wine version. In staging and devel there's no need of gdi. This works for me in all wine versions, old ubuntu 5, stable 6, devel and staging

The configuration UI and the clipboard in script still doesn't works. The clipboard thing could be fix but need SMP dev intervention.

There's a change to use the html UI configuration. You need 32 prefix and ie8 verb and wine5, in others wine version doesn't install or crash. But this prefix doesn't have https working, so no data download. Can be use to a initial configuration.

The test with ie6 in order to make the clipboard working without breaking https didn't give good results, too much unestable. the clipboard works and download images (with wsh and mdac) but is buggy, lag a lot and bio crash. Installing msxml stop the crashes but break image downloading. Also is important install the verb in the same order that mark did and one by one. the first time i did with wine tricks ui all verbs at once didn't work. anyway the palyer becomes almos usable to normal use.

My test agrees with your experience, the ie verbs breaks more things that they solves.

Right now i'm using 32 prefix, wsh57 and mdac28 with the clipboard funtcion commented out without problems. The scripts works (data and images) and the player is stable. This morning was playing songs a few hours at the same time i was tagging new albums and navigating and no problem happend.

I didn't test your reborn because is installed in the living room computer and is busy ;-) but this must works too.



Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #39
I got it working with Georgia-ReBORN, finally!
After nearly a year we got it sorted out, it was a good idea to start this thread =)

Needed to add msado15 to the dll overrides in Winecfg to make it work:



Thanks a lot @marc2k3 and @paregistrase  8)
@WilB wanted to notify you that biography image fetching now works!

-TT

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #40
What was the problem that solves msado15?


Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #42
I tried to add it to mine and was already there, winetricks must be set it when it installs the others verbs (maybe a different winetricks version)

I'm very happy too, now all important funtcions works.

Kudos to @marc2k3 who was the real hero here.

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #43
Just wanted to let you all know and confirm that msado15 is really required to get the biography working.
Did some tests yesterday and without it it's not working. The terminal log and @razielanarki was right after all as he already mentioned it on the first page.
So be sure to have it in the Winecfg as shown in the screenshot above, if it's not there, manually add it.

For all non-winetricks users,
I also encountered a really weird bug with the 1 MB GDI+ from archive.org: https://archive.org/download/gdiplus_dnld
This version was also distributed on the CNET website after MS has removed it from theirs.
Sometimes it renders JPG images with a green tint which sucks... I've tried to set Wine to different Windows versions
but without luck, so this GDI+ version is for the trash bin. At least as already mentioned, you won't need to install GDI+
in the future as Wine 6.10 and above already has it built in, so we just need to wait for the next stable release...

-TT




 

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #44
Updated.
Code: [Select]
function getSoFeatures() {
const soFeat = {gecko: true, clipboard: true, dpi: true, recycle: true, gdiplus: true, segoe: true, bio: true}
const WshShell = new ActiveXObject('WScript.Shell');
const app = new ActiveXObject('Shell.Application');
let doc;
// Internals
try {doc = new ActiveXObject('htmlfile');} catch (e) {soFeat.gecko = false;}
if (typeof doc !== 'undefined' && soFeat.gecko) {
let clText = 'test';
try {doc.parentWindow.clipboardData.setData('Text', clText); clText = doc.parentWindow.clipboardData.getData('Text');} catch (e) {soFeat.clipboard = false;}
if (clText !== 'test') {soFeat.clipboard = false;}
} else {soFeat.clipboard = false;}
// File system
if (typeof app !== 'undefined') {
try {app.NameSpace(10).MoveHere(null);} catch (e) {soFeat.recycle = false;}
} else {soFeat.recycle = false;}
// Scripting
if (utils.IsFile && utils.IsFile(fb.ProfilePath + 'yttm\\foo_lastfm_img.vbs')) {
try {
new ActiveXObject("Scripting.FileSystemObject");
new ActiveXObject("MSXML2.XMLHTTP");
new ActiveXObject("ADODB.Stream");
} catch (e) {soFeat.bio = false;}
}
// UI
if (typeof WshShell !== 'undefined') {
try {WshShell.RegRead('HKCU\\Control Panel\\Desktop\\WindowMetrics\\AppliedDPI');} catch (e) {soFeat.dpi = false;}
} else {soFeat.dpi = false;}
if (!utils.CheckFont('Arial')) {
soFeat.gdiplus = false;
}
if (!utils.CheckFont('Segoe UI')) {
soFeat.segoe = false;
}
return soFeat;
}

function CheckSoFeatures(soFeat) {
let bPass = true;
// Internals
if (!soFeat.gecko) {
fb.ShowPopupMessage('Found an issue on current installation:\nActiveXObject_Constructor failed:\nFailed to create ActiveXObject object via CLSID: htmlfile.\n\nFix: install \'Gecko\' package.\n' + 'https://wiki.winehq.org/Gecko', 'SO features');
bPass = false;
} else  if (!soFeat.clipboard) {
fb.ShowPopupMessage('Found an issue on current installation:\nclipboardData failed.\n\nFix: Install IE8 with Winetricks.\n' + 'https://wiki.winehq.org/Winetricks' + '\n' + 'https://askubuntu.com/questions/1194126/problem-in-installing-internet-explorer-8' + '\n\nWARNING:\nApplying this fix will break internet connection on current profile.\ni.e. Bio Script config popup will work but image downloading will be broken. It\'s therefore recommended to don\'t apply this fix on online systems.', 'SO features');
bPass = false;
}
// File system
if (!soFeat.recycle) {
// Not sure if there is an alternative (?)
bPass = false;
}
// Scripting
if (!soFeat.bio) {
fb.ShowPopupMessage('Found an issue on current installation:\nMissing scripting components for vbs integration (BIO panel).\n\nFix:  Install \'wsh57\' and \'mdac28\' with Winetricks.\n' + 'https://wiki.winehq.org/Winetricks' + '\n\nTerminal command:\n' + 'sh winetricks wsh57 mdac28' + '\n\nFix: Also msado15 needs to be aded to the dll overrides in Winecfg:\n' + 'https://hydrogenaud.io/index.php?topic=121786.msg1005447#msg1005447' +'\n' + 'https://itectec.com/ubuntu/ubuntu-how-to-override-a-dll-without-using-the-winecfg-gui-in-wine/' + '\n' + 'https://wiki.winehq.org/Wine_User%27s_Guide#WINEDLLOVERRIDES.3DDLL_Overrides', 'SO features');
bPass = false;
}
// UI
if (!soFeat.dpi) {
fb.ShowPopupMessage('Found an issue on current installation:\nRegistry entry not found:\nHKCU\\Control Panel\\Desktop\\WindowMetrics\\AppliedDPI\n\nFix: add entry to registry.\n' + 'HKCU\\Control Panel\\Desktop\\WindowMetrics\\AppliedDPI          --->     96\n\nCMD command:\n' + 'reg.exe ADD "HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics" /v AppliedDPI /t REG_DWORD /d 96', 'SO features');
bPass = false;
}
if (!soFeat.gdiplus) {
fb.ShowPopupMessage('Found an issue on current installation:\nFonts are not found via utils.CheckFont() and gdi.Font().\n\nFix: install install \'gdiplus\' package with winetricks.\n' + 'https://wiki.winehq.org/Winetricks' + '\n\nTerminal command:\n' + 'sh winetricks gdiplus', 'SO features');
bPass = false;
} else if (!soFeat.segoe) {
fb.ShowPopupMessage('Found an issue on current installation:\nSegoe UI font is missing.\n\nFix: install missing font.\n' + 'https://github.com/mrbvrz/segoe-ui-linux', 'SO features');
bPass = false;
}
return bPass;
}

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #45
DPI related fixes (either modified helpers.js or registry editing) worked with album art.js. Thanks.

Now the question is why some images flicker, hopefully not randomly  >:( .

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #46
Could someone test this code on wine?

Code: [Select]
const testFile = 'c:\\test.txt';
const app = new ActiveXObject('Shell.Application');
app.NameSpace(0).ParseName(testFile).InvokeVerb('delete');

If that works ('test.txt' file must be created first) and the file is sent to the recycle bin, then that method may be used as an alternative to app.NameSpace(10).MoveHere(file), which is known to fail on unix.

Finally I would really appreciate this second test:

Code: [Select]
const recycle= '"c:\\Recycle.exe"';
const testFile = '"c:\\test.txt"';
const WshShell = new ActiveXObject('WScript.Shell');
WshShell.Run(recycle + ' -f ' + testFile, 0, true);
It may be used as fallback if the others fail or Shift is being pressed (since that bypasses recycling on win for previous methods)

The test file and recycle paths may be changed as required. The exe is attached to the post.

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #47
Hi, could you explain me, as i'm noob, step by step, howto do this on Mint 20.3 (Ubuntu) ? I would like to use footuner

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #48
Here's a dev build with utils.GetClipboardText() and utils.SetClipboardText()

https://ci.appveyor.com/project/TheQwertiest/foo-spider-monkey-panel/builds/42696596

Pull request on github...

https://github.com/TheQwertiest/foo_spider_monkey_panel/pull/158

Re: Wine/Spider Monkey Panel/Script bugs on Linux

Reply #49
Here's a dev build with utils.GetClipboardText() and utils.SetClipboardText()

https://ci.appveyor.com/project/TheQwertiest/foo-spider-monkey-panel/builds/42696596

Pull request on github...

https://github.com/TheQwertiest/foo_spider_monkey_panel/pull/158

Great news.

is there any .fb2k-component file available to test it?