Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firefox greasemonkey 4 is backwards incompatible #306

Closed
shu8 opened this issue Feb 24, 2018 · 12 comments
Closed

Firefox greasemonkey 4 is backwards incompatible #306

shu8 opened this issue Feb 24, 2018 · 12 comments
Assignees
Milestone

Comments

@shu8
Copy link
Member

shu8 commented Feb 24, 2018

Greasemonkey 4 is incompatible with previous versions due to changes made in Firefox v57.

https://www.greasespot.net/2017/09/greasemonkey-4-announcement.html

The changes shown in https://www.greasespot.net/2017/09/greasemonkey-4-for-script-authors.html need to be implemented to make it compatible with the new versions of Firefox and still Chrome

@shu8 shu8 added this to the 2.2.0 milestone Feb 24, 2018
@shu8 shu8 self-assigned this Feb 24, 2018
@shu8
Copy link
Member Author

shu8 commented Feb 25, 2018

A temporary solution is to use Violetmonkey for Firefox. it seems to work fine on there.

@ooker777
Copy link

ooker777 commented Mar 5, 2018

I don't upgrade my FF to v57. Is it worth to use former version of Greasemonkey rather than Violentmonkey? Or can they be easily imported? And why they are so different?

@shu8
Copy link
Member Author

shu8 commented Mar 17, 2018

