Pale Moon has no up to date user scripts manager

Add-ons for Pale Moon and other applications
General discussion, compatibility, contributed extensions, themes, plugins, and more.

Moderators: FranklinDM, Lootyhoof

User avatar
nguyen9173
Banned user
Banned user
Posts: 95
Joined: 2022-06-02, 13:38

Pale Moon has no up to date user scripts manager

Unread post by nguyen9173 » 2022-06-19, 18:49

Both of them are no longer updated since 2018 and the former is very primitive and incomplete. The later is more complete but it's not able to keep up with the latest improvements and features on later versions of GreaseMonkey so many of the scripts shared on scripts collection sites can't be installed or can't work. Even GreaseMonkey itself is in trouble. Many scripts no longer work on even the latest version of GreaseMonkey but requires TamperMonkey or ViolentMonkey.

https://addons.palemoon.org/addon/guerilla-scripting/

https://github.com/janekptacijarabaci/g ... 3.31.4Fork

Pale Moon needs an up to date user scripts manager! Having one will assist greatly. With the ability to use user scripts, many web compatibility problems could have an easier workaround by just installing a user script.

I know ViolentMonkey is WebExtension based but I think we should use it as the reference. Our Pale Moon script manager should be modeled upon ViolentMonkey. I have checked both on the Chrome webstore and I found TamperMonkey collects too much information when ViolentMonkey doesn't collect any. I prefer ViolentMonkey on both Chrome and Firefox.

Goodydino
Keeps coming back
Keeps coming back
Posts: 820
Joined: 2017-10-10, 21:20

Re: Pale Moon has no up to date user scripts manager

Unread post by Goodydino » 2022-06-19, 19:26

What kind of scripts do not work with Greasemonkey? I am using Greasemonkey 3.8 with SeaMonkey as well as this browser, and it seems to be working well.

User avatar
nguyen9173
Banned user
Banned user
Posts: 95
Joined: 2022-06-02, 13:38

Re: Pale Moon has no up to date user scripts manager

Unread post by nguyen9173 » 2022-06-19, 19:35

Goodydino wrote:
2022-06-19, 19:26
What kind of scripts do not work with Greasemonkey? I am using Greasemonkey 3.8 with SeaMonkey as well as this browser, and it seems to be working well.
Many. You just not yet encountered. ViolenMonkey is more advanced as it could find scripts available for a particular website when you visit that site and of course able to auto update scripts. Pale Moon's version of GreaseMonkey has broken scripts auto update for a while and being unmaintained also means there is no one to fix existing bugs nor new bugs, no new features or functionalities will possible.

At least, I think with such an important piece of addon like a user scripts manager it should be forked and maintained by the Pale Moon developers themselves since it's a very powerful tool to help workaround web compatibility problems. I think Moonchild or someone on the team should fork the abandoned GreaseMonkey for Pale Moon and continue to maintain it.

User avatar
Nuck-TH
Project Contributor
Project Contributor
Posts: 197
Joined: 2020-03-02, 16:04

Re: Pale Moon has no up to date user scripts manager

Unread post by Nuck-TH » 2022-06-19, 20:26

For some reason janek's GreaseMonkey version updates userscripts just fine on all 3 instances of Pale Moon i have. Why i have everything working when others haven't?
Also, you seem to have high demands to what should and shouldn't be done. Why you don't step up yourself and help? I'm not even starting that developers and community around this project seems to have somewhat different opinions than you, yet you state stuff like it is universally agreed on.

Also, who will write and maintain such "compatibility" userscripts? I don't see any significant efforts on it, despite, while maybe outdated, GM still providing enough tools to manipulate content of the page(and there are many scripts that do work, btw). Developers certainly wouldn't - there is no point to waste time on crutches, when that time is better spent on actual fixes/enhancements.

wickedsp1d3r
Hobby Astronomer
Hobby Astronomer
Posts: 24
Joined: 2017-07-14, 09:49

Re: Pale Moon has no up to date user scripts manager

Unread post by wickedsp1d3r » 2022-06-26, 18:29

Yes, just manually updated all user scripts I have as they are not updating automatically at the moment.
I am using Greasemonkey for Pale Moon 3.31.4.

When I was a Firefox user, I used FireMonkey to manage user scripts.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35477
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Pale Moon has no up to date user scripts manager

Unread post by Moonchild » 2022-06-26, 22:23

Unless there's major changes in the way user scripts interact with page content at the browser level, there isn't necessarily a reason to make changes to the script manager. All it does is provide an interface to the browser, after all.
This lack of need to constantly update is called "code maturity".
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
mintoyatsu
Hobby Astronomer
Hobby Astronomer
Posts: 25
Joined: 2019-03-02, 08:44

Re: Pale Moon has no up to date user scripts manager

Unread post by mintoyatsu » 2022-06-26, 23:55

For some scripts, you may need to edit them to use older syntax for Greasemonkey-specific functions, but aside from that, it largely depends on what Javascript the browser supports, which has been improving lately.

User avatar
UCyborg
Fanatic
Fanatic
Posts: 172
Joined: 2019-01-10, 09:37

Re: Pale Moon has no up to date user scripts manager

Unread post by UCyborg » 2022-07-08, 17:27

I mistakenly thought GreaseMonkey for Pale Moon 3.31.4 has non-working update function, but it's not exactly like that. If you have auto-updates turned off in Add-ons Manager, then you can't even check for script updates, let alone update them (except by manually visiting the page serving the script, of course), which is contrary to the general behavior of Add-ons Manager.

