Are you sure you want to go to an external site to donate a monetary value?
WARNING: Some countries laws may supersede the payment processors policy such as the GDPR and PayPal. While it is highly appreciated to donate, please check with your countries privacy and identity laws regarding privacy of information first. Use at your utmost discretion.
Re: @sjehuda:
Skimmed over the code a bit. Seems to be a static copy of blink (i.e. Chromium V8 engine). Which makes it fall under the same category warning of Tampermonkey for Android where it can be out of date rather quickly.
That would be consistent. It does partially support a UserScript metadata block. The missing items that it doesn't include are disappointing including the non-existent
@required
scattered in the repo and some other useful/critical ones, excluding@include
of course. Major typo perhaps.The repo seems to be a very new to Userscripts and imho needs some more work before it should be considered as viable and safer.
I realize that you are excited to share this new to you found app however this came very close to triggering a spam action. Please curtail your enthusiasm from sounding like a cheap car commercial... especially in the Discussion title (and no it won't be changed).
Your entire script loads external scripts and injects them into the respective matches from a third party domain.
You should refactor this to be more transparent soon before it and you are eligible for removal.
Re: @4lrick:
Cool. Thank you!
Is this working as expected on Livestreams?
e.g. https://www.youtube.com/@dwnews/streams first video that is labeled "LIVE".
Says on my end end that it's counting down from 60 minutes.
Thanks for the look.
Re: @sahil289:
OUJS is a Presentational Userscript Repository only. So no. Use GitHub if you want full SCM functionality at this time.
Re: @sjehuda:
The Kiwi Browser at Google Play currently mentions as of Mar 20, 2023:
... whereas my distros Chromium is currently at 111.0.5563.110 via snap. Chromium itself is probably at an even newer revision. None of this necessarily means it's "bad" but it does mean it's behind the current security patches.
Anyhow... you tell us if it works natively or if you need a .user.js engine. I would suspect it needs a .user.js engine like Tampermonkey (TM) or Violentmonkey (VM) like most Chromium based browsers (there are exceptions to this).
Re: @sjehuda:
Probably but under Gecko since it's a Firefox variant fork.
Re: @sjehuda:
Tried... no. Skimmed... yes. Seems a rather new feature from their repository history.
Limited from what I can tell at this time.
As with Tampermonkey for Android you might run the risk of it's base core, Chromium, being out of date. i.e. possible browser security vulnerabilities.
You tell us. :)
Re: @Fryuni:
As far as Chromium/Chrome is concerned the
@match
syntax is standardized here. Both match pattern are definitely not listed there.As far as Greasemonkey (GM) is concerned the latest change to the script and it's original broke the script because it is an invalid
@match
pattern. Tampermonkey (TM) allows it but it probably isn't working as expected.Re: @chubby_cows:
As I stated to @Fryuni this is incorrect... however:
--- /scripts/Fryuni/Use_Croct_experimental_endpoints/source@0.3.0-beta2+0af881b +++ /scripts/Fryuni/Use_Croct_experimental_endpoints/source @@ -7,7 +7,7 @@ // @updateURL https://openuserjs.org/meta/Fryuni/Use_Croct_experimental_endpoints.meta.js // @downloadURL https://openuserjs.org/install/Fryuni/Use_Croct_experimental_endpoints.user.js // @description Plugs Croct with the experimental endpoints. Configurable with Ctrl+Alt+C. -// @match **/** +// @match *://*/* // @icon https://www.google.com/s2/favicons?sz=64&domain=croct.com // @run-at document-body // @require https://openuserjs.org/src/libs/sizzle/GM_config.js
... on the current source should do what you want.
--- /scripts/Fadexz/Start_YouTube_Autoplay_Off/source@1.1.2+63ce05b +++ /scripts/Fadexz/Start_YouTube_Autoplay_Off/source @@ -6,7 +6,7 @@ // @copyright 2022, Fadexz (https://openuserjs.org/users/Fadexz) // @license MIT // @version 1.1.2 -// @match http*://www.youtube.com/watch?*v=* +// @match *://www.youtube.com/watch?*v=* // @run-at document-end // @grant none // ==/UserScript==
... .. should make it a valid
@match
syntax from the standard documentation.Thanks for the look.
Re: @sjehuda:
Assuming Falkon still has debugging try that.
Do Ctrl+Shift+J for the Browser Console and click the gear icon in the far upper right to ensure that all items are ticked on esp.
Show content message
. Then ensure that Errors and Warnings are selected to the left and any other item you wish to debug.The library that it uses for the
@require
, as you probably know, is at https://www.npmjs.com/package/darkreader . Once you have done the minimum steps for debugging to determine if there errors specific to that script (try running only that .user.js too) showing up then you could possibly go to the repo referenced at npmjs. As far as the top level script goes, esp. since it is so small i.e. a stub loader, I don't see anything else that can improve the .user.js any further.If all the browsers fail it's possible there's something at the target site you are trying to apply it to that prevents script injection too. Manual injection isn't the same as a .user.js injection (different permissions in every browser usually).
Again Good luck.
Can't say for sure since you didn't give a target to test against but I don't see
GM_addStyle
used either in the primary top level script nor the current@require
d library... so possibly try some code improvements of:--- /scripts/wenhairu/Dark_Mode/source@1.0.0+a6a8e07 +++ /scripts/wenhairu/Dark_Mode/source @@ -2,7 +2,7 @@ // @name Dark Mode // @namespace darkreader.org // @match *://*/* -// @grant GM_addStyle +// @grant none // @icon https://p.pstatp.com/origin/ff740000b3f19de1691e // @version 1.0.0 // @author wenhairu @@ -11,4 +11,6 @@ // @require https://cdn.jsdelivr.net/npm/darkreader/darkreader.min.js // ==/UserScript== -DarkReader.auto({brightness:100,contrast:90,sepia:10}); \ No newline at end of file +/* globals DarkReader */ + +DarkReader.auto({brightness:100,contrast:90,sepia:10});
I would also give it a whirl in Greasemonkey (GM) itself with Firefox. Presuming that you are using Chrome, Tampermonkey (TM) and Violentmonkey (VM) do things slightly different inside the extension. If you need to test older GM you may try SeaMonkey with Greasemonkey Port (GM Port).
Good luck.
Re: @Velitar:
It seems that you forgot to do this part.
See https://openuserjs.org/about/Frequently-Asked-Questions#q-what-is-a-good-way-to-present-a-code-change-to-an-author-
Re: @sjehuda:
Well that leaves the "voodoo" for Fx as far as I can tell.
HTTP headers can (and are) spied on inside the browser... Fx may not know how to handle otters abrupt termination of the message and thus you get a default download prompt with headers that are handled internally (if at all... could just be a silently ended process) and not passed to an extension or even the Browser Console. This could be a feature this could be a bug... unfortunately diagnosing that is beyond the scope of OUJS... but that should give you some things to consider searching for. You'll need to have a decent understanding of CPP and Qt/GNU compiler languages too in order to debug this properly.
You might submit your stack trace to TM and see if he can decipher it a bit more. TM also abstracts a lot of the core JavaScript prototypes (because TM has to to work) and work your way up to bugzilla.
Re: @sjehuda:
Just use
var
orlet
.... it's ES6+ syntax to useconst
... on a note if you are getting a re-declaration error that usually means your script is running in the same identifier context more than once in that particular routine.let
can help with that since it's technically ES5.1 and goes "out of scope" when it hits a bracket.Re: @sjehuda:
Download prompt and silent error iteration.
Luckily Chromium shows what the error is:
Unchecked runtime.lastError: The message port closed before a response was received. otter-browser.org/:1 Unchecked runtime.lastError: The message port closed before a response was received.
That particular feed seems to be doing some "voodoo" against Fx. i.e.
Content-Disposition
and related HTTP headers that get intercepted internally by Fx and Chromium.Re: @sjehuda:
You have to remember that Falkon is an abstracted WebKit/V8 fork (Qt) so they might have different implementations than standard CPP to JavaScript. The syntax of the core of the browser is typically CPP with a toolkit Qt browser vs native CPP and non-Qt (GNU to be exact) toolkits... so expect some differences in ECMAScript implementation.
Re: @sjehuda:
Haven't been prompted for that here... it's always loaded in the page here. PHP can do that as well depending on region, browser, etc.
Re: @sjehuda:
For debugging purposes do as you just said here with:
Temporarily, or create a temporary script, and debug against that include specifically. Chromium decodes the feed but the prior reply I did with Fx shows a contentscript.js error... that can be Userscripts or just the browser itself. Same with document.head too.
Re: @sjehuda:
Just did that in Fx with GM... and I get errors:
... the document.body is null one is suspect for failure of
DOMParser.parseFromString
if I recall correctly. The others are internal to Fx. Debugging in Fx isn't exactly pleasant any more so sometimes I have to hop to Chromium with TM to get a clearer picture.Re: @sjehuda:
One other quick note... your current
@include
is way too wide... perhaps you are getting other data processed too from different URLs. Perhaps narrow that down a bit to rule out this.Re: @sjehuda:
Here should be a more readable stack trace (newline escaped removed to actual and some indention):
{ name: "", message: "", result: 2153775105, filename: "moz-extension://21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0", lineNumber: 181, columnNumber: 0, data: null, stack: "renderFeed@moz-extension://21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:181:17 checkMediaType @moz - extension: //21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:138:15 httpGetAsync / xmlHTTPRequest.onreadystatechange @moz - extension: //21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:85:15 EventHandlerNonNull * httpGetAsync @moz - extension: //21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:69:3 tms_acd40735_0cb5_4484_bcb0_b1d674174df0$ @moz - extension: //21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:249:13 it @https: //www.blacklistednews.com/rss.php:14:1075 window[\"__p__13666865.141279189\"]/</<@moz-extension://21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:1:131 window[\"__p__13666865.141279189\"]/<@moz-extension://21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:1:531 window[\"__p__13666865.141279189\"]@moz-extension://21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:251:6 it @https: //www.blacklistednews.com/rss.php:14:1075 set @https: //www.blacklistednews.com/rss.php:3:400 @moz - extension: //21fd3529-b958-4444-a848-78dc744a32b7/userscripts/Newspaper.user.js?id=acd40735-0cb5-4484-bcb0-b1d674174df0:1:1 it @https: //www.blacklistednews.com/rss.php:14:1075 I[t] @https: //www.blacklistednews.com/rss.php:4:485 it @https: //www.blacklistednews.com/rss.php:14:1075 y @https: //www.blacklistednews.com/rss.php:6:40 send @https: //www.blacklistednews.com/rss.php:7:128 V @https: //www.blacklistednews.com/rss.php:3:307 E_u / < @https: //www.blacklistednews.com/rss.php:4:275 E_u @https: //www.blacklistednews.com/rss.php:4:330 create / < @eval: 64: 45 create @eval: 65: 178 l @eval: 6: 96 n @eval: 5: 325 run @eval: 6: 188 TM_back / < /</ < @eval: 67: 49 it @https: //www.blacklistednews.com/rss.php:14:1075 t @https: //www.blacklistednews.com/rss.php:15:366 TM_back / < /<@eval:67:30 TM_back / < @eval: 67: 59 TM_back @eval: 68: 3 window[\"__c__10191374.835477514\"]@eval:68:10 it @https: //www.blacklistednews.com/rss.php:14:1075 set @https: //www.blacklistednews.com/rss.php:3:400 @eval: 1: 1 " }
DOMParser.parseFromString
has been notoriously different between browsers (a.k.a finicky) over the years on how it handles Strings and might be throwing an error since you don't appear to be checking for that.Are you sure that 181 is that line... usually the line before that could also be suspect where you set it to
null
currently here. Try not doing your own garbage collection and let JavaScript do it for you... or even tryundefined
instead of anull
Object assignment for a possible work-around.Fun... nothing like non-matching version numbers between Arch and non-Arch. My Arch VM hasn't been around since the Qupzilla days but perhaps in time (when I have it) I can peruse the source and see what it might be doing different than Fx... however I'm still swamped with real life duties atm... probably until the end of the month.
Your XML appears to be validated properly so I'm taking a wild guess there is a JavaScript issue with the implementation. You might see if any of your isolated areas of your code are mentioned on bugzilla.
The RSS feed appears at a very quick glance to be correct too... but that's a dynamic data stream and can produce different results on-the-fly especially since it's PHP.
Re: @sjehuda:
Fun... Windows binary installation is currently 3.1.0 and snap is 3.2.0. Windows has GreaseMonkey extension (and a weird mirrored and rotated 180d
falkon:start
page); snap does not have the GreaseMonkey extension.WSL 1 was running about a year'ish or so ago on Windows 10... however current WSL 2 doesn't work on dev station VM (neither does WSL 1 last try). So can't get windows snap installed to even try the Ubuntu version on Windows... although running it directly on Ubuntu as previously mentioned.
Re: @sjehuda:
Groups are more or less permanent at this time.
Re: @sjehuda:
I've briefly skimmed over the script syntax and I don't see anything right away that would prevent it from working. Do you get any errors/warnings in Browser Console specific to the script?
Never utilized that feature however I do briefly check in Firefox (Fx) the XML generated before importing into Thunderbird's (TB) feeds which definitely supports RSS and atom feeds (and obviously not a Userscript engine there).
Btw what version of Falkon are you using please. I loaded in their latest under Linux and there is no GreaseMonkey (last known properly casing) extension via their snap but is present via current distro (which is older). As the AM of the site it is on my lengthy TODO list to verify the on-site documents.
I suppose I could fire up a VM of Windows and check that in a bit but anyone attempting to diagnose your question would need to know to compare.
Your users (and perhaps you) aren't getting updates.
If you want them to please make this recommended change:
--- /scripts/alike03/allkeyshop.com_Real_Prices/source@1.2+3b8a779 +++ /scripts/alike03/allkeyshop.com_Real_Prices/source @@ -8,7 +8,7 @@ // @icon https://www.allkeyshop.com/favicon.ico // @updateURL https://openuserjs.org/meta/alike03/allkeyshop.com_Real_Prices.meta.js // @supportURL https://openuserjs.org/scripts/alike03/allkeyshop.com_Real_Prices/issues -// @downloadURL https://openuserjs.org/src/scripts/alike03/allkeyshop_com_real_prices.user.js +// @downloadURL https://openuserjs.org/src/scripts/alike03/allkeyshop.com_Real_Prices.user.js // @require https://code.jquery.com/jquery-3.6.0.slim.min.js // @copyright 2021, alike03 (https://openuserjs.org/users/alike03) // @license MIT
... plus it should clear your Source Code notice.
You have another issue on your other published script too that is similar in nature (partial
yt
vs.Youtube
, etc. which points to a non-existent script).