@ooker777 AFAIK Violetmonkey is completely compatible with the 'old' greasemonkey scripts, so just installing it with violetmonkey should work. I'm not entirely sure why violetmonkey works but GM doesn't unfortunately :( it seems like a decision they made when updating it for the new FF?

@shu8 shu8 modified the milestones: 2.2.0, v2.3.0 Jun 15, 2018
@shu8
Copy link
Member Author

shu8 commented Jun 17, 2018

It seems Tampermonkey works perfectly fine on Firefox, and doesn't seem to have the same sandboxing either.

We're going to endeavour to support Tampermonkey going from now on, as it will be much easier for us to develop and test. Please do install Tampermonkey!

@ooker777
Copy link

ooker777 commented Jun 18, 2018 via email

@shu8
Copy link
Member Author

shu8 commented Jun 18, 2018

@ooker777 does anything appear in the console when it stops? Can you try 'enable debugging' from the dialog and paste the console contents here?

shu8 added a commit that referenced this issue Sep 2, 2018
* new dev

* #305

* #307

* #310

* #310

* Better fix for #310

The old fix placed the SOX button to the right of the username, but the username only shows up in the top bar if you're logged in. This meant the SOX button would be absent if you were logged out. This new code should fix that.

* #310

* #309, #313

* #311, #312

* #256

* #319, #317, #316

* #256

* #318

* #294 deprecate enhanced editor

* #308, other small fixes

* #320

* minor fixes (#324)

change scroll top top feature JSON info

* fixes #329 (#330)

also reduces jQuery dependency

* v2.1.4 DEV before push to master

also adds #326

* v2.2.0

* inital DEV push

* update readme to state GM not supported; #306

* reduce dependency on `hotkeys`+minor details (#333)

* #334 fixed

* #334

* #334

* #338

* #335, #338

* Micro optimizations (#336)

* update source link

* micro optimizations

- converted jQuery .not to CSS selector for faster perf (https://stackoverflow.com/questions/8845811/performance-differences-between-using-not-and-not-selectors)
- introduced a separate function to eliminate thrice-repeated (!) code, to keep it DRY

* fixes some issues (#339)

described in #338 (comment)

* fixes #338

* fixes #338 (#340)

1. used addEventListener instead of onload
2. descriptive names (`reader`)
3. optimized extraction of the image URL from the `data`
4. made all declarations `var` and moved them into one place for consistency
5. shortened the POST url to simply `'/upload/image?https=true',` ;P

* #322 implemented

* Sticky property

* Update sox.user.js

* Updating button colors

The main SE buttons use a lighter color than the SOX buttons

* Update sox.css

* Minor fixes

Patched a problem with vote buttons, and fixed the color of the notify on edit button

* Update sox.user.js

* minor changes/fixes

* #341 temporary fix

* Updated mod diamond icon

Updated to the icon, to match the one used by the new topbar

* Updated diamond icon

* Updated mod diamond

* improvements in colorAnswerer (#344)

* improvements in colorAnswerer
1. constant variables+cache answeredID
2. reduce jQuery dependency+shorter a[href] selector via user ID
3. change coloration

* optimization: use filters throughout (#345)

reduces bandwidth consumption

* fixes a few features; adds CSS

Fixes moveBounty, dragBounty, copyCommentsLink.
Adds class for colorAnswerer.
Updates jQuery

* fixes quickAuthorInfo fontawesome icon

* fix a few of #308

* Major improvements in code extensibility, reduced API usage, eliminate redundancy, etc. (#348)

* fixes various bugs mentioned in #348

* fixes standOutDupeCloseMigrated for search pages

* remove unwanted console logs

* #347, various minor tweaks

* fixes small bug in parseCrossSiteLinks

e.g. on this comment: https://meta.stackoverflow.com/questions/370902/i-need-a-lot-of-help-to-write-a-query-for-the-stack-exchange-data-explorer-sh?cb=1#comment608548_370902

* Fixed Meta SE's chat link

Added a / to the end of Meta SE's if statement to fix it. Also replaced "discuss" with "meta" for Area 51 (to match the new URL for Area 51 Discussions), shortened a bit of code, and added some comments

* Fixed Meta SE links

* Changed topbar z-index

Changed the fixed topbar's z-index to match the one on SO, in order to prevent elements like the usercard (z-index: 1000) from covering it

* Made it clearer what the checkbox does

* Many fixes to dialog buttons

Fixes many of the bugs from #308

* Many fixes to dialog buttons

Fixes many of the bugs from #308

* Many fixes to dialog buttons

Fixes many of the bugs from #308

* Many fixes to dialog buttons

Fixes many of the bugs from #308

* Fixed Area 51 Discussions bug

* #348 minor tweak

* fix (#350)

...for answerer ID 13 also matching commenter ids beginning with 13 (1345, 13555, etc.)

* #352, #353 remove yahoo YQL use

* #352

* PR/351 (#355)

* update getQuestionTags

* provide immediate response to user

* minor changes

* #325: remove rangyInputs dependency (#354)

* bump version number

* remove downvotedPostsEditAlert; remove rangyinputs `require`; implement mini changelog in dialog

* install stale and no-response bots

* #356 added, minor bug fix

* start #349, start to move to es6

* onlyShowCommentActionsOnHover bug fix

* #357

* deprecate fixedTopbar feature for #349

* add showTagWikiLinkOnTagPopup feature

* #359 fixed

* #358 fixed

* fixes #360

* fixes for #361

* #361 changes

* v2.3.0 final
shu8 added a commit that referenced this issue Feb 3, 2019
* new dev

* #305

* #307

* #310

* #310

* Better fix for #310

The old fix placed the SOX button to the right of the username, but the username only shows up in the top bar if you're logged in. This meant the SOX button would be absent if you were logged out. This new code should fix that.

* #310

* #309, #313

* #311, #312

* #256

* #319, #317, #316

* #256

* #318

* #294 deprecate enhanced editor

* #308, other small fixes

* #320

* minor fixes (#324)

change scroll top top feature JSON info

* fixes #329 (#330)

also reduces jQuery dependency

* v2.1.4 DEV before push to master

also adds #326

* v2.2.0

* inital DEV push

* update readme to state GM not supported; #306

* reduce dependency on `hotkeys`+minor details (#333)

* #334 fixed

* #334

* #334

* #338

* #335, #338

* Micro optimizations (#336)

* update source link

* micro optimizations

- converted jQuery .not to CSS selector for faster perf (https://stackoverflow.com/questions/8845811/performance-differences-between-using-not-and-not-selectors)
- introduced a separate function to eliminate thrice-repeated (!) code, to keep it DRY

* fixes some issues (#339)

described in #338 (comment)

* fixes #338

* fixes #338 (#340)

1. used addEventListener instead of onload
2. descriptive names (`reader`)
3. optimized extraction of the image URL from the `data`
4. made all declarations `var` and moved them into one place for consistency
5. shortened the POST url to simply `'/upload/image?https=true',` ;P

* #322 implemented

* Sticky property

* Update sox.user.js

* Updating button colors

The main SE buttons use a lighter color than the SOX buttons

* Update sox.css

* Minor fixes

Patched a problem with vote buttons, and fixed the color of the notify on edit button

* Update sox.user.js

* minor changes/fixes

* #341 temporary fix

* Updated mod diamond icon

Updated to the icon, to match the one used by the new topbar

* Updated diamond icon

* Updated mod diamond

* improvements in colorAnswerer (#344)

* improvements in colorAnswerer
1. constant variables+cache answeredID
2. reduce jQuery dependency+shorter a[href] selector via user ID
3. change coloration

* optimization: use filters throughout (#345)

reduces bandwidth consumption

* fixes a few features; adds CSS

Fixes moveBounty, dragBounty, copyCommentsLink.
Adds class for colorAnswerer.
Updates jQuery

* fixes quickAuthorInfo fontawesome icon

* fix a few of #308

* Major improvements in code extensibility, reduced API usage, eliminate redundancy, etc. (#348)

* fixes various bugs mentioned in #348

* fixes standOutDupeCloseMigrated for search pages

* remove unwanted console logs

* #347, various minor tweaks

* fixes small bug in parseCrossSiteLinks

e.g. on this comment: https://meta.stackoverflow.com/questions/370902/i-need-a-lot-of-help-to-write-a-query-for-the-stack-exchange-data-explorer-sh?cb=1#comment608548_370902

* Fixed Meta SE's chat link

Added a / to the end of Meta SE's if statement to fix it. Also replaced "discuss" with "meta" for Area 51 (to match the new URL for Area 51 Discussions), shortened a bit of code, and added some comments

* Fixed Meta SE links

* Changed topbar z-index

Changed the fixed topbar's z-index to match the one on SO, in order to prevent elements like the usercard (z-index: 1000) from covering it

* Made it clearer what the checkbox does

* Many fixes to dialog buttons

Fixes many of the bugs from #308

* Many fixes to dialog buttons

Fixes many of the bugs from #308

* Many fixes to dialog buttons

Fixes many of the bugs from #308

* Many fixes to dialog buttons

Fixes many of the bugs from #308

* Fixed Area 51 Discussions bug

* #348 minor tweak

* fix (#350)

...for answerer ID 13 also matching commenter ids beginning with 13 (1345, 13555, etc.)

* #352, #353 remove yahoo YQL use

* #352

* PR/351 (#355)

* update getQuestionTags

* provide immediate response to user

* minor changes

* #325: remove rangyInputs dependency (#354)

* bump version number

* remove downvotedPostsEditAlert; remove rangyinputs `require`; implement mini changelog in dialog

* install stale and no-response bots

* #356 added, minor bug fix

* start #349, start to move to es6

* onlyShowCommentActionsOnHover bug fix

* #357

* deprecate fixedTopbar feature for #349

* add showTagWikiLinkOnTagPopup feature

* #359 fixed

* #358 fixed

* fixes #360

* fixes for #361

* #361 changes

* v2.3.0 final

* 2.3.0 DEV

* fix for #363

* implemented 'feature packs' in settings dialog

* debugging for #363, fixes #364

* #363 debugging

* fix for #363

* #361 implemented (access token no longer mandatory); minor code cleanup

* #365

* fix #368

* Add #315

* fix #366

* start to use linting

* fix #372

* add #370

* clean up code

* implement #374

* fix #373

* add #370; deprecate pasteImagesDirectly

* #374 replace 'help' instead of prepend new link

* change indentation to 2 spaces

* lint

* implement #296

* implements #376 (linkify meta diamond dialog title)

* fix #375 (topAnswers post score not being found)

* improve customMagicLinks feature -- add button to help menu on all pages

* fix sticky vote buttons feature

* keep new meta posts under diamond even after clicking (#378)

* editComment improve design, add more defaults (#377)

* fix better css feature

* editComment: make dialog delete button smaller

* improve editComment for #377; allow editing; new setting storage format

* add delay to comment features for links to deleted comments #379

* bump to v2.4.0

* Remove accidental letter introduced into file

* Bump installation link version numbers

* Lint
@IzzySoft
Copy link

IzzySoft commented Dec 9, 2021

Is there any chance that compatibility can be established with GM4+ – or has that addon been declared dead now (seems like the last commit to its source tree was in 1/2021, so almost a year ago)? Now that SO dropped compatibility for a lot of browsers last night, I'm forced off my main browser (Waterfox Classic) for SE stuff – and in G3 I've got GM 4.11. I'd rather avoid reconfiguring everything again (as that would also mean sttings etc. of other scripts being lost).

@shu8
Copy link
Member Author

shu8 commented Jan 1, 2022

@IzzySoft sorry for the delay! GM4 broke a lot of functionality and we decided we would no longer officially support it due to our time constraints unfortunately. Are you able to use Tampermonkey instead? SOX and most other userscripts should work out-of-the-box with TM.

Pull requests by anyone to support GM4 are more than welcome though!

@IzzySoft
Copy link

IzzySoft commented Jan 1, 2022

I can confirm it also broke many of my scripts. I somehow managed to fix those I still maintain (mostly by injecting a compatibility layer). But I understand this might be too much effort and not worth it, considered that development of GM4 seems to have stopped.

However, switching to a different userscript manager would mean porting all currently active scripts and their settings over. And the settings part can be quite tricky. Do you know if it's possible, without too many side effects, to temporarily run both (GM4 and Tampermonkey) in parallel – so the settings of scripts that have no export/import feature can be copy-pasted?

@shu8
Copy link
Member Author

shu8 commented Jan 2, 2022

@IzzySoft I'm not sure of the best way to do that, I think it would depend on how the scripts you use save their settings. Is it using GM_setValue etc. or something else?

I found How to Transfer All Greasemonkey userscripts to Tampermonkey on Firefox 57+ which might help copying the scripts themselves to TM.

If they are using GM storage for the settings, you could to add a console.log(GM_listValues(...)) line at the top of the GM scripts that don't have export/import functionality (https://wiki.greasespot.net/GM.listValues), and then use GM_setValue in the imported TM scripts by copy/pasting the logged settings. Depending on how many userscripts you have/how many have settings, this might be the best way!

There might also be better ways but unfortunately I'm not aware of them!

@IzzySoft
Copy link

IzzySoft commented Jan 3, 2022

My own scripts use GM_setValue, but I haven't checked what the 3rd party scripts use. Thanks for the pointer to the how-to, will definitely check that as soon as time permits.

As for console.log – that would mean I'd know at least the variables to check. For more complex scripts, that would be more work than just copy-pasting from the resp. settings pages.

Not sure when I'll find time for that. I'll mark the notification I received for your comment, and report back when I was able to get my hands on this. Thanks a lot!

@shu8
Copy link
Member Author

shu8 commented Jan 3, 2022

@IzzySoft the listValues function should just dump all the variables so you can then save them all back in TM!

I hope it works for you when you do get time! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants