Marti Admin

Next time if you plan on forking someones code please go to that script homepage, then click on Source Code tab... make your changes optionally or later... then click the "Submit Code as Fork" button and it will back link it automatically on your fork to that Authors.

Forward linking is currently fine how you did it if you so choose to do so on that original script.

It's been fixed on this script for now.

Thanks,
OUJS Admin



Give it a whirl now with the patch. Seems to work with your custom style of .meta.js being generated offsite. Let me know if you have any other issues.... although this issue should have been on Development for speedier response times. Good thing I checked here this evening otherwise you may have had a long wait time. :)


However before I go twiddle with that... the GH cache timing is an issue e.g. nothing that we can do about it. Slowing down fast commits to GH is required by them in their caching scheme otherwise they serve old source regardless of what is showing in HTML view.


Hmmm... webhook says it tried to deliver the .meta.js from GH. Interesting little glitch. Will try a patch in a bit.



Thanks for keeping comments for the licensing. Closing.



And now it's 1.9... above comment still stands though.


Not that this is needed as all known current .user.js engines already have update checking built in... your embedded update checker is showing version 1.8 as compared to this scripts @version which is currently 1.9.

You might consider just dropping that routine and utilizing @version when you want to trigger an update.

Thanks for the look,
OUJS Admin


Your other account is banned.

  1. If we see this script hitting our site every second this account will go away as well.
  2. If you post scripts that aren't yours and claim they are yours your account will go away.

If you wish to continue here be more respectful.

OUJS Admin


Re: @TheOpenUserNut:

... formal pull request ...

Sometimes that gets the attention better.

Could have also used this FAQ applied to this:

diff --git a/./Pandora_music_replay_and_download.user.js.original b/./Pandora_music_replay_and_download.user.js
index 70549c6..ae1637e 100644
--- a/./Pandora_music_replay_and_download.user.js.original
+++ b/./Pandora_music_replay_and_download.user.js
@@ -203,7 +203,7 @@ to {transform:rotate(360deg)}
         $.each(audios,function(index,item){
             if (!audioURLs.contains(item.src)) {
                 audioURLs.push(item.src);
-                renderAudioHTML(item.src,$("[data-qa='mini_track_title']").text(),$("[data-qa='mini_track_artist_name']").text(),$("[data-qa='mini_track_image']")[0].src);
+                renderAudioHTML(item.src,$("[data-qa='mini_track_title']").text(),$("[data-qa='mini_track_artist_name']").text(),$("[data-qa='mini_track_image']")[0].src,$("[data-qa='playing_album_name']").text());
             }
         });
     }
@@ -217,6 +217,7 @@ to {transform:rotate(360deg)}
 </div>
 <div class='audioinfo'>
 <div class='audiotitle'>${title}</div>
+<div class='audioalbum'>${album}</div>
 <div class='audioartist'>${artist}</div>
 <div class="audiofns">
 <div class="audiotrack">
@@ -285,4 +286,4 @@ to {transform:rotate(360deg)}
         getAudio();
     }
     setInterval(getAudioURL,1000);
-});
\ No newline at end of file
+});

using the diff keyword after the first set of three backticks. Gives some fancy colorings including which lines were changed. :)


Re: @TheOpenUserNut:

Please remember to put any code in back ticks (` ... pair of these with code in between) or code fences (three back ticks on their own lines with the code in between... see this FAQ) so the author can see what you are talking about. You can always tap the Preview button to see how it will turn out.

The posting has been fixed for you.

Thanks,
OUJS Admin


Re: @Mottie:

I am forced to manually update my userscripts is because the GitHub hook doesn't work

Works for me. Are you sure you followed the instructions at /user/add/scripts#sync-script?

Your account looks fine with the Auth you provided and as you it imports just fine so that leaves whatever you have done on your GH account for the webhook.

Refs:



Re: @glebm:

Unescaping and beautifying the bookmarklet this comes out to be:

(function () {
  function e(e, o, r) {
    const c = e.nodeValue.split("\t").map(e => e.split(" "));
    if (1 === c.length && 1 === c[0].length) return;
    const a = e.parentNode,
      d = t => {
        a.insertBefore(t, e)
      };
    n(c, e => 1 === e.length && "" === e[0], e => d(t(o.repeat(e))), e => n(e, e => "" === e, e => d(t(r.repeat(e))), e => d(document.createTextNode(e)))), a.removeChild(e)
  }

  function t(e) {
    const t = document.createElement("span");
    return t.textContent = e, t.style.opacity = c, t
  }

  function n(e, t, n, o) {
    const r = e.length;
    e.reduce((e, c, a) => {
      const d = t(c);
      return d && a !== r - 1 ? e + 1 : (e > 0 && n(e), d || o(c), 1)
    }, 0)
  }
  var o = "·",
    r = "â",
    c = .8;
  ! function () {
    for (const t of document.querySelectorAll("table[data-tab-size]")) {
      const n = r.padEnd(+t.dataset.tabSize),
        c = document.createTreeWalker(t, NodeFilter.SHOW_TEXT, {
          acceptNode(e) {
            let t = e.parentNode;
            for (;
              "TABLE" != t.nodeName;) {
              if (t.classList.contains("blob-code-inner")) return t.firstChild !== e || " " !== e.nodeValue ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
              t = t.parentNode
            }
            return NodeFilter.FILTER_SKIP
          }
        }),
        a = [];
      for (; c.nextNode();) a.push(c.currentNode);
      for (const t of a) e(t, n, o)
    }
  }()
})()

... looks like the identifiers have been mangled and the code compressed. Bordering on the fine line between legible and obfuscation.


Re: @sizzle:

you should use a code block with syntax highlighting

@glebm did use a code fence however I added the js to see if it would highlight and it doesn't do well with bookmarklets (inspect the HTML rendered at the pre/code tags and it will have a class of lang-js if the highlighter tried) . I'm usually validating these as much as I can and created this FAQ entry for this exact reason.

I do agree that bookmarklets shouldn't be posted especially since most of the browsers are starting to or have blocked these. Maybe the beautify option on a new script can make it look pretty for validation... haven't tried yet.


Re: @jscher2000:

... shows MIT despite ...

Better? Please give your script source code pages a quick view at your leisure. Still has one quirk that I don't know how to get rid of yet e.g. the thing that doesn't look right but I prefer a desktop where it never is in view. ;)


Re: @monk-time:

I'd like to post my fork, keeping the copyright notice and license and all. I see it's GPL v3, but I thought I should ask if you are okay with that anyway.

That's nice and very responsible to ask directly however all scripts are allowed to be forked on OUJS. See TOS terms for licensing and the permissions granted by signing up on this site. It's great to get attribution for ones work... you might consider becoming a @contributor, optionally through OUJS collaboration, if the original author is willing to do this... or just fork it. :)

One important note... if it's a derivative of this script please maintain the GPL-3.0 (SPDX) licensing and the authors @copyright metadata block keys as well. If the header is included it's best to include that as well however if it matches the @license and @copyright keys then that would be redundant for OUJS but GNU usually says keep it included... they also don't normally use metadata like Userscripts and Userlibraries. If you need a third party verification please look at GitHub's simplified explanation under Conditions on a GPL enabled repo... take my repo for example... "same license" is a condition.

Thanks for the read,
OUJS Admin




The NASA license is a U.S.A Governmental license. If you aren't a government agency it can be a felony to impersonate one. There are also international laws that prevent impersonation.

It's left in here in case we get some more government staff in here... so pick carefully.

Thanks,
OUJS Admin


Re: @jscher2000:

the Author Tools defaults to MIT regardless.

Site default for copying to the clipboard. You can select any of the ones in the drop down list then copy that.

When I can do up bootstrap a little more on the source code page those may move over there instead. The source page is fixed height so there's not a whole lot of tweaking room to add any authoring tools... especially on desktops when viewport is shrunk. Tried it already and it just didn't look right... still pondering.

Anyhow thanks for the fix. :)