Jump to content

Recommended Posts


Posted (edited)

@feodor2 Thanks for your new release Mypal 68.14.8b! I am currently testing this version more closely. Due to the complete removal of XUL and XBL, a lot has changed. I have already reported about it here. Similar to version Mypal 68.14.5b, the legacy Custom Buttons extension is no longer fully functional. The internal code editor is totally broken and therefore has become unusable. You can no longer access, view or edit the code with the extension. New custom buttons can't be created, either. The legacy Custom Buttons extension should actually also work in higher Firefox versions. It has corresponding XHTML files and compatible code that is made available via appVersion queries. It could be that an incorrect version is being determined, as version 68 or version 74 is displayed in Mypal 68.14.8b depending on the corresponding command. I checked that in the Browser Console. BTW, I really miss the Scratchpad which is also gone in your new release. smilie_winke_055.gif Another guess I have is that you have removed something important that requires the legacy Custom Buttons extension. As you know, in Mypal 68.14.7b, the legacy Custom Buttons extension still worked. Maybe, you can take a look at it. BTW, what is the current level of JavaScript and CSS in Mypal 68.14.8b:dubbio:

Edited by AstroSkipper
Update of content
Posted (edited)
On 4/24/2025 at 2:28 PM, AstroSkipper said:

The legacy Custom Buttons extension should actually also work in higher Firefox versions. It has corresponding XHTML files and compatible code that is made available via appVersion queries. It could be that an incorrect version is being determined, as version 68 or version 74 is displayed in Mypal 68.14.8b depending on the corresponding command. I checked that in the Browser Console.

Here are some facts about versions inside Mypal 68.14.8b:

JavaScript commands:

parseInt(Services.appinfo.platformVersion);
Output: 74

parseInt(Services.appinfo.version);
Output: 68
------------------------------------------
Some preferences in about:config:

browser.migration.version: 94
extensions.lastAppVersion: 68.14.8
------------------------------------------
General user agent:

Mozilla/5.0 (Windows NT 5.1; rv:88.0) Gecko/20100101 Firefox/88.0 Mypal/68.14.8

68, 74, 88, 94 :o Neither fish nor meat (German saying). Or, neither fish nor fowl. :P The problem with this is that there have been some significant changes in the Firefox versions from 69 to 72. If an extension receives the wrong Firefox version at a certain point, this can of course lead to malfunctions. And that's exactly what I think might be the case with the Custom Buttons extension. The other theory, that something elementary has been removed, of course remains. Strangely enough, a few typical error messages relating to the cbeditor.xml file have completely disappeared. Maybe, this file can't be correctly processed now. Possibly due to @feodor2's remove of XBL? :dubbio:

Edited by AstroSkipper
Update of content
Posted

In comparison to Mypal 68.14.8b, I have executed the two JavaScript commands again in Mypal 68.14.7b:

JavaScript commands:

parseInt(Services.appinfo.platformVersion);
Output: 68

parseInt(Services.appinfo.version);
Output: 68

In any case, there is a clear version specification in the previous release. :P

Posted

Custumbuttons rely on the platformVersion, if the value was left 68 it thinks that the xul is preset therefore fails, thats why I lift platformVersion to 74.

But it rely not only the version, but other things which is silly I thing,  I am to investigate further.

Posted (edited)
5 hours ago, feodor2 said:

Custumbuttons rely on the platformVersion, if the value was left 68 it thinks that the xul is preset therefore fails, thats why I lift platformVersion to 74.

But it rely not only the version, but other things which is silly I thing,  I am to investigate further.

Thanks for your reply! :) I investigated the code of Custom Buttons more deeply, and you are right, the Custom Buttons extension solely relies on the platformVersion, :yes: Since you removed the XUL stuff, you logically can't keep the platformVersion at 68nimportequoi.gif But your new release Mypal 68.14.8b has become somehow versionless. It doesn't behave as a Firefox 68 and it doesn't behave as a Firefox 74. It's a bit lost. smilie_denk_24.gif Your browser tells Custom Buttons that it is Firefox 74, but it is not. Today, for this purpose, I have made a proof and installed Firefox 74 Portable on a Windows 7 Professional 64-Bit notebook, injected the two files config-prefs.js and config.js, and installed the legacy Custom Buttons extension. As I have already predicted, Custom Buttons runs perfectly under Firefox 74. :thumbup The code editor is fully functional. The legacy Custom Buttons extension has always been compatible with much newer Firefox versions and is constantly being developed further. Here are two screenshots to demonstrate what the issue is about:

Custom Buttons' broken code editor in Mypal 68.14.8b:

Mypal-68-14-8b-Custom-Buttons.png

Custom Buttons' fully functional code editor in Firefox 74.0.1:

FF-74-Custom-Buttons.png

As I already said, you must have removed something that Mozilla did not. And I suspect it has something to do with XBL. Certain functions for binding XML files are required by the Custom Buttons extension for the code editor, which you have probably removed. That's why I said your new release is somehow versionless. Neither fish nor fowl. Sorry for that! :P The conversion from XUL to XHTML is no problem as you can see. Anyway! I hope you won't behave worse than Mozilla did in the past, and I urgently hope you will be able to restore a general version compatibility. :yes: And it doesn't matter which Firefox version you raise the platformVersion to as nevertheless the Custom Buttons extension should work then. smilie_denk_24.gif

Edited by AstroSkipper
Update of content
Posted (edited)

@feodor2 Although Mozilla does and has done things to their Firefox browser for years that I personally think are terrible, certain features, even if they are considered deprecated and not secure, will be retained for compatibility reasons. That's something positive. On the subject of XBL and binding, what about the CSS property -moz-binding in your new release? This property is also used by Custom Buttons. For example, for the code editor in the file codeeditor-cbeditor.css:

cbeditor {
	-moz-binding: url(chrome://custombuttons/content/cbeditor.xml#custombuttons-codeeditor);
}

#accelkey {
	-moz-binding: url(chrome://custombuttons/content/cbeditor.xml#accelkeytextboxbinding);
}

Can Mypal 68.14.8b even cope with this? :dubbio:

Edited by AstroSkipper
Posted (edited)

@feodor2 I'm afraid that you've overshot the mark with your changes as you did in version 68.14.5b. With a probability bordering on certainty, there will be other "patients" who suffer from similar "symptoms" as is currently the case with Custom Buttons. :P Whatever the actual cause, I hope I could help you with my investigations and information. :)

Edited by AstroSkipper
Update of content
Posted

This hubbub is all irrelevant.

Nevertheless one place checks MOZ_APP_VERSION

So you can fix this