If you open extension's XPI file and take a look inside /module/script.js with a text/code editor, there's a function that begins with:

Code: Select all

Script.prototype.checkForRemoteUpdate = function (aCallback, aForced) {
  if (this.availableUpdate) {
    return aCallback("updateAvailable");
  }

  if (!this.updateURL || (this.updateURL == "null")) {
    return aCallback("noUpdateAvailable", {
      "name": this.localized.name,
      "fileURL": this.fileURL,
      "url": this.updateURL,
      "info": " = (this.updateURL == " + this.updateURL + ")",
      "updateStatus": "UPDATE_STATUS_NO_ERROR",
      "log": false,
    });
  }

  let _shouldAutoUpdate = this.shouldAutoUpdate();
  if (!aForced && !_shouldAutoUpdate) {
    return aCallback("noUpdateAvailable", {
      "name": this.localized.name,
      "fileURL": this.fileURL,
      "url": this.updateURL,
      "info": " = (this.shouldAutoUpdate() == " + _shouldAutoUpdate + ")",
      "updateStatus": "UPDATE_STATUS_NO_ERROR",
      "log": false,
    });
  }

let uri = GM_util.getUriFromUrl(this.updateURL).clone();
If you comment out or remove:

Code: Select all

let _shouldAutoUpdate = this.shouldAutoUpdate();
if (!aForced && !_shouldAutoUpdate) {
  return aCallback("noUpdateAvailable", {
    "name": this.localized.name,
    "fileURL": this.fileURL,
    "url": this.updateURL,
    "info": " = (this.shouldAutoUpdate() == " + _shouldAutoUpdate + ")",
    "updateStatus": "UPDATE_STATUS_NO_ERROR",
    "log": false,
  });
}
Then reinstall the modified extension, update checks will work normally then. That block of code prevents checking for script updates if automatic updating is disabled, which I think should work regardless. Then you can choose to install found script updates or ignore them. Though you still have to visit script's web page if you want to see what's changed since last update since there's no GUI that would show changes before agreeing to installing updated script.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35477
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Pale Moon has no up to date user scripts manager

Unread post by Moonchild » 2022-07-09, 11:42

UCyborg wrote:
2022-07-08, 17:27
That block of code prevents checking for script updates if automatic updating is disabled, which I think should work regardless.
I think there's a difference of opinion then. I think if people have disabled automatic updated to their add-ons (e.g. because they aren't in a trusted environment) then it should also not update the greasemonkey scripts which also have application-level access to the browser and pose the same risk. So, the behaviour out of the box I think is as it should be.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
UCyborg
Fanatic
Fanatic
Posts: 172
Joined: 2019-01-10, 09:37

Re: Pale Moon has no up to date user scripts manager

Unread post by UCyborg » 2022-07-09, 15:10

But we're talking about two distinct actions, first, whether we check for updates and merely inform the user that they're available and second, whether we automagically update if updated addon/script is available. Both controlled by two distinct preferences - extensions.update.enabled and extensions.update.autoUpdateDefault. Only latter is configurable via GUI as far as I can see, update checks have to be turned off in about:config if desired (extensions.update.enabled).

So it would be logical if that part of code was written like this:

Code: Select all

  if (!aForced && !AddonManager.updateEnabled) {
    return aCallback("noUpdateAvailable", {
      "name": this.localized.name,
      "fileURL": this.fileURL,
      "url": this.updateURL,
      "info": " = (AddonManager.updateEnabled == " + AddonManager.updateEnabled + ")",
      "updateStatus": "UPDATE_STATUS_NO_ERROR",
      "log": false,
    });
  }
Edit: Or maybe not. extensions.update.enabled is related to periodic update check, it doesn't prevent user from manually performing update check when disabled.

User avatar
mihau
Newbie
Newbie
Posts: 4
Joined: 2021-02-23, 21:24

Re: Pale Moon has no up to date user scripts manager

Unread post by mihau » 2022-07-29, 15:53

Moonchild wrote:
2022-06-26, 22:23
Unless there's major changes in the way user scripts interact with page content at the browser level, there isn't necessarily a reason to make changes to the script manager. All it does is provide an interface to the browser, after all.
This lack of need to constantly update is called "code maturity".
I may be wrong there, but from what I understand, GreaseMonkey changed something fundamentally back in 2017, rendering many scripts unusable and causing users to switch to Violentmonkey and Tampermonkey:
https://github.com/greasemonkey/greasem ... ssues/2700

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 4942
Joined: 2015-12-09, 15:45
Contact:

Re: Pale Moon has no up to date user scripts manager

Unread post by moonbat » 2022-08-01, 00:33

Their changes were in response to Mozilla ripping up their browser and starting afresh with a much more limited extension system and use of 'content scripts' - I use the Pale Moon fork and it works fine.
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
Linux Mint 21 Xfce x64 on HP i5-5200 laptop, 12 GB RAM.
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX

User avatar
cola ammonia
New to the forum
New to the forum
Posts: 1
Joined: 2022-08-01, 10:00

Re: Pale Moon has no up to date user scripts manager

Unread post by cola ammonia » 2022-08-01, 10:25

mihau wrote:
2022-07-29, 15:53
I may be wrong there, but from what I understand, GreaseMonkey changed something fundamentally back in 2017, rendering many scripts unusable and causing users to switch to Violentmonkey and Tampermonkey
Maybe. For example yt2invidio.user.js from https://codeberg.org/izzy/userscripts works in pm greasemonkey, but its fork https://codeberg.org/ltGuillaume/yt2invidio not. Fork works in violentmonkey without any issue.

Locked