Refined-github: Releases panel is removed (without `releases-tab`)

Created on 27 Dec 2020  路  13Comments  路  Source: sindresorhus/refined-github

Edit: This (not being able to access releases at all with only one of the features enabled) has been confirmed as WAI. There is a workaround userscript here: https://github.com/sindresorhus/refined-github/issues/3848#issuecomment-751515243.


The releases panel on the right of every repo is removed (since one of the latter updates of the extension), even when releases-tab is disabled.

The panel is present when disabling the extension.

This happens in any repo (with releases, at least).

Example URL where the bug appears: https://github.com/sindresorhus/refined-github

Screenshot:
Extension disabled:
imagen
Extension enabled:
imagen

bug

Most helpful comment

Yesterday clean-repo-sidebar didn鈥檛 even exist, now you鈥檙e complaining that you want to keep it enabled.

Yesterday clean-repo-sidebar didn't even exist, true, but hide-empty-meta did, which had features that were moved into clean-repo-sidebar (and some from hide-zero-packages too).

And why do you want to disable releases-tab?

I just don't like it, I think it gets too much importance there. I think that's the point of being able to choose features.

Anyway, don't worry, I'll live with it, or maybe at some point make myself a script to allow both somehow.

Edit: For anyone looking to not have the tab but have clean-repo-sidebar (there is people according to reactions), the following userscript seems to work:

// ==UserScript==
// @name     Readd releases post Github Refined change
// @version  2
// @grant    none
// @include  https://github.com/*
// ==/UserScript==


//Check if it's main repo page. Works most of the time (except when ending in /, which doesn't happen by default)
regex = new RegExp('(^[^\/]*(\/[^\/]*){4}[^\/]$)');

window.addEventListener("load", function(event) {
  restoreReleases();
});

window.addEventListener("pjax:end", function(event) {
    restoreReleases();
});

function restoreReleases() {
  setTimeout(function() {
    if(!regex.test(location.href)){
      return;
    }
    console.log('Readding releases panel (removed by Github Refined)');
    const sideReleases = document.querySelector('.BorderGrid-cell a[href$="/releases"]');
    sideReleases.closest('.BorderGrid-row').hidden = false;
  }, 1);
}

It is still temporarily hidden, but it's better than nothing (maybe listening to readystatechange would be better). Timeout is needed because else Github Refined tends to be executed after in pjax:end.

All 13 comments

A few features were merged. To unhide that disable clean-repo-sidebar https://github.com/sindresorhus/refined-github/pull/3783

But, shouldn't that feature hide only empty panels?

Well we are showing the release tab as part of the other tabs.

Except when releases-tab is disabled, like in this issue, or is it present somewhere else?

@altrisi we don't have a rule to not hide that section when the releases tab feature is disabled. It's possible to add it, but this type of interaction occurs with plenty of features and we don't code around them either. I'm not in favor of coupling them together and instead letting the user disable both.

That part of releases-tab was consolidated into clean-repo-sidebar as requested in https://github.com/sindresorhus/refined-github/issues/3706

Then, there is no way except from manually changing the url of getting into the releases page without enabling releases-tab or disabling clean-repo-sidebar?

Correct. Either leave both enabled or disable both.

That makes no sense to me, but well, it's your extension. I suppose it's ok to make things not work at all if that's what you want.

I can't find where it was requested, though.

Edit: I mean, if having one disabled without the other directly removes functionality from the site, why not even merging both? This makes no sense at all.

Yesterday clean-repo-sidebar didn鈥檛 even exist, now you鈥檙e complaining that you want to keep it enabled.

And why do you want to disable releases-tab?

Yesterday clean-repo-sidebar didn鈥檛 even exist, now you鈥檙e complaining that you want to keep it enabled.

Yesterday clean-repo-sidebar didn't even exist, true, but hide-empty-meta did, which had features that were moved into clean-repo-sidebar (and some from hide-zero-packages too).

And why do you want to disable releases-tab?

I just don't like it, I think it gets too much importance there. I think that's the point of being able to choose features.

Anyway, don't worry, I'll live with it, or maybe at some point make myself a script to allow both somehow.

Edit: For anyone looking to not have the tab but have clean-repo-sidebar (there is people according to reactions), the following userscript seems to work:

// ==UserScript==
// @name     Readd releases post Github Refined change
// @version  2
// @grant    none
// @include  https://github.com/*
// ==/UserScript==


//Check if it's main repo page. Works most of the time (except when ending in /, which doesn't happen by default)
regex = new RegExp('(^[^\/]*(\/[^\/]*){4}[^\/]$)');

window.addEventListener("load", function(event) {
  restoreReleases();
});

window.addEventListener("pjax:end", function(event) {
    restoreReleases();
});

function restoreReleases() {
  setTimeout(function() {
    if(!regex.test(location.href)){
      return;
    }
    console.log('Readding releases panel (removed by Github Refined)');
    const sideReleases = document.querySelector('.BorderGrid-cell a[href$="/releases"]');
    sideReleases.closest('.BorderGrid-row').hidden = false;
  }, 1);
}

It is still temporarily hidden, but it's better than nothing (maybe listening to readystatechange would be better). Timeout is needed because else Github Refined tends to be executed after in pjax:end.

I think that's the point of being able to choose features.

Right, that鈥檚 why they been split. If we merge them someone will ask for the opposite.

The defaults work for all, so you can鈥檛 say that they don鈥檛 make sense. If you disable features that鈥檚 your own choice.

Was this page helpful?
0 / 5 - 0 ratings