diff --git a/chrome/custombuttons/content/SelfHelper/SelfHelper.jsm b/chrome/custombuttons/content/SelfHelper/SelfHelper.jsm
index 8e009ac..42807e7 100644
--- a/chrome/custombuttons/content/SelfHelper/SelfHelper.jsm
+++ b/chrome/custombuttons/content/SelfHelper/SelfHelper.jsm
@@ -52,7 +52,7 @@ var AC, SelfHelper = {
 		this.platform = ["win", "linux", "macosx"]
 			.includes(platform) ? platform : "linux";
 
-		this.version = parseInt(AppConstants.MOZ_APP_VERSION);
+		this.version = 74;
 		if (this.version >= 95) {
 			var pref = "extensions.custombuttons.prefersColorSchemeOverride";
 			var pb = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);

I shall think out what to do with the version discord.

Posted (edited)
3 hours ago, feodor2 said:

Nevertheless one place checks MOZ_APP_VERSION

So you can fix this

diff --git a/chrome/custombuttons/content/SelfHelper/SelfHelper.jsm b/chrome/custombuttons/content/SelfHelper/SelfHelper.jsm
index 8e009ac..42807e7 100644
--- a/chrome/custombuttons/content/SelfHelper/SelfHelper.jsm
+++ b/chrome/custombuttons/content/SelfHelper/SelfHelper.jsm
@@ -52,7 +52,7 @@ var AC, SelfHelper = {
 		this.platform = ["win", "linux", "macosx"]
 			.includes(platform) ? platform : "linux";
 
-		this.version = parseInt(AppConstants.MOZ_APP_VERSION);
+		this.version = 74;
 		if (this.version >= 95) {
 			var pref = "extensions.custombuttons.prefersColorSchemeOverride";
 			var pb = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);

I shall think out what to do with the version discord.

I tried your fix. If I have understood you correctly, in the SelfHelper.jsm file, I should replace line 55

this.version = parseInt(AppConstants.MOZ_APP_VERSION);

with the following one:

this.version = 74;

If so, then this does not fix anything. nimportequoi.gif The only thing that happens is a lot of new ReferenceError messages "Service is not defined" in the Browser Console. Furthermore, I think that it is not the Custom Buttons extension that needs to be fixed, which runs properly under Firefox 74, but Mypal 68.14.8b.

3 hours ago, feodor2 said:

This hubbub is all irrelevant.

What do you mean by "hubbub"? :dubbio: Did you even read what I wrote? :dubbio: I consider such an answer to all my information, investigations and questions that I have put a lot of effort into to be absolutely inadequate. :angry: I have asked you a few questions, but have not received any answers. And once again, I no longer think the issue is related to a version mismatch. All is explained in the posts above and in my thread "Mypal 68 in Windows XP". Keyword: XBL But I will not repeat myself here. nimportequoi.gif

Edited by AstroSkipper
Posted

@AstroSkipper may be you missed something, do it again carefully and do not forget about purgecaches

If any other fellow use custumbuttons too please confirm.

I say again that other your written page is irrelevant, also I thing this is unnecessary information here for others too, so may considered as spam or flame whatever.

Posted (edited)
3 hours ago, feodor2 said:

@AstroSkipper may be you missed something, do it again carefully and do not forget about purgecaches

Once again, this is the new code from line 1 to 58:

var EXPORTED_SYMBOLS = ["SelfHelper"];
var AC, SelfHelper = {
	data: {
		"chrome://custombuttons/content/editor.xul": {
			65: "groupbox",
			68: "ondialog",
			71: "textbox menulisticonic cbeditor",
			76: "input",
			77: "menulist",
			85: "fluent",
			108: "contentbox",
			109: "menulist109",
			113: "flexapocalypse",
			116: "wrapwidth",
			125: "picker"
		},
		"chrome://custombuttons/content/prefs.xul": {
			65: "groupbox",
			68: "ondialog",
			107: "checkbox",
			111: "dialogwidth",
			113: "flexapocalypse"
		},
		"chrome://custombuttons/content/dialogs/finddialog.xul": {
			65: "groupbox",
			68: "ondialog",
			71: "textbox",
			76: "input",
			107: "checkbox",
			111: "dialogwidth",
			113: "flexapocalypse"
		},
		"chrome://custombuttons/content/dialogs/cbpromptdialog.xul?type=checkbox": {
			65: "groupbox",
			68: "ondialog"
		},
		"chrome://custombuttons/content/dialogs/cbpromptdialog.xul?type=radiobox": {
			65: "groupbox",
			68: "ondialog"
		},
		"chrome://custombuttons/content/dialogs/replconfirm.xul": {
			68: "ondialog",
			111: "dialogwidth"
		},
	},
	noop() {},
	get map() {
		var {AppConstants} = AC || ChromeUtils.import(
			"resource://gre/modules/AppConstants.jsm"
		);
		var {platform} = AppConstants;
		this.platform = ["win", "linux", "macosx"]
			.includes(platform) ? platform : "linux";

		this.version = 74;
		if (this.version >= 95) {
			var pref = "extensions.custombuttons.prefersColorSchemeOverride";
			var pb = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);

Is that correct? :dubbio:

3 hours ago, feodor2 said:

also I thing this is unnecessary information here for others too, so may considered as spam or flame whatever.

You should think carefully about what you say. None of what I have written is spam or flame. snegatif.gif Do you even know what spam or flame means or is? :dubbio: However, your statement I quoted above comes closer to that. Politeness doesn't seem to be everyone's cup of tea. nimportequoi.gif Anyway! Can you finally explain why the Custom Buttons extension properly works in Firefox 74 without any fix but not in Mypal 68.14.8b? Just a wrong version number which your browser reports to the Custom Buttons extension at a certain point as I assumed at the beginning? :dubbio:

Edited by AstroSkipper
Posted (edited)

@feodor2 Ok. Now, your fix seems to be working. At least, the code editor has started again to behave as usual. The reason it didn't work before was when purging the startup cache, then the code editor becomes inaccessible and a normal restart has additionally to be performed. However, I modified the fix a bit to depend on the current platformVersion instead of  a static number. For this purpose, I had to insert one additional line. The code posted beyond is the part from line 1 to 59 of the SelfHelper.jsm file. The changes are located in line 55 and 56:

var EXPORTED_SYMBOLS = ["SelfHelper"];
var AC, SelfHelper = {
	data: {
		"chrome://custombuttons/content/editor.xul": {
			65: "groupbox",
			68: "ondialog",
			71: "textbox menulisticonic cbeditor",
			76: "input",
			77: "menulist",
			85: "fluent",
			108: "contentbox",
			109: "menulist109",
			113: "flexapocalypse",
			116: "wrapwidth",
			125: "picker"
		},
		"chrome://custombuttons/content/prefs.xul": {
			65: "groupbox",
			68: "ondialog",
			107: "checkbox",
			111: "dialogwidth",
			113: "flexapocalypse"
		},
		"chrome://custombuttons/content/dialogs/finddialog.xul": {
			65: "groupbox",
			68: "ondialog",
			71: "textbox",
			76: "input",
			107: "checkbox",
			111: "dialogwidth",
			113: "flexapocalypse"
		},
		"chrome://custombuttons/content/dialogs/cbpromptdialog.xul?type=checkbox": {
			65: "groupbox",
			68: "ondialog"
		},
		"chrome://custombuttons/content/dialogs/cbpromptdialog.xul?type=radiobox": {
			65: "groupbox",
			68: "ondialog"
		},
		"chrome://custombuttons/content/dialogs/replconfirm.xul": {
			68: "ondialog",
			111: "dialogwidth"
		},
	},
	noop() {},
	get map() {
		var {AppConstants} = AC || ChromeUtils.import(
			"resource://gre/modules/AppConstants.jsm"
		);
		var {platform} = AppConstants;
		this.platform = ["win", "linux", "macosx"]
			.includes(platform) ? platform : "linux";

		var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
		this.version = parseInt(Services.appinfo.platformVersion);
		if (this.version >= 95) {
			var pref = "extensions.custombuttons.prefersColorSchemeOverride";
			var pb = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);

Thanks for the temporary fix! I hope you can fix your browser in terms of the versions problem soon. :P

Edited by AstroSkipper

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...