v4 Color update

While working on the forms update, I noticed we have quite a few ways of reassigning variables for our color system. The $brand- variables have been around for awhile as a support system for semantic naming, but honestly, it's an unhelpful abstraction. Not everyone's primary color is blue or their error state red.
This PR aims to drastically improve the power of our colors, simplify code by removing the $brand- and $state- variables, and increase the number of component variants and utility classes. This has been built in such a way that we can easily expand or add new maps for color shades after v4 ships. I went down a few paths the last couple weeks and ultimately decided this was the one of least resistance given a shorter window.
More specifically, this:

Removes the $brand- variables, replaced by ${color} variables. For example, instead of $brand-primary it's $blue.
Removes the $state- variables as only alerts and list groups were using them. Fixes #22175. (For those following along at home, this is the start of the color variable rabbit hole. :laughing:)
Renames all component variants from success, info, warning, and danger to their color counterparts.
Fixes #21311 by adding .btn-gray-dark variant.
Closes #19792 as a won't fix by removing card variants for background and border utils.
Fixes #18119 by adding a color contrast mixin.
Closes #22062 and #22363—no need for customizing the color of badges when there are text color utilities.
Updates buttons to use the $colors Sass map to generate more button variants.

More still to come, including:

[ ] Finish updating Options docs
[ ] Revamp the colors to create an actual color scheme
[ ] Ideally improve contrast ratios
[ ] Consolidate and standardize variant names

See #18462 for first foray into color palette. That PR failed as it started with the brand and state colors vs abandoning them completely for a clearer and more customizable system.

Tweaking colors a bit...

It will be harder to create reusable themes considering that the color will be expressed in the class name in html. (no more bootswatch and similar) I'm not sure it was an unhelpful abstraction.

Since you are touching colors, i propose again to introduce 2 vars for text color (i.e. $text-color-dark and $text-color-light) that are applied automatically to text-color property. (Using their luma difference with backgournd)
It would help to keep text readable and consistent while changing backgrounds.

I'm in agrement with @gseregni, having the color in the class name makes it difficult to theme applications where we don't have control over the markup. Not everyone's primary color is blue or error state red, but generally, everyone has a primary color and error state. Semantic naming made it easier to change colors globally across components. One day our primary color might be blue, but the next day it's red. It's easier to remember where all our primary buttons are versus having to remember what our primary color was the day before.
I'm actually for minimizing the number of colors included in v4, since there are an infinite amount of color palettes you may want to use. Help us create awesome accessible reusable cross browser compatible components and let us theme it to match our needs!
With that said, it looks like we can go back if we like by defining the $color sass map to be whatever we want, which is great! Just concerned about some of the variant CSS bloat.

It will be harder to create reusable themes considering that the color will be expressed in the class name in html. (no more bootswatch and similar) I'm not sure it was an unhelpful abstraction.

I don't see how this PR prevents themes from being created.

There are now variables and a Sass map. This allows more fine grained control and customization, as well as easier class generating from the map.
There are twice as many colors available, meaning more pre-built modifiers for many components.
It's all Sass maps and variables, so you can quite easily replace the default values with your own.

@mdo The problem it's not about creating custom themes (Sass color map it's ok), It's about having more themes that you can apply to the same page without touching html.  Using the new rules  you'll end up having colors written in HTML not CSS, so you won't be able to switch from one theme to another. With semantic-color-naming instead this was trivial.

@gseregni If I'm not mistaken, by this PR will not affect HTML at all but rather offer customizable themes similar to Google Materials idea. We had the navbar and navbar-inverse class markup. This PR could avoid this and make it more simpler and versatile

if i understood... we lost the context class (danger, default, warning ...) for some color name in html ...If we compare

a semantic contextuel class (danger, default, warning ...) with color defined by the css
a semantic color class (green red ....) class with color defined by the css
for me it seems that in the second case we lost a great information in the structure of the html

.... & heavy work to rewrite entire html of some  project  &...
or i dont understand ?

@gseregni haven't used a theme generator .. and based on what i read the theme generator only generates a custom bootstrap version ( css file ) so it modifies just some colors and stuff .. shouldn't be easier now to generate a color palette .. ? I mean they will just put there 5 variable generate the css for them and have a text added to use your chosen colors you have the following classes.. =D simple as that :-? . also you can always have your own mixin to create

@bogdaniel I develop a popular Bootstrap builder and, believe me, for my use case this PR is a bad thing. Maybe for you and many others not. it's ok.

@marcsoler yes the use of a color map in sass make everything definitely more versatile. And it's absolutely welcome. My concern is just about the choice of choosing "explicit palette" (btn-red) instead of semantic palette (btn-primary) as default.

have to agree that moving away from abstract names such as warning, danger, success to specific red, orange etc seems rather backwards to me.

yes this PR is great for a big choice of colour and the scss mechanic
but i am really affraid for the lost of the context class because it's means we lost consistancy
for example
in our cms we use theme and skin (to allow admin or user to choose) ,
so the html from the php is always same and contextual class (defined by dev) allow to apply different style with great coherence just because is contextual ...
if not a btn-blue will stay for ever a btn-blue in html
and even if we change for pink in scss it will become a btn-blue pink ...
so is there a way to keep both :  consistancy contextual class and  this great new possibility of colours ??

Yeah, this will be brainbreaking for endusers of those of us who build default or base themes for their projects with Bootstrap with assumption that those themes will be further customized via css changes.

I don't know if this was already suggested, but how about this?

Having color pallets named by the color name (as suggested in this PR).

Having the semanitc color names (like the previous behaviour).

Then there could be the following code (only an example):
// Color variable definitions by color name
$red = #ff0000;
$green = #00aa00;
$blue = #0000ff;
$orange = #ff9900;

// Semantic color definitions
$error = $red;
$success = $green;
$brand-primary = $blue;

Then you can use both, the color-name based CSS classes (for things were it is about this special color) and the semantic name (when it comes about semantic coloring).

I agree with @Thomas--S.
Keeping the current contextual classes and adding the pallet proposed in this PR seems the best solution.

I agree.  This change would make theming and updating a nightmare (which many of us at my work need to do).  Please reconsider @mdo.

I agree with @Thomas--S.  The is no harm in adding a wide colour palette but only if it is in addition to, not a replacement for the current semantic palette with a default assignment of colours as now.  btn-red and alike essentially puts specific design elements back into the html which doesn't seem like good practice.
Is it better to have btn btn-red btn-big btn-bold btn-rounded btn-text-white, or just btn btn-danger?
If the semantic palette dispersed I doubt I would swap to the other way, but add it back myself in css.
I'm not sure what problem this is solving even.  Why did a PR about branding swoosh out to encompass buttons?

+1 for keeping the contextual classes. I have several templates where i only adjust the "brand-*" variables to customize the template for a particular client. With this change I'd have to make significant changes to the HTML markup instead.

@mdo
Our head right now in the Foundation team: 😭
Please take a look at https://github.com/zurb/foundation-sites/issues/9671. "Semantic colors", "DRY", "maintainable", "customizable"... everything has been said there.

Excuse me... This fixes #21311 ??
I mean what?? .... I never wanted this way!

This PR brings to my mind times when I had $orange. And $orange was blue.
With this change we will simply start to hacking it. When colors in stylesheets are changed so no one want to change template the same way. Abstraction is really helpful here. Classes should have meaning. And not be HTML version of CSS definition. Who would like .display-block, .left-10px etc. classes?
Maybe it's time for colors management tool like that
No pollution in global scope and meaning-full names can be just a reference on specific color.

As the @joomla 4 release lead, I'd like to add my concerns about the effect this will have on the template ecosystem using bootstrap. Many of our templates have different colour themes where they simply swap out CSS files based on a simple parameter. As has been stated this ends up with all the problems mentioned above. For what it counts for I'd strongly urge reconsideration of this approach.

Who needs semantic class names when you can have a green class that outputs yellow - it's obviously much better said every designer never

This PR reduces the ability of blind users to read web pages and I do not support it.
According to BuiltWith, 20% of the top million websites use Bootstrap. Therefore Bootstrap-HTML is an important flavor of HTML. https://trends.builtwith.com/docinfo/Twitter-Bootstrap
Currently, the semantic value of .text-danger and .alert-danger is well known from reading the HTML even if you ignore the CSS. Therefore it is very reasonable for a screen reader to add certain alert sound before reading .*-danger. Similarly, .text-muted can be read with a lower intonation (just like parenthetical text). And this will be helpful for blind readers. They will understand the context and the meaning.
.text-red is less meaningful.

Can you name one screen reader that actually intones things differently based on css classes?

This PR reduces the ability of blind users to read web pages and I do not support it. [...] it is very reasonable for a screen reader to add certain alert sound before reading .*-danger.

Note that no screen reader or other assistive technology does this. What matters are semantic HTML elements. class names are completely ignored by AT.

@rafaelstz Google uses it. Not a screen reader for humans. But it is a tool that extracts semantic meaning from web pages.

@fulldecent Can you share that tool for use to see ourselves? Remembring how heavy google is on web schema, I'm finding it hard to buy.

MDO : "this is the start of the color variable rabbit hole. " - no kidding, given the amount of comments.
I don't really see a problem with this change. For anyone who has been using Bootstrap actively over the years, many may agree that the brand color concept never really worked. (others may differ)
Semantically, btn-blue as a class name makes as much sense as btn-success, as you shouldn't be leaning on class names to give semantic meaning anyway - HTML should be used for this!
In some cases, you can end up using the -success, -danger, -warning for elements that are in no way related to that concept.
In fact, the whole concept of success, danger, warning etc. in class names has always seemed to me to just get in the way.

Semantically, btn-blue as a class name makes as much sense as btn-success, as you shouldn't be leaning on class names to give semantic meaning anyway

of course i can also name my classes .btn-chicken and .btn-sdgjicositjc. but i'd say primarily this is about not confusing developers. and naming something with a particular name only to then have that result in a completely different style is...confusing to developers. since there is indeed no actual meaning to the class name itself, i move for them to remain the same they were before.

Semantically, btn-blue as a class name makes as much sense as btn-success, as you shouldn't be leaning on class names to give semantic meaning anyway - HTML should be used for this!

Yes it makes semantic sense if the colour that is displayed is blue. But as already stated by many contributors here who create re-usable and customisable themes it will result in btn-blue being displayed in any colour of the rainbow. So no semantic sense there at all.
Hey why even bother having btn in the class name if only html should be used for semantic meaning why not call it xyz-blue. Sorry that might sound facetious but its the logical conclusion of your statement.

Hey why even bother having btn in the class name if only html should be used for semantic meaning why not call it xyz-blue. Sorry that might sound facetious but its the logical conclusion of your statement.

I should probably elaborate. Semantically it means something to coders. That's fine.
In this instance, btn-blue means it's a blue button. btn-success means it's a, erm, a successful button?
If your btn-blue ends up being orange, that's your call as a coder.
Bootstrap as a framework is easy to extend. Just create your own custom button scss file and use the mixin to generate your own set of btn classes. Heck, bring back btn-success, btn-danger etc. if that's what you want. ;)

@bbmatt you assume that everyone using bootstrap for their web site is a coder. They are not. The success of bootstrap is because of the customisability that coders can build into their templates without needing to change the markup.
As stated by @wilsonge https://github.com/twbs/bootstrap/pull/22551#issuecomment-301331990 this change if accepted will seriously question the usage of bootstrap with joomla and its suitability for being the default.

People need to remind themselves who the majority of people are that use this framework. When you take the stance of the people likely to comment here or contribute to the project you invite a sample bias; these individuals are likely to be experienced and understand reasoning such as "It's all Sass maps and variables, so you can quite easily replace the default values with your own".
In reality, I would wager that the bulk of Bootstrap users are clicking "download", dumping in the minified assets and building on top of mark-up from boilerplate template X; maybe with a splash of mark-up copied from the Bootstrap documentation (or more likely Stack Overflow). Hell, even that might be an rose-tinted view.
You might say that's their problem, but when we have the choice to satisfy everyone (maybe with a little compromising) and choose not to, I believe it's ours.
I understand that we already have issues with our seemingly semantic naming even if it accommodates easy "skinning" of Bootstrap - if someone wanted a red colour, they might use "-danger" even if they aren't trying to convey that. Obviously that's bad, but why is this an argument for removing that abstraction rather than improving it?
When you remove abstraction by naming a class name (which appears in HTML) after the value of a property (which appears in the CSS) you diminish the benefits of isolating the presentation layer, creating tighter coupling between the styles and mark-up.

In reality, I would wager that the bulk of Bootstrap users are clicking "download", dumping in the minified assets and building on top of mark-up from boilerplate template X; maybe with a splash of mark-up copied from the Bootstrap documentation (or more likely Stack Overflow). Hell, even that might be an rose-tinted view.

Yep, that was me, 7 or 8 years back. This is such a moot point. I would've happily used btn-blue or btn-green back then. I wanted a color on the button I was using. Green means "go ahead", red means "danger" for those that are able to see color.
It seems to me that this is more about backward compatibility than anything else, not wanting to let go of what was an opinionated framework option in the first instance.
The context of a button action is in the text that button displays. "Submit", "Back", "Cancel".
Color is an added benefit. Red is a warning, Green is a 'go' - btn-green. btn.red.

Hi

in a CMS context

the part of this PR who give up of the context class, is really a bad thing ...
as brianteeman wrote

create re-usable and customisable themes
The success of bootstrap is because of the customisability that coders can build into their templates without needing to change the markup.

This is one of the main benefit of the couple FW/CMS and precisely it is only possible with this type of class ...
why ?
Because all this can be done by the webmasters (who are very often poor coder and far from the use of SASS ...)
Even if some can use sass to make their beautifull css do you think they will rewrite the entire CMS  to NOT have a btn-blue yellow ... an alert-red black...?
So in most case the entire project will have a very disapointed source code  ... for the CMS developpers it's very frustrating
So one more time for the good alchemy (easy customisability at all level of 'dev') between a framework and a CMS
we need this class !
The part of this PR who give up of the context class is as the opposite side of this ...
Of course all is possible ! but to have what at the end in the most of the cases :  a btn-red blue ?
no need use FW to do this !
@bbmatt
backward compatibility is also one argument against this PR (the part who give up the context class) sure ! but far to be the main argument ....

The context of a button action is in the text that button displays. "Submit", "Back", "Cancel".
Color is an added benefit. Red is a warning, Green is a 'go' - btn-green. btn.red.

and this explanation let me very skeptical ..
sorry for my english sometimes short to express precisely some idea ...

you assume that everyone using bootstrap for their web site is a coder. They are not. The success of bootstrap is because of the customisability that coders can build into their templates without needing to change the markup.

There's no assumption about it. If you are applying bootstrap to a project, I really hope you are a coder. The very act of creating templates implies that you are creating code.
I view bootstrap as a set of sensible defaults, but I don't view it as the be and end all of how I create websites. I view it as a framework.
It is extendable, modifiable.
You don't need sass / less to modify the code, just the ability to use a text editor and some curiosity about html/css coding. With a few lines of code, you can override anything.
There's a great deal of 'preciousness' knocking about here, just because mdo has decided to use colors in class names. Big whoop. World hasn't ended.

There's no assumption about it. If you are applying bootstrap to a project, I really hope you are a coder. The very act of creating templates implies that you are creating code.

I am talking about USING not creating

I don't know about everyone else but one of the first things I learned about CSS class names was that it's bad practice to put a color's name into the class.
I ignored that advice on a particular project and sure enough, it came back to bite me in the butt.
History teaches us.

All the elements that this proposed change pertains to, have a parent class. The applied 'color' style is a modifier.
I completely agree that binding your html classes to color or any other css attribute isn't a good idea for the parent class, but this isn't the case in this proposal, it's on the modifier. Ok, so alert-warning is more descriptive than alert-orange, but what if I want an orange alert that has nothing to do with a warning?
A green badge that has nothing to do with 'success' ?
We end up binding these elements to concepts - in a code viewing sense - that may or may not apply to them.

For people who vehemently defend the idea that class names don't matter and there's no semantic value in them (to developers)...in that case, it wouldn't make a difference if we kept the current class names rather than changing them to use color names, no? Since they can be arbitrary, there's no harm either way...

In fact, I want to make all brand-success colors bright pink, so now all my success modifiers show bright pink backgrounds. This may suggest success to some people, but most expect success to be green?

so with the new model what would you do? override the color of .alert-green { color: DeepPink; }? is that better than redefining .alert-success { color: DeepPink; }?

@bbmatt  I would like to see in docs that 'success' is for successful operation and not for green. Writing one selector for different color on specific place is not much work.
But for cms developers this isn't good. Classes with -primary, -success etc. would be written everywhere. Much more code if we want our templates to be universal. And if anyone like to create new theme so that developer must know all our classes.
Moreover this solution is only partial in what you wanted to do. Eg. forms are highly coupled with specific variables. And it's absolutely not easily overwriteable as these classes are added by JS and by server. So we will must change our client and server scripts to use different colors? If we don't want to do that so in $green will be blue.

so with the new model what would you do? override the color of .alert-green { color: DeepPink; }? is that better than redefining .alert-success { color: DeepPink; }?

No, I'd make my own modifiers as needed & frequently do.

So we will must change our client and server scripts to use different colors? If we don't want to do that so in $green will be blue.

I guess this is the danger of tying your CMS templates to a universal css framework. I completely get where you are coming from - this small change in bootstrap would result in a either a large change for your CMS. OR you could 'patch in' a CSS override, which would be very quick to do (re-introduce the classes you needed), 10 minute job.
The thing is, you can't expect an independent framework that is used across countless projects, to ensure backward compatibility with your own project.

No, I'd make my own modifiers as needed & frequently do.

so the change (or no change) to the core BS classnames wouldn't actually affect you then. so no problem keeping them as they are now, which seems to make more sense for other devs, at least based on the conversation here so far?

This is NOTHING to do with backwards compatibility at all.
This is about ensuring that the majority of bootstrap users are able to continue using bootstrap

For people who vehemently defend the idea that class names don't matter and there's no semantic value in them (to developers)...in that case, it wouldn't make a difference if we kept the current class names rather than changing them to use color names, no? Since they can be arbitrary, there's no harm either way...

Class names do matter, of course they do. I would never deny that. In this case, we have a parent class & we have a modifier. What is being proposed here is to change a very prescriptive set of modifier names to something far more generic - color. What else would you use that isn't prescriptive? As soon as you start tying more emotive nouns to classes, you kinda limit their semantic use for coders.

Re-using code is what every developer should want. Eg. login form can be used without changes for eg. 10 websites. And when I have 10 themes on all of them so 100 modifications are needed to write? When I write only one before? Annoying. For cms developers and for developers using this css too.
My cms is nout bound to bootstrap. But is used as default. And default should be easy. No-one will continue with building complex systems with bootstrap. Large systems as joomla are depending on reconfiguring bootstrap is only what is required to change look.
Every framework developer in any language would say abstraction is better.

Every framework developer in any language would say abstraction is better.

Sure, but in this case, the abstraction has meaning that may not be wanted!
It isn't abstract enough. It prescribes the nouns success, warning, danger and info whether you want them or not!

Think in context of all used languages. Biggest problem are forms. Not buttons. In current state you can use parrent button class and apply modifier in same way as with this PR. If I'll forget it's problematic in cms to replace primary with green etc. so problem is still the same. Forms are highly coupled with specific colors. Everyone must reinvent wheel. And developers which come to this code must learn, how was wheel reinvented.

And if current abstraction is not good enought - it should be improved. Not removed.

In order to change the colors in the framework, a coder would be expected to know how to do this and how to use preprocessing. If they wanted to make btn-green purple, surely they could just as easily create a btn-purple modifier? Or maybe btn-signup?

This is not how themes with color variants work.
Example: You have a button with class btn-success that by default is blue
The theme also provides a variant where buttons with such class have pink color. This is possible without changing the markup, just changing to a CSS file where btn-success has a pink style
With the proposal the button would have a btn-blue class by default. To provide a pink color variant that does not require markup change the theme author would need to create a CSS rule where btn-blue have pink style.
The theme author could create your own semantic classes with the drawback of increasing the cognitive load of theme user that has to learn new markup instead of using his BS knowledge.
Also if this will require at least theme and CMS authors to create your own rules where is the usefullnes of it?
BTW: look at wrapbootstrap and themeforest to see how important is theme market for BS users

I honestly feel like this change favors developers and custom theme designers over organizations that are distributing reusable themes or platforms like Joomla where Bootstrap was standardized as the default UI framework (a decision which helped to drive a fair majority of our templating ecosystem to standardize on Bootstrap as well).  Sure, for those of us with the savvy and skill to make the changes, editing some HTML to change blue to green may be easy, or for theme distributors adding a "middle layer" on top of Bootstrap to retain a set of more semantic (and therefore generic and reusable) can be done, but this hurts end users in a space where they aren't as technically savvy and are either going to be the ones hacking their CSS to .blue { color: green; } or it will be harder for them in the case of a CMS environment to keep their template up-to-date with the parent source because they will have to make an excessive number of changes to change a color attribute.
As @wilsonge hinted to, and as I'm now saying as Joomla's current production lead, we are watching this with a vested interest as this change could require us to re-evaluate our UI defaults.

drawback of increasing the cognitive load of theme user that has to learn new markup instead of using his BS knowledge.

I think we should give credit for people having enough curiosity and ability to understand a minor amend to modifier classes!

Also if this will require at least theme and CMS authors to create your own rules where is the usefullnes of it?

Experimentation, expression, customisation, expandability, learning. Using a framework and extending on it to suit different needs?
This is one of those discussions that I guess is purely a matter of personal choice. I see this proposed change as being beneficial - getting rid of prescriptive modifier class descriptions. Others see it as a terrible crime against css, daring to use color names in modifier classes - shock! horror! Others see it as something that will result in changes to their own projects.

Just get on with it, or Foundation beckons...

feeling i'm getting the more i hear the discussion:

this change will benefit authors who used the warning, success, etc modifiers not for their meaning, but to achieve a certain look (e.g. using success because it's green, not because it indicates success - rather than overriding the color of whatever more appropriate/meaningful modifier class name in their own additional styles)
this change will require theme authors and people wanting to easily reskin/change the default theme to modify their HTML output to use different classes / assign new classnames and compile their own bootstrap styles

so there are two sides, both to some extent with merit. i still heavily lean towards not changing the classnames. @mdo, after throwing this hand grenade of a PR...any thoughts? because this has the potential of turning into a never-ending discussion otherwise ;)

And it will disadvantage any cms who used the warning, success, etc modifiers for their meaning

I agree with you @patrickhlauke, there is definitely merit to both sides.  For me as a developer, my mindset was always exactly what you listed. I never thought, "I need a success button", I thought "I need a green button", so the semantic class names lost their true meaning.
Is the simple solution to include both options?  Make the changes to allow developers to have more flexibility, and retain the semantic names for the theme developers?  Does this cause too much bloat, or is there some other downside to this?

drawback of increasing the cognitive load of theme user that has to learn new markup instead of using his BS knowledge.

I think we should give credit for people having enough curiosity and ability to understand a minor amend to modifier classes!

Is not about curiosity or ability to change the markup. In an practical example all admin templates i've found (admin lte, propeller) uses alert-danger, alert-success etc to style alerts. When start using such themes those familiar with BS already know how use them. There are thousand of users of such components, see the sell stats in market places
With the change each theme author can create it own class name abstraction, e.g. alert-confirm, alert-note, alert-error, others may recreate the old classes names and finally there will be those that will use alert-green, alert-blue.

This is one of those discussions that I guess is purely a matter of personal choice. I see this proposed change as being beneficial - getting rid of prescriptive modifier class descriptions

Is not about personal changes, in this discussion there are tons of technical arguments.
Also, about being prescriptive this is IMO one of the Bootstrap selling points. When i was evaluating a CSS framework i looked Foundation but, although technically good, it does not provide ready to use components to create a UI. With Bootstrap + custom themes i can leverage a good looking UI without the need to implement my own unique design from scratch.  I believe a significant part of BS users fall in this category.

Reading through this thread, it struck me that obviously there's a lot of self-interest here. Theme developers & users, CMS developers. Absolutely nothing wrong with that - these changes would incur a fair amount of change.
I had a quick look through the propeller admin theme that blikblum linked too. Sublime text reports 77 entries for -success. Not all of those have been removed in this proposed PR (has-success for instance). So sure, lots of amends to CSS and HTML.
However, the glaring elephant in the room for these themes & CMS's, is that the move to Bootstrap 4 is going to incur far more than just the proposals this particular PR would create.
https://github.com/twbs/bootstrap/blob/4a8728d54c2a89b923ca019f8daf497927aeccdd/docs/migration.md
Boom. The migration.md document.
The changes here are far more sweeping than dropping a few modifier classes.
In many cases, a judgement call will need to be made whether to attempt to "patch in" the modifications or to rewrite. That depends how modular the implementation of bootstrap is in each instance.
To return back to the propellor theme as an example, this theme has implemented it's own card solution, pmd-card. So the developers have to decide whether to keep this or to move over to the bootstrap 4 card when they migrate.
That is just one migration issue the theme has to face.
So really, the talk about how this minor amend to modifier classes doesn't amount to a whole lot when panels, wells & thumbnails are replaced by cards, glyphicons are gone and numerous other changes have happened.
... waits for the inevitable downvotes ... ;)

@bbmatt Sorry but you are still not understanding the issue. All the b/c changes such as panels, wells and thumbnaills are one time changes to the theme to make the theme compatible with bs4. The proposal under discussion here will effect every theme for all time as stated by multiple people multiple times

I completely understand the issue and really don't think it's a big deal at all. These are just modifier classes. That's it. Sure, people have learned these patterns and have come to expect they are in place, but they will also have used panels, wells and icons.

@bbmatt i think you made your point. others have also made their point that they'd prefer modifier classes that aren't tied to a color name. i guess we'll have to agree to disagree here instead of going around the same circular discussion.

As Patrick said, it's not about just changing few modifiers when upgrading to bs4. It's about changing them everytime, when colors are changed. And not only in css but in html too. It means more work.
More work for theme developers, cms developers and drag'n'drop builder developers.
Unfortunately for you @bbmatt this change would affect negatively more bs users then positively. Bad idea to do for the purpose of little improvement in intelligibility of markup. Moreover it's improvement mainly for developers who just click on download button. And what will do that kind of developers with .button-green when want color which is not in defaults? !important override

And what will do that kind of developers with .button-green when want color which is not in defaults? !important override

Does a kitten die each time someone does that? No. Seriously, why do some devs get so hung up on this, like it's some cast in iron rule that "thou shalt not use color names in css modifier classes".
So what if someone slaps !important and overrides alert-green with red?
What will happen? Nothing. It will make their code make less sense, that's it. Big whoop.

I probably should've locked this earlier, but doing so now. I'll be revisiting this PR shortly.

Picking this up in a fresh PR that focuses on ensuring theme-ability via CSS and Sass by preserving a "brand theme" while also adding more options for colors. See #22836.


Package(03380000000U1CP) AppExchange Package is Deprecated, Details: The AppExchange package has been deprecated and can no longer be installed.

I'm getting this error:
SfdxCliError: Installation of package 'Financial Services Cloud (Managed Package), Version 220.6' (04t1E000000y9ew) failed. Installation errors:

Package(03380000000U1CP) AppExchange Package is Deprecated, Details: The AppExchange package has been deprecated and can no longer be installed.          Please try installing a newer version, or contact the package owner directly to resolve.

Can you advise how to resolve this?

@sreenishkrishnan - You need to update the package version IDs that are used inside of the demo-recipe.json file.
Follow the instructions in the README.md file in the https://github.com/sfdx-isv/fsc-demo-pack/tree/master/config directory for guidance on how to get the most recent FSC Package IDs.


Bug Report: datacapture 1.1.0 - read-only mode renders empty questionnaire fragment

Describe the bug
In new datacapture library (version 1.1.0) read-only mode for questionnaire isn't working correctly. When adding this setting to the builder (setIsReadOnly(true)) Questionnaire Fragment doesn't show the questionnaire.
Component
datacapture 1.1.0
To Reproduce
This issue can be replicated in Demo app by setting read-only mode in the QustionnaireFragement builder in the EditPatientFragment
After adding the mode:

Run the demo app
Click on "Patient List"
Click on any patient in the list
Click on "Edit Patient"
Observe no questionnaire rendered

Expected behavior
As in previous(1.0.0) version of the lib, read-only mode should render questionnaire and responses (if provided) in a non-editable fashion.
Screenshots

Smartphone (please complete the following information):

Device: Pixel5 emulator
Android version: 12

Would you like to work on the issue?
No

Issue #1829 may have introduced this issue.

@reinhild-merz Can you verify if #2453 fixes the issue?

@santosh-pingle yes, #2453 worked well for me


Implemented Connect to Previous connection

Changes
Enabled command code-for-ibmi.connectPrevious to actually connects to the IBM i previously connected to.
The last connection name is stored using the new GlobalStorage class. The Storage class is now an abstraction and the previous Storage class has been renamed to ConnectionStorage.
Connecting to the previous connection can be achieved by:

Executing the command from the Command Palette
Clicking on the "Connect to previous" button in the Connection browser menu

If no previous connection exists in GlobalStorage or if the previous connection is deleted, the button/command palette action won't be available.
Checklist

[x] have tested my change
[ ] updated relevant documentation
[ ] Remove any/all console.logs I added
[x] eslint is not complaining
[ ] have added myself to the contributors' list in CONTRIBUTING.md
[x] for feature PRs: PR only includes one feature enhancement.

@sebjulliand Very elegant how you use the commandPalette and code-for-ibm-i.hasPreviousConnection to control when the command is available! 👌 I have been annoyed over all the extension commands, that only worked in a context but still showed up in the command palette - this is how to reduce that clutter...

@sebjulliand Some usability thoughts:

What was the previous connection? Only the extension knows, it can't be seen on the UI.
How about presenting the previous connections in a quickpick list - like I did it with Change current library - in order of last connected time. Then the user can see the connection history and quickly jump to any of the previous connections. This would also include filtering of the connections in the list. Here is the Change current library quickpick:

@chrjorgensen Thanks for the feedback!
I think at some point I'll go through all the commands and disable those unavailable from the command palette, depending on the context.
About your other suggestions:

I'll make the previous connection stand out in the connection browser
The quickpick is a neat idea! I may remove the button I added to the connection browser in this case, as it would not allow to connect to the previous connection instantly. It would show the quickpick, which would serve the same purpose as clicking the connection in the connection browser 😋 So I'll probably remove it and implement your quickpick idea. Of course, if there's only one connection declared in the list, we'll connect right away.

Following @chrjorgensen's feedback:

connectPrevious command has been split in two. There is now connectTo (who works as connectPrevious did) and connectToPrevious who actually connects to the last IBM i connected to.
connectToPrevious is only available from the Connection Browser as a button
The very last connected system bears a yellow icon

connectTo will display a quick pick input to select amongst all the previous connections made, ordered by time of last connection

connectTo is bound to the ctrl/cmd+alt+c key for quick access.
Both commands are only available if at least one previous connection is registered and active (i.e. its not been deleted in the meantime).

Code looks really good from me. I'm out for a couple of days until Wednesday so I can't promise I will be able to test until then.
@chrjorgensen Feel free to give it a go and let me know of your findings based on your previous feedback.

@worksofliam you're good to go. I face a "merge from hell" situation so I had to work my way around it but it's all good now 😊

@chrjorgensen Do you want the honour of merging?

Yes, please - thank you. 😃

@sebjulliand There is something missing in this change: When switching between systems, the previous connection is not updated correctly, only on first connection after start.
Try this:

Start Code for IBM i.
Connect to a connection other than the previous connection.
Disconnect by clicking the disconnect button in the bar.
Refresh the connection browser - the previous connection is updated.
Connect to a connection other than the previous connection.
Disconnect by clicking the disconnect button in the bar.
Refresh the connection browser - the previous connection is NOT updated!

Right, I'll make a new PR. Turns out this one was created and merged before the "Disconnect gracefully" one was created an merged. 😅

Oh and actually the connected event doesn't get triggerred when reconnecting (it's in the same place in the code).
I'll fix that too!

Ah, good find! Yeah, I thought so - that some changes had collided. I knew you wouldn't have let this pass...  😆


Data from teamgames

Hi have you considered adding support for team-games data? Are you considering taking help? I would like to contribute trying to code that, if it is ok with you.

Hi @duilio92 I am planning on adding support for the team game ladder. Some of my stat calculations will have to be adjusted in order to support it.
I would consider taking help, but at this time it'd be tough to develop since my backend code IS in a private repository, along with the db schemas. I am working on cleaning up that code and open sourcing it in the future.

Ok, no problem, thanks for your response!


Dependencies, requirements.txt, and conda (Enhancement)

Current behavior
List the exact version information on dependency tools. When installing numpy, it pulls the most updated version. For the off case that an updated version isn't backwards compatible, it would be ideal to know what version of software this tool will work with (kind of the point of conda).
Expected behavior

Version pin software dependencies.
Convert requirements.txt to a yaml file for conda so that users can just clone the repo, and do conda env create -f environment.yaml.

Thanks for submitting this issue! You can track the development of a production-level implementation of YACHT here. Feedback is welcome there too.


[api] Adds load model from Inpustream to public API

Change-Id: I2106712d175ea1c6ec31d9561f2809473df2fbc9
Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

Codecov Report

Merging #1400 (cbaef03) into master (bb5073f) will decrease coverage by 1.56%.
 Consider uploading reports for the commit 9bc0b4a to get more accurate results

@@             Coverage Diff              @@
##             master    #1400      +/-   ##
============================================
- Coverage     72.08%   70.52%   -1.57%
- Complexity     5126     5240     +114
============================================
  Files           473      487      +14
  Lines         21970    23050    +1080
  Branches       2351     2517     +166
============================================
+ Hits          15838    16256     +418
- Misses         4925     5529     +604
- Partials       1207     1265      +58

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <ø> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../modality/cv/translator/YoloTranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...i/djl/modality/cv/translator/YoloV5Translator.java
5.69% <0.00%> (ø)

...odality/cv/translator/YoloV5TranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...modality/nlp/embedding/TrainableWordEmbedding.java
45.00% <0.00%> (-3.34%)
:arrow_down:

...pi/src/main/java/ai/djl/ndarray/BytesSupplier.java
54.54% <0.00%> (-12.13%)
:arrow_down:

...i/src/main/java/ai/djl/ndarray/NDArrayAdapter.java
15.23% <0.00%> (-0.83%)
:arrow_down:

... and 140 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update be5289d...9bc0b4a. Read the comment docs.


Can't make it work in argocd

Hello,
I am trying to install patch-operator using argocd. I already have prometheus and cert-manager installed, and I am installing using the helm chart.
All the resources install ok, but in the pod I keep getting two errors over and over again:
... secret "webhook-server-cert" not found
... secret "patch-operator-certs" not found
I tried installing both in the default namespace, as well as in a separate namespace, with the exact same results. I'm using v0.1.9 (latest at the moment)
Please help!

Hi @christosnc, the Helm chart accepts a value called enableCertManager which is defaulted to false. Can you clarify whether you set the value to true when you executed the chart?
Also, if using enableCertManager: true. Are you able to find the Certificate resource called serving-cert? If you are able to locate the certificate resource, does it show a status?

Can you re-open this issue ? It does not work without cert-manager. Indeed, volumes are defined in the (manager.yaml)[https://github.com/redhat-cop/patch-operator/blob/main/config/helmchart/templates/manager.yaml] even when cert-manager is not defined therefore no secret are created.
88      volumes:
89      - name: patch-operator-certs
90        secret:
91          defaultMode: 420
92          secretName: patch-operator-certs
93      - name: webhook-server-cert
94        secret:
95          secretName: webhook-server-cert
96          defaultMode: 420

Also, it would be nice if we could use our own cert, instead of having a self-signed issuer when enabling cert-manager.... Cert-manager itself strongly advised not to use self-signed issuer in production for example.


How can I TELEPORT the camera in Psych Engine?

Describe your problem here.
---------English---------
Teleporting means going to the opponent's part and the player doesn't have the animation to go to the correct part.
I hope you understood.
---------Português---------
Teleportar eu to dizendo ir para a parte do oponente e do player ele não ter a animação para ir até a parte correta.
Espero que tenha intendido.
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
NO - NÃO

setProperty('camGame.scroll.x',your_new_x_cam_pos - (screenWidth / 2)); should do the trick

If you want to teleport the camera to dad then do:
setProperty('camGame.scroll.x',getProperty("dad.x")-(screenWidth / 2));
setProperty('camGame.scroll.x',getProperty("dad.y")-(screenHeight / 2));

should work


Cleaned up stale references to xpro in docs

Pre-Flight checklist
N/A
What are the relevant tickets?
Closes #7
What's this PR do?
Removes all references to xpro in the documentation. Note: some of the openedx plugins still have "xpro" in their name, that will get addressed at a later date as/if needed.
How should this be manually tested?
N/A

@aliceriot those are statically defined by an edx plugin so they can't be changed at the moment.


Remove println

It adds unnecessary noise to the Gradle output when using many modules.

Thanks for the PR. I'm currently out, hopefully I can release it soon with a mermaid.js update. Don't hesitate to ping me back next week if you want this soon.

I don't need this soon, it's not critical at all :)


Make URL.init(resolvingBookmarkData:…) non-failable

The NSURL method can't return nil unless it's throwing an error, so the Swift initializer shouldn't be failable.
Cherry-pick of #10435.
 The commit is included according to git history.
Am I doing something wrong? Or do I actually have to wait until Apple ships a new OS?

@tkrajacic I just downloaded the latest toolchain and I see it. Are you sure you're actually using the toolchain?

Using Xcode 9.4 (9F1027a) on macOS 10.13.4 (17E202) with toolchain selected 4.2 snapshot 2018-05-31.
Don't see it. Only the optional ones.
Do you have a newer OS than me? 🤪

And yes, I cleaned the project before building, because that was my first thought.

Come to think of it… it actually could make sense that these changes are only part of the SDK. And that is not shipped in the toolchain right? And SDKs are only part of any Xcode distribution (or new OS)? However that raises the question: Does that mean the code is now tied to an Xcode version instead of a Swift version?
It just seems strange to me that the SDK is part of the swift repo then, but I guess this is part of the special™ relationship between Swift and Apple.

These changes are currently part of the Swift overlay, which is included in the toolchain and embedded in your Swift app, which ships as part of Xcode (not a new OS).

But why wouldn't it work then? :/

As usual correct @jrose-apple !
I had to set the "Swift Language Version" to Unspecified and then add -swift-version 4.2


*: Add support for Or expressions

This change adds support for Or expressions, make changes to:

logicalplan
physicalplan

Also modifies the example to demonstrate it.
TODO:

[x] Add test coverage

Fixes #146

Looks amazing! Thank you so much for the awesome contribution!


Configurable actions queue for analytics

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@gregdurham

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

Is this superseded by https://github.com/chef/chef-server/pull/347


Could not detect a suitable backend among ['firefox-browser']

Running the example with webruntime v0.5.7
rt = launch('http://xkcd.com', 'firefox-browser')
gives error:
[snip] _\webruntime\__init__.py", line 200, in launch
    raise ValueError('Could not detect a suitable backend among %r.' % runtimes)

ValueError: Could not detect a suitable backend among ['firefox-browser']._

and choosing chrome:
    [snip] _\webruntime\__init__.py", line 200, in launch
    raise ValueError('Could not detect a suitable backend among %r.' % runtimes)

ValueError: Could not detect a suitable backend among ['googlechrome-browser', 'chromium-browser']._

The only browser which launches is edge.

It looks like Webruntime is not able to find Firefox nor Chrome on your system. What platform are you on? It could be that we need an extra line here.

I'm running Python 3.8.4, on Windows 10 64 (build 10.0.18362) SP0
Firefox and Chrome have both worked previously with webruntime.

Could you check the location of firefox and chrome, and see if we are missing some paths? See e.g. #24 that adds paths for Linux and MacOS.

Location of firefox: "C:\Program Files\Firefox Nightly\firefox.exe"
I have been using nightly for years.

Would you mind submitting a PR to add that path here? Otherwise I'll get to it eventually :)

See PR https://github.com/flexxui/webruntime/pull/26


Update NDArray.java

Fix documentation of minimum of two NDArrays to read minimum, not maximum.
#1112

Codecov Report

Merging #1113 (d9904e2) into master (ad6b11f) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1113      +/-   ##
============================================
- Coverage     70.01%   69.97%   -0.05%
+ Complexity     5276     5275       -1
============================================
  Files           514      514
  Lines         23489    23489
  Branches       2516     2516
============================================
- Hits          16446    16436      -10
- Misses         5705     5721      +16
+ Partials       1338     1332       -6

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/ndarray/NDArray.java
73.25% <ø> (ø)

...ain/java/ai/djl/tensorflow/engine/TfNDManager.java
84.37% <0.00%> (-3.91%)
:arrow_down:

...gine/src/main/java/ai/djl/dlr/engine/DlrModel.java
53.12% <0.00%> (-3.13%)
:arrow_down:

api/src/main/java/ai/djl/util/Platform.java
42.30% <0.00%> (-1.93%)
:arrow_down:

...g/src/main/java/ai/djl/serving/util/Connector.java
55.40% <0.00%> (-1.36%)
:arrow_down:

...ngine/src/main/java/ai/djl/mxnet/jna/LibUtils.java
40.00% <0.00%> (-1.18%)
:arrow_down:

.../djl/training/listener/MemoryTrainingListener.java
76.62% <0.00%> (ø)

...rc/main/java/ai/djl/paddlepaddle/jni/LibUtils.java
48.30% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ad6b11f...d9904e2. Read the comment docs.


Flexible outcome recorder

Evil hack to the recording system to be able to change the percentiles being recorded, on a per-metric basis.

+1
je pensais que ca aurait ete pas mal moins propre :)


Core WebHooks (Old 213)

In gitlab by @A-Lawrence on Aug 31, 2015, 01:07
Implement a webhooks system so our other services can push straight to Core.  POSSIBLY following the implementation of #315
i.e. /webhooks/mship/ratch/?cid=&ratingType=&ratingValue=&timestamp=&hash=

In gitlab by @A-Lawrence on Aug 31, 2015, 01:12
Basic version of this is implemented for emails.  Will extend for other aspects soon.
ALawrence66 - 2015-03-03T19:24:17.786790+00:00


Implemented 'Auto Advance' functionality

Playlists now have an "auto advance" configuration option, when
auto advance is enabled, the playlist will automatically continue playback.

Thanks, Rik! Can you update the README ("Supported features" and "Usage
instructions") to reflect the new options? I would do it but I'm not
feeling well today and will be in Barcelona all next week.
Pablo, can we remove the analytics token parameter from the JSON now that
we are fetching it from the content server?
Also, we should remove the JvOpsvoq configs directory, it contains some
trademarked NPR graphics.
Thanks!
JL
On Fri, Feb 19, 2016 at 7:58 AM, Rik Heijdens<EMAIL_ADDRESS>wrote:

Playlists now have an "auto advance" configuration option, when
auto advance is enabled, the playlist will automatically continue playback.
You can view, comment on, or merge this pull request online at:
https://github.com/jwplayer/appletv/pull/24
Commit Summary

Implemented 'Auto Advance' functionality

File Changes

M jwplayer-appletv-web-app/js/ConfigLoader.js
https://github.com/jwplayer/appletv/pull/24/files#diff-0 (5)
M jwplayer-appletv-web-app/js/Playback.js
https://github.com/jwplayer/appletv/pull/24/files#diff-1 (107)
M jwplayer-appletv-web-app/js/PlaylistLoader.js
https://github.com/jwplayer/appletv/pull/24/files#diff-2 (12)
M jwplayer-appletv-web-app/js/TVOSAnalytics.js
https://github.com/jwplayer/appletv/pull/24/files#diff-3 (11)
M jwplayer-appletv-web-app/js/views/ListCollection.js
https://github.com/jwplayer/appletv/pull/24/files#diff-4 (29)
M jwplayer-appletv-web-app/resources/configs/VCyJXbpY/config.json
https://github.com/jwplayer/appletv/pull/24/files#diff-5 (24)
A jwplayer-appletv-web-app/templates/AutoAdvanceOverlay.tvml
https://github.com/jwplayer/appletv/pull/24/files#diff-6 (20)
M jwplayer-appletv-web-app/templates/ListCollection.tvml
https://github.com/jwplayer/appletv/pull/24/files#diff-7 (2)

Patch Links:

https://github.com/jwplayer/appletv/pull/24.patch
https://github.com/jwplayer/appletv/pull/24.diff

—
Reply to this email directly or view it on GitHub
https://github.com/jwplayer/appletv/pull/24.

--
John Luther
SVP, Product Strategy
jwplayer.com

@johnluther
I'll update the README accordingly.
Get well soon :)


Wattpilot only charges in 3 phases

Since installing the integration, my Wattpilot only charges in 3 phases. As soon as the PV system has more than 1.38KW, the Wattpilot switches on and charges with 4KW. What can I do?

This setting is independent of the integration.
The integration itself just sets values coming from the wattpillot - the official Wattpilot App always overrides the HA settings.
So what you can do is open the official Wattpilot app -> settings -> Cost Optimisation -> Car Advanced Settings -> "Choose Phase Switch" and select "Only 1 Phase"
this way your wattpilot never changes to 3 Phase charging - independently of the power your inverter provides.
In general please use the github  I prepared here for issues.
Thanks


Update Go driver tests to make CI pass

Closes #193.

@AlekSi unified tests seem to be the culprit here. I need more time to investigate further, I will create a separate issue for that. For now I will just remove mongo/integration/unified.

Sounds good

It's nice to see mongo driver tests passing, thanks! :)


Support INC 2.0 IPEX quantization

What does this PR do?

Support INC 2.0 IPEX quantization.
Give eval_func for quantizer.
Fix config.framework from "pytorch", "pytorch_fx", "pytorch_ipex" to "pt", "ipex"

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Add APIs for manual inter process context propagation

closes elastic/apm-agent-java#334

This is an alternative design to #394
It has a much nicer API geared towards Java 8 but also provides fallbacks for Java 7.
For this to work on Java 7 we rely on the ability of a JVM to lazily link the method parameters so there is a small risk that on certain JVM implementations, the API does not work anymore for Java 7.

@kuisathaverat Pipeline Jenkins does not like that PR

TLDR;
adds these methods:
ElasticApm

Transaction startTransactionWithRemoteParent(Map<String, ? extends Iterable<String>> headers)
Transaction startTransactionWithRemoteParent(Function<String, String> getFirstHeader)
Transaction startTransactionWithRemoteParent(Function<String, String> getFirstHeader, Function<String, Iterable<String>> getAllHeaders)

Span

void injectTraceHeaders(BiConsumer<String, String> addHeader)
Map<String, String> getTraceHeaders()

Jenkins please test this

Jenkins test this please

Codecov Report

Merging #396 into master will decrease coverage by 0.85%.
The diff coverage is 50%.

@@             Coverage Diff              @@
##             master     #396      +/-   ##
============================================
- Coverage     72.03%   71.17%   -0.86%
+ Complexity     1315     1203     -112
============================================
  Files           141      134       -7
  Lines          5142     4666     -476
  Branches        532      479      -53
============================================
- Hits           3704     3321     -383
+ Misses         1212     1132      -80
+ Partials        226      213      -13

Impacted Files
Coverage Δ
Complexity Δ

...bci/bytebuddy/FailSafeDeclaredMethodsCompiler.java
100% <100%> (ø)
4 <4> (ø)
:arrow_down:

...agent/plugin/api/ElasticApmApiInstrumentation.java
45% <37.5%> (-1.43%)
3 <1> (-2)

.../agent/plugin/api/AbstractSpanInstrumentation.java
50.87% <45.45%> (-4.37%)
3 <0> (-4)

...java/co/elastic/apm/agent/bci/ElasticApmAgent.java
71.32% <60%> (-1.35%)
19 <0> (-2)

...astic/apm/agent/impl/transaction/TraceContext.java
86.59% <8.33%> (-5.08%)
56 <0> (-38)

.../co/elastic/apm/agent/impl/payload/SystemInfo.java
55.55% <0%> (-22.04%)
6% <0%> (-12%)

...tic/apm/agent/configuration/CoreConfiguration.java
93.12% <0%> (-2.15%)
15% <0%> (ø)

... and 16 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 863822f...460d71a. Read the comment docs.


Remove version from filename, add --no-cache to docker build

The version number present in the file name right now does not serve any purpose. Also slightly compacted the file name so the architecture tag so that it is matches standard convention, i.e. arm64 instead of arm_64
Also added --no-cache flag to docker build to prevent caching issues when modifying these build scripts

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your master branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

upstream of https://github.com/jenkinsci/durable-task-plugin/pull/135


Added examples/go for example Go instrumentation (metrics, logs & tracing) and sample GMP configuration.

This is a little bit overlapping with https://github.com/GoogleCloudPlatform/prometheus-engine/tree/main/cmd/example-app - perhaps it's wise to merge those in this PR.
I would propose putting https://github.com/GoogleCloudPlatform/prometheus-engine/tree/main/cmd/example-app inside examples/go dir, WDYT? Ideally we also decide which one we want:
a. client/server with middleware setting exemplars
b. mem util based with direct exemplars - or both? 🤔
cc @realschwa @pintohutch

Honestly, we could just supersede the current example app with this one.
We want a simple app that:

exposes Prometheus metrics and exemplars
has an accompanying pod monitoring
we can use those signals ingested into GMP to run e2e tests against
we can refer to in our documentation that can help users get started

The fact that this app is less "toyish" in how it's instrumented and provides boilerplate for OT traces and logs as well is great!


[HELP] Windows install: "cannot open input file 'cairo-gobject.lib'"

When following the Windows installation instructions, I ran into a build problem during the librsvg steps at this command:
nmake /f Makefile.vc CFG=release install PREFIX=C:\gnome

Sanity checks I did based on a checklist by @wroyca:

git --version outputs 'git version 2.37.2.windows.2'
I found C:\pkg-config-lite-0.28-1\bin in the output of echo $Env:Path, same with C:\gnome\bin
echo $Env:PKG_CONFIG_PATH outputs C:\gnome\lib\pkgconfig
I'm using the PowerShell version of Visual Studio 2022 Developer Command Prompt v17.4.4. When I run the command in the legacy command prompt, I get the same error.

The error is:
  = note: LINK : fatal error LNK1181: cannot open input file 'cairo-gobject.lib'

The following warnings were emitted during compilation:

warning: File path C:/msys64/ucrt64/lib/libz.dll.a found in pkg-config file for cairo-pdf, but could not extract library base name to pass to linker command line
warning: File path C:/msys64/ucrt64/lib/libz.dll.a found in pkg-config file for cairo-ps, but could not extract library base name to pass to linker command line

error: could not compile `librsvg` due to previous error

Caused by:
  process didn't exit successfully: `rustc --crate-name rsvg_convert (...)

I could not find cairo-gobject.lib in either C:\gnome or C:\gtk. I'm not sure in which folder I should expect it. Do you think the presence of MSYS64 on my system is somehow interfering here? C:/msys64/ucrt64/lib/ is not on my path but C:\msys64\ucrt64\bin is.

Yes, it seems that the presence of MSYS64 is interfering, best to remove it temporarily from path and see if you can continue without it. It is also worth checking that you have gettext 0.21 and iconv 1.16 (static) properly installed and available in your path as well
GETTEXTCLDRDIR C:\Program Files\gettext-iconv\lib\gettext

Having removed the msys64 bin folder from my path, installed the correct static 64-bit variant of gettext 0.21, restarted the terminal app, verified that echo $Env:Path no longer contains it, checked that echo $Env:GETTEXTCLDRDIR equals C:\Program Files\gettext-iconv\lib\gettext, and checked that xgettext --version mentions 0.21, I still got the error including the msys64 references:
warning: File path C:/msys64/ucrt64/lib/libz.dll.a found in pkg-config file for cairo-pdf, but could not extract library base name to pass to linker command line
warning: File path C:/msys64/ucrt64/lib/libz.dll.a found in pkg-config file for cairo-ps, but could not extract library base name to pass to linker command line

Then I recreated the librsvg folder from scratch, ran the steps related to it again, and up came the "fatal error LNK1181: cannot open input file 'cairo-gobject.lib'" error once more. I feel like there's still a 50% chance of it being something silly I forgot to do or check, I'm just not sure where to look for it.

Having removed the msys64 bin folder from my path, installed the correct static 64-bit variant of gettext 0.21, restarted the terminal app, verified that echo $Env:Path no longer contains it, checked that echo $Env:GETTEXTCLDRDIR equals C:\Program Files\gettext-iconv\lib\gettext, and checked that xgettext --version mentions 0.21, I still got the error including the msys64 references:
warning: File path C:/msys64/ucrt64/lib/libz.dll.a found in pkg-config file for cairo-pdf, but could not extract library base name to pass to linker command line
warning: File path C:/msys64/ucrt64/lib/libz.dll.a found in pkg-config file for cairo-ps, but could not extract library base name to pass to linker command line

Then I recreated the librsvg folder from scratch, ran the steps related to it again, and up came the "fatal error LNK1181: cannot open input file 'cairo-gobject.lib'" error once more. I feel like there's still a 50% chance of it being something silly I forgot to do or check, I'm just not sure where to look for it.

Hm, that's strange, can you run where pkg-config and can you pass the log from meson setup builddir --prefix=C:/gnome -Dbuild-tests=false -Dmedia-gstreamer=disabled in C:/gtk - this will give us a better insight into what might possibly be going wrong ( be sure to wipe builddir/ beforehand. )
It is possible that mingw pkgconfig takes precedence over pkgconfig-lite, which causes the problems mentioned

tl;dr Thanks, I got it up and running with your help! I did jump through a few hoops along the way. I'll pay it forward by leaving my process here so Google can crawl it for future use.

Interesting: a pkg-config binary from another folder (not one related to MSYS64/MinGW though) indeed took precedence. So I moved up the folder in the Path variable and ran this sanity check:
PS C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools> (Get-Command pkg-config).Path
C:\pkg-config-lite-0.28-1\bin\pkg-config.exe

I wiped the gnome folder, recreated the gtk/libxml2/librsvg directories using git clone, then started again. Curiously, the build was failing earlier than before.
PS C:\gtk> meson setup builddir --prefix=C:/gnome -Dbuild-tests=false -Dmedia-gstreamer=disabled
The Meson build system
Version: 1.0.0
Source dir: C:\gtk
Build dir: C:\gtk\builddir
Build type: native build
Project name: gtk
Project version: 4.9.3
C compiler for the host machine: cl (msvc 19.34.31937 "Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31937 for x64")
C linker for the host machine: link link 14.34.31937.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
cl.exe does not actually support gnu standards, and meson will instead demote to the nearest ISO C standard. This may cause compilation to fail.
Has header "crt/externs.h" : NO
Has header "dev/evdev/input.h" : NO
Has header "dlfcn.h" : NO
Has header "ftw.h" : NO
Has header "inttypes.h" : YES
Has header "linux/input.h" : NO
Has header "linux/memfd.h" : NO
Has header "locale.h" : YES
Has header "memory.h" : YES
Has header "stdint.h" : YES
Has header "stdlib.h" : YES
Has header "strings.h" : NO
Has header "string.h" : YES
Has header "sys/mman.h" : NO
Has header "sys/param.h" : NO
Has header "sys/stat.h" : YES
Has header "sys/sysinfo.h" : NO
Has header "sys/systeminfo.h" : NO
Has header "sys/time.h" : NO
Has header "sys/types.h" : YES
Has header "unistd.h" : NO
Has header "gio/gdesktopappinfo.h" : NO
Library m found: NO
Checking for function "dcgettext" with dependency -lm: NO
Checking for function "getpagesize" with dependency -lm: NO
Checking for function "getresuid" with dependency -lm: NO
Checking for function "lstat" with dependency -lm: NO
Checking for function "memfd_create" with dependency -lm: NO
Checking for function "mmap" with dependency -lm: NO
Checking for function "posix_fallocate" with dependency -lm: NO
Checking for function "_lock_file" with dependency -lm: YES
Checking for function "flockfile" with dependency -lm: NO
Checking for function "mkstemp" with dependency -lm: NO
Checking for function "mallinfo2" with dependency -lm: NO
Checking for function "sincos" with dependency -lm: NO
Checking for function "sincosf" with dependency -lm: NO
Checking if "sigsetjmp" : links: NO
Checking if "__uint128_t available" compiles: NO
Checking for function "mlock" : NO
Checking for function "madvise" : NO
Compiler for C supports arguments -FImsvc_recommended_pragmas.h: NO
Compiler for C supports arguments -D_USE_MATH_DEFINES: YES
Compiler for C supports arguments -utf-8: YES
Compiler for C supports arguments -Zc:preprocessor: YES
meson.build:263: WARNING: add_languages is missing native:, assuming languages are wanted for both host and build.
C++ compiler for the host machine: cl (msvc 19.34.31937 "Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31937 for x64")
C++ linker for the host machine: link link 14.34.31937.0
Compiler for C++ supports arguments -FImsvc_recommended_pragmas.h: NO
Compiler for C++ supports arguments -D_USE_MATH_DEFINES: YES
Compiler for C++ supports arguments -utf-8: YES
Compiler for C++ supports arguments -Zc:preprocessor: YES
Compiler for C supports arguments -FImsvc_recommended_pragmas.h: NO (cached)
Compiler for C supports arguments -D_USE_MATH_DEFINES: YES (cached)
Compiler for C supports arguments -utf-8: YES (cached)
Compiler for C supports arguments -Zc:preprocessor: YES (cached)
Compiler for C supports link arguments -Wl,-Bsymbolic: NO
Compiler for C supports link arguments -Wl,-z,relro: NO
Compiler for C supports link arguments -Wl,-z,now: NO
Found pkg-config: C:\pkg-config-lite-0.28-1\bin\pkg-config.EXE (0.28)
Run-time dependency glib-2.0 found: YES 2.74.4
Run-time dependency gobject-2.0 found: YES 2.74.4
Run-time dependency gio-windows-2.0 found: YES 2.74.4
Run-time dependency gmodule-2.0 found: YES 2.74.4
Run-time dependency cairo found: YES 1.17.6
Run-time dependency cairo-gobject found: YES 1.17.6
Run-time dependency pango found: YES 1.50.12
Run-time dependency fribidi found: YES 1.0.12
Run-time dependency harfbuzz found: YES 4.0.0
Run-time dependency pangoft2 found: YES 1.50.12
Run-time dependency pangowin32 found: YES 1.50.12
Run-time dependency pangocairo found: YES 1.50.12
Run-time dependency gdk-pixbuf-2.0 found: YES 2.42.11
Found CMake: C:\Program Files\CMake\bin\cmake.EXE (3.25.1)
Run-time dependency libpng found: NO (tried pkgconfig and cmake)
Run-time dependency png found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency libpng
Downloading libpng source from https://github.com/glennrp/libpng/archive/v1.6.37.tar.gz
Downloading file of unknown size.
Downloading libpng patch from https://wrapdb.mesonbuild.com/v2/libpng_1.6.37-3/get_patch
Downloading: 100%|██████████████████████████████████████| 2024/2024 [00:00<00:00, 2029469.59bytes/s]

Executing subproject libpng

libpng| Project name: libpng
libpng| Project version: 1.6.37
libpng| C compiler for the host machine: cl (msvc 19.34.31937 "Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31937 for x64")
libpng| C linker for the host machine: link link 14.34.31937.0
libpng| Fetching value of define "__ANDROID__" :
libpng| Run-time dependency zlib found: NO (tried pkgconfig, cmake and system)

subprojects\libpng-1.6.37\meson.build:17:2: ERROR: Dependency "zlib" not found, tried pkgconfig, cmake and system

Did another wipe and then the error stopped occurring, which I found odd.  Not sure if a dependency silently failed to download or whether I subconsciously executed the procedure incorrectly. I got past the cairo-gobject.lib error and got this in the nmake /f Makefile.vc CFG=release install PREFIX=C:\gnome step:
=========================
Configuration for librsvg
=========================
Build Type: release

Built Tools:
rsvg-convert

Introspection: no
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) moved.

[main 2023-01-15T09:33:08.733Z] update#setState idle
[main 2023-01-15T09:33:09.911Z] Starting extension host with pid 3080 (fork() took 12 ms).
[main 2023-01-15T09:33:17.337Z] Waiting for extension host with pid 3080 to exit.
[main 2023-01-15T09:33:17.374Z] Extension host with pid 3080 exited with code: 0, signal: null.
*** librsvg-2.0.pc is not generated! Generate it later using $(PYTHON) --version=2.55.90 --prefix=$(PREFIX)

At this point a VSCode window for C:\librsvg\win32\rsvgpc.py opened, when I assume instead it intended to execute the script. I tried both nmake /f generate-msvc.mak generate-nmake-files PYTHON="C:\Python310\python.exe" and nmake /f generate-msvc.mak generate-nmake-files PYTHON=C:\Python310\python.exe with the same outcome. The next time, I tried to inspect the spawned process:
[main 2023-01-15T09:46:16.106Z] update#setState idle
[main 2023-01-15T09:46:17.002Z] Starting extension host with pid 14848 (fork() took 14 ms).
[main 2023-01-15T09:46:46.118Z] update#setState checking for updates
[main 2023-01-15T09:46:46.143Z] update#setState idle

According to Process Explorer, the command line path for PID 14847 was "C:\Users\Username\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node --inspect-port=0 "c:\Users\Username\AppData\Local\Programs\Microsoft VS Code\resources\app\out\bootstrap-fork" --type=extensionHost --skipWorkspaceStorageLock. Its parent process was Code.exe (PID 12176), whose command line invocation was "C:\Users\Username\AppData\Local\Programs\Microsoft VS Code\Code.exe" "C:\librsvg\win32\rsvgpc.py".
As a workaround, I took a gamble and executed python "C:\librsvg\win32\rsvgpc.py" --version=2.55.90 --prefix=C:\gnome in a different VS 2022 PowerShell. Then I quit the VSCode process and got this:
[main 2023-01-15T09:46:16.106Z] update#setState idle
[main 2023-01-15T09:46:17.002Z] Starting extension host with pid 14848 (fork() took 14 ms).
[main 2023-01-15T09:46:46.118Z] update#setState checking for updates
[main 2023-01-15T09:46:46.143Z] update#setState idle
[3664:0115/104816.045:ERROR:gpu_init.cc(481)] Passthrough is not supported, GL is disabled, ANGLE is
[main 2023-01-15T09:54:16.809Z] Waiting for extension host with pid 14848 to exit.
[main 2023-01-15T09:54:16.831Z] Extension host with pid 14848 exited with code: 0, signal: null.
        1 file(s) moved.

I compiled a test application and now have a Gtk4 window on my desktop! Thanks for your help.

Glad I could help! :)

Unfortunately, yes, pkgconfig has always been hit-or-miss on Windows, too many unrelated things can inadvertently affect it.

@bilelmoussaoui Should we add a notice to tell users to make sure that nothing override pkgconfig-lite? This can be quite sneaky as sometimes a random install will pack its own pkgconfig.

@wroyca sure, anything that would help users debug an installation issue would be very helpful


Youtube occasionally serves unexpected signatures what leads to broken stream links (Error 403: Forbidden)

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2019.04.30
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-f', u'249', u'https://www.youtube.com/watch?v=JGwWNGJdvx8', u'-v']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.04.30
[debug] Python version 2.7.10 (CPython) - Darwin-18.2.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] JGwWNGJdvx8: Downloading webpage
[youtube] JGwWNGJdvx8: Downloading video info webpage
[youtube] {18} signature length 106, html5 player vflQTyJbT
[youtube] {313} signature length 110, html5 player vflQTyJbT
[youtube] {271} signature length 110, html5 player vflQTyJbT
[youtube] {137} signature length 106, html5 player vflQTyJbT
[youtube] {248} signature length 106, html5 player vflQTyJbT
[youtube] {136} signature length 110, html5 player vflQTyJbT
[youtube] {247} signature length 110, html5 player vflQTyJbT
[youtube] {398} signature length 110, html5 player vflQTyJbT
[youtube] {135} signature length 110, html5 player vflQTyJbT
[youtube] {244} signature length 110, html5 player vflQTyJbT
[youtube] {397} signature length 110, html5 player vflQTyJbT
[youtube] {134} signature length 110, html5 player vflQTyJbT
[youtube] {243} signature length 110, html5 player vflQTyJbT
[youtube] {396} signature length 110, html5 player vflQTyJbT
[youtube] {133} signature length 106, html5 player vflQTyJbT
[youtube] {242} signature length 106, html5 player vflQTyJbT
[youtube] {395} signature length 106, html5 player vflQTyJbT
[youtube] {160} signature length 110, html5 player vflQTyJbT
[youtube] {278} signature length 110, html5 player vflQTyJbT
[youtube] {394} signature length 110, html5 player vflQTyJbT
[youtube] {140} signature length 110, html5 player vflQTyJbT
[youtube] {171} signature length 110, html5 player vflQTyJbT
[youtube] {249} signature length 110, html5 player vflQTyJbT
[youtube] {250} signature length 106, html5 player vflQTyJbT
[youtube] {251} signature length 110, html5 player vflQTyJbT
[debug] Invoking downloader on u'https://r2---sn-3px8apox-3c2e.googlevideo.com/videoplayback?expire=1557436476&ei=3EPUXNOPJ4KU7ASL2rnIBw&ip=<IP_ADDRESS>&id=o-AEIiiIfvkEj8bYDf8S-qXlVSHYN5zWQTU6-7Ws8qVSO6&itag=249&source=youtube&requiressl=yes&mm=31%2C29&mn=sn-3px8apox-3c2e%2Csn-3c27sn7l&ms=au%2Crdu&mv=m&pl=22&nh=%2CIgpwcjAxLmticDAzKgkxMjcuMC4wLjE&initcwndbps=1108750&mime=audio%2Fwebm&gir=yes&clen=1609992&dur=263.241&lmt=1540766113290916&mt=1557414746&fvip=9&keepalive=yes&beids=23806823&c=WEB&txp=5511222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mm%2Cmn%2Cms%2Cmv%2Cpl%2Cnh%2Cinitcwndbps&lsig=AHylml4wRQIhAIFF4sxU05JdOqOxN31e65peq4k8P2_4Iuwk5eDjb2yJAiAzYag_syL7fITSMptCp4DAyzh_Tik22z9Dk4mUicRJcg%3D%3D&signature=ALgxI2wwRgIhALiH4juW7ukPgRTeJjNC3VHMWEtWc5xSbxbiPP-Wuf-aAiEApk8sNDmp2Yi7Q0-75vbrWaLhlSrAqaYc4ozbzADnzqU=&ratebypass=yes'
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1915, in process_info
    success = dl(filename, info_dict)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1854, in dl
    return fd.download(name, info)
  File "/usr/local/bin/youtube-dl/youtube_dl/downloader/common.py", line 364, in download
    return self.real_download(filename, info_dict)
  File "/usr/local/bin/youtube-dl/youtube_dl/downloader/http.py", line 341, in real_download
    establish_connection()
  File "/usr/local/bin/youtube-dl/youtube_dl/downloader/http.py", line 109, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2227, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 437, in open
    response = meth(req, response)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 475, in error
    return self._call_chain(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 558, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden

Description

Hi guys! Yesterday I've found that youtube-dl from time to time serves me with broken links to the signatured audio/video streams, it happens not that often (2-3 times per 10-15 videos) but still quite uncomfortable so I decided to investigate this issue and here's what I've found - sometimes signatured video may have signature with format different than normal one and therefore (as I suppose) it can't be properly deciphered so the stream url leads to 403.
So instead of deciphered signature like this
549AFEF2E20684CF765993B37180D8F8C204EC09.63C2AE132DFDB8CD8A14DBD8310AE492969E4F2C
it may looks like this:
ALgxI2wwRQIgSD97zkwABo9JPAipp752LO891bTagLDq79fwYuq-7A4CIQD7lSb-j8BuvgmGEkCR2RV-gVtSIcz8NFz9JDIuJymoyw==
(ciphered signature was: 7LgxI2wwRQIgSD9AzkwABo9JPAipp752LO891bTagLDq79fwYuq-7A4CIQD7lSb-j8BuvgmGEkCRVRV-gutSIcz8NFz9JDI=Jymoyw==w=uw=2)
How to reproduce:

Run the following command:
youtube-dl -f 249 'https://www.youtube.com/watch?v=JGwWNGJdvx8' -v(video id JGwWNGJdvx8 is not obligatory, feel free to use any other signatured video id)
If audio file was downloaded successfully delete the file
Try again
Note: Usually it takes less than 10 attempts to reproduce this bug.

did notice this too, its weird, what i got as deciphered signature
ALgxI2wwRQIgQHWXbHQp-PO1OjO1Rrn1yYpXeovs8Pf0jNUk5TV3y3MCIQDZ1pNCw4H1tiNJ20br-ZRFLiRFFuPyprN7PxZvtu-Srg==

Getting the same problem with the video you posted, my signature is ALgxI2wwRgIhAP0KE3wIc5sByjT_ZZZJerIiqupXkeTiDyk7X_YptivMAiEArPGvX-P3wZi1rlFkUkuORYicAAPI3n6qEU5m_-ShDTI=

there's a new pram too if you look closely  -

lsig

https://redirector.googlevideo.com/videoplayback?expire=1557444664&ei=2GPUXO6HKNGE3LUP0JO38A8&ip=<IP_ADDRESS>&id=o-ALE4ObQe39olZt10oyF8vVbmaLSESN0l-Gx9h3KHrTt2&itag=171&source=youtube&requiressl=yes&mm=31,26&mn=sn-h5576nee,sn-cvh76nez&ms=au,onr&mv=m&pl=24&initcwndbps=111250&mime=audio%2Fwebm&gir=yes&clen=3937917&dur=263.205&lmt=1540766115306658&mt=1557422986&fvip=2&keepalive=yes&c=WEB&txp=5511222&sparams=expire,ei,ip,id,itag,source,requiressl,mime,gir,clen,dur,lmt&lsparams=mm,mn,ms,mv,pl,initcwndbps&lsig=AHylml4wRQIhAKLA-jGFYOK-BOAbGkOGJt6V-7m7QvGT5qCyDYODUGC4AiBvYu1UrqHfw_Umue-HeDdVfnrwZJbn1-wEktXb5RLvSg%3D%3D&signature=ALgxI2wwRQIgBiyfroos1dbUZu176HqUcDYlcKBINmVynC8mtiwj_woCIQCLKcC9F1tAOaPJ8gC5ukKWtxaAAME1Wd_vWWaejCc6iw==

it seems to be an old issue, old ones got closed though without much clarification;
#18841 #18927 #18937 #18950 #18804

it seems to be an old issue, old ones got closed though without much clarification;
#18841 #18927 #18937 #18950 #18804
Looks like you're right - all the issues you've pointed except #18937 and #18804 has that weird signature like in my case.

I personally in my library (that is basically youtube-dl on java) added a straight forward workaround for this problem - I'm just checking if signature contains a dot character (valid signatures are always have it) and if not I'm starting all the magic again. I've tested if for couple of dozens times and discovered that 1 or 2 attempts are enough to receive a proper signature.


Update local AI fetcher to forward method and pathname to upstream

This pr starts forwarding method and url to upstream.
This is not a breaking change, because the AI binding currently just does POST requests.
workerd here

Tests

[ ] TODO (before merge)
[x] Tests included
[ ] Tests not necessary because: current tests already cover this change

E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)

[ ] I don't know
[ ] Required
[x] Not required because: current tests already cover this change

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s):
[x] Documentation not necessary because: just a small improvement, it doesn't change anything from a user perspective

@petebacondarwin sure, let me add a test and get back to you
Regarding the header name, i don't think "X-Forwarded-Host" fits well, because we are forwarding the complete url, not just the hostname, i guess nothing stops us from doing it anyway, it might just be confusing for someone new
The part we are really interested is in the utl pathname + querystring, so i thought i might as well send the complete url

Still LGTM!


Update module installation doc

The installation instructions are currently outdated, especially now that we are using npm workspaces.
Update how to install and how to use each module of disco.

[x] misformatted markdown at the top of DEV.md
[x] outdated testing instructions in docs/ONBOARDING.md
[x] outdated VSCode import tip in docs/ONBOARDING.md
[x] docs/node_example
[ ] web-client/README.md
[ ] server/README.md
[x] cli/README.md
[ ] discojs/README.md
[ ] discojs/discojs-core/README.md
[ ] discojs/discojs-node/README.md
[ ] discojs/discojs-web/README.md

Fixes #609, mostly done after the workspace refactoring.


Error loading a file during custodian run doesn't return non-zero exit code

When a policy file can't be loaded due to a syntax error, the exit code should be non-zero to indicate an error.
(custodian) E:\Projects\cloud-custodian>custodian run --output-dir=. example.yml --region us-west-1
2018-11-16 13:30:00,832: custodian.utils:ERROR Error while loading yaml file example.yml
2018-11-16 13:30:00,835: custodian.utils:ERROR Skipping this file.  Error message below:
mapping values are not allowed in this context
  in "<byte string>", line 58, column 15
2018-11-16 13:30:00,835: custodian.commands:WARNING Empty policy file(s).  Nothing to do.

(custodian) E:\Projects\cloud-custodian>echo %errorlevel%
0

And here is a minimal example.yml that reproduces the issue.
The syntax error is the missing trailing colon after - or:
policies:
- name: example
  filters:
  - or
    - type: value
      key: '"c7n:AccessKeys"[?Status == ''Active''].CreateDate | [0]'
      op: gt
      value_type: age
      value: 90
    - type: value
      key: '"c7n:AccessKeys"[?Status == ''Active''].CreateDate | [1]'
      op: gt
      value_type: age
      value: 90

Thanks for the bug report, i've put a pull request up to address


it seems that imp is depreceated

https://github.com/fleming79/readim/blob/4fdb8b4c86677e44d3d037abc181a5f97c205018/ReadIM/core.py#L15
https://docs.python.org/3/library/imp.html

Thanks for that. I've re-swigged the file with swig 4.0.0


How to get docker:dind container to log into Docker Hub?

We have actions which required building of images from Dockerfiles, and these Dockerfiles pull images from Docker Hub (i.e., FROM alpine. When we process a lot of actions, we've found that the Docker build fails because we've hit the Docker Hub rate-limits. These rate-limits are relaxed somewhat if you log into a Docker Hub account before attempting the build.
Describe the solution you'd like
Make it possible to log into Docker Hub using PullSecret-style credentials.
Describe alternatives you've considered
An alternative is to avoid using GitHub Actions which require the building of Dockerfiles, or avoid dependence on Docker Hub images for these builds.

This isn't something this project can solve. You can solve this in various ways but it's up to you as an end user to fix it, you can:

Use an alternative registry e.g. ECR
Authenticate within your workflow by either using an action like https://github.com/docker/login-action or if you are pulling the container as part of your workflow env using the container then you need to use the auth features of that key

Or include a docker config or credentials helper in your custom runner image, if you need to pull images before running login-action or you need to avoid using login-action?
https://github.com/actions-runner-controller/actions-runner-controller/issues/474#issuecomment-825273057

Yup but I'm not aware of a credentials helper for DockerHub, only the 1 for ECR https://github.com/awslabs/amazon-ecr-credential-helper

Me too.
Can we label this as question, so that we can communicate clearly that this seems not like something this project does for you?
I think 99% of the cases login-action works. Theoretically, you only need the credentials helper or dockerd config thing only when you need to grab a login-action like action/container from a private container registry. But I have never heard about such special use-case.

mirror feature were added in https://github.com/actions-runner-controller/actions-runner-controller/pull/478 which could also solve this issue. We are using mirror currently and it works pretty well.


2020 06 10 remove publics chats

this branch was taken from 2020_06_08_ upd server.  it needs to be mixed before. here  was removed public chats

What's the actual status for this PR @xkevin190?


❌ Software Removal | mailbox.org

Description
I suggest removing mailbox.org.
Why I am making the suggestion
mailbox.org is not properly configured with DANE.
https://ssl-tools.net/mailservers/mailbox.org
https://ssl-tools.net/webservers/mailbox.org
https://ssl-tools.net/webservers/login.mailbox.org
My connection with the software
I have nothing to do with the operator of mailbox.org.

[✅] I will keep the issue up-to-date if something I have said changes or I remember a connection with the software.

mailbox.org is not properly configured with DANE.
https://ssl-tools.net/mailservers/mailbox.org

The error is a false positive "unexpected EOF" which might indicate the testing tool was throttled and didn't complete the test.
https://www.hardenize.com/report/mailbox.org/1605030434#email_dane indicates no issues.

https://ssl-tools.net/webservers/mailbox.org
https://ssl-tools.net/webservers/login.mailbox.org

These two are HTTP related servers, DANE verification happens in practically no browser, and we don't require it to.
Closing, everything is working.


fix #1545 typo

I should have waited for the tests to pass; then I'd have caught that I didn't change :up to :down.

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


[AKS] add deploy scripts for dev-box env configuration on AKS

Problem & Goal
In order to meet the pre-requirement of quick start (ssh env and get node ip list), user need exeucte this step.
These additional configuration are used for Azure CLI login, kubectl config, SSH env config and get node list.
Solve & doc
Organize the PR into a form that provides the information needed for the next quick start steps.
After performing the previous common prepare the dev-box step,  add a new step for user to config dev-box
Docs pls refer:
docs/aks/pai_aks_deploy.md#c-step-0
Results
After performing the new steps, it will have the following effects on the cluster:

node will be set the new ssh user name and password [which will be used by quick start config]
user could get the node ip list [which will be used by quick start config]
azure cli and kubectl can be used at dev-box [which will be used for service deployment, note: as ssh depend this box, so the dev-box service need this step to be launched, other maintain scripts will be provided at next PR]
a jump box dev-box pod will be deployed [Which will be used at quick start step for ssh cmd]

Expand to other cluster environments:
Like other cloud AWS, ali, existing k8s etc. we could extend dev-box-util.sh to add other CLUSTER_TYPE
and add related scripts to config related pre-requests.
Related issue
https://github.com/Microsoft/pai/issues/1716
https://github.com/Microsoft/pai/issues/1715
https://github.com/Microsoft/pai/issues/1714

Coverage increased (+0.01%) to 51.774% when pulling 5b65a46ed1fa247a840117f4d2af36b5e7167ce7 on yanjga/dev-box-config into 327a5cd4d711e763e2022ef68a6ee64a450f3302 on master.

Coverage increased (+0.01%) to 51.774% when pulling 5b65a46ed1fa247a840117f4d2af36b5e7167ce7 on yanjga/dev-box-config into 327a5cd4d711e763e2022ef68a6ee64a450f3302 on master.

Coverage increased (+0.01%) to 51.774% when pulling 5b65a46ed1fa247a840117f4d2af36b5e7167ce7 on yanjga/dev-box-config into 327a5cd4d711e763e2022ef68a6ee64a450f3302 on master.

Coverage increased (+0.01%) to 51.774% when pulling 5b65a46ed1fa247a840117f4d2af36b5e7167ce7 on yanjga/dev-box-config into 327a5cd4d711e763e2022ef68a6ee64a450f3302 on master.


Alloy Smelter voiding items

This is the first ever bug/issue report I do, I have no idea is it ok as it is or not, this bug to happen also needs Aroma's mining dimension and I have no idea does it happen with the vanilla nether portal.
What happens:
Some sort of voiding of the (as discovered only) glass minecraft item being smelted into clear glass when I let the glass manually to smelt into clear glass and then jump into Aroma's mining dimension portal the glass seems to void and disappear from the alloy smelter
What you expected to happen:
Its expected that the glass continues to smelt while the chunk is loaded with chicken chunks's chunk loader
Steps to reproduce:

Have powered alloy smelter and aroma's portal close to it
Leave glass to be smelted in it and jump straight in the mining dimension

Affected Versions (Do not use "latest"):

EnderIO: 5.0.22
EnderCore: 0.5.20
Minecraft: 1.12.2
Forge: <IP_ADDRESS>55

Your most recent log file where the issue was present:
Since pastebin has a limit, I archived the log file, look around times 1pm to 3pm or so around that time the voiding happened
https://cdn.discordapp.com/attachments/405181071160901649/441659405356761113/03-05-2018.rar

Chunk unloading not saving the furnace "processing" prehaps?

Cannot replicate this, please check your pack config


Remove .Net 7.0 from pipelines and README

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.727%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2683

Relevant Lines:
2896

💛  - Coveralls


Change context menu menuitem strings

What do you think about changing the English context menuitem strings from Save Page Now to Archive Page Now and from Save Page Now (link) to Archive Link Now?

I created a pull request for this: https://github.com/tqdv/save-page-now/pull/3

Thanks for the PR, I merged it.
For the record, I named them that way because the feature of the Wayback Machine is called "Save Page Now".
I think your suggestions do indeed make it clearer.

You're welcome.  Thanks again for the helpful extension.


Location Button

Adds a button to the toolkit that allows a user to show their current location.
The view can be positioned anywhere, with any background. This example uses a "regular material background" in a rounded rectangle.

Tap once, location display starts, if using a system location datasource, it will request authorization, while starting a progress indicator is shown
Starts in auto pan mode recenter
Long press to get a context menu
Switch to navigation mode, any autopan mode, or turn the datasource off
If the location display fails to start, an warning signal is shown, tapping again will try to start the datasource again
Panning turns autopan off, tapping the button again will turn on the last autopan mode that the user had selected

Next sprint x I can write some tests for this and then we can release it PI1 of 2025.

cc @dg0yal

Testing, doc, and tutorial now completed.


fix: Linode Settings - Disk I/O Notification - Value unable to be edited

Description 📝

Caused by https://github.com/linode/manager/pull/9121 🤦🏽
I accidentally used valueAsDate instead of valueAsNumber probably from working too fast

Preview 📷

How to test 🧪

Spin up a Linode
Verify you can edit all field in the notification section (shown above)

Specifically test the Disk I/O field (this is the only one that was broken)

@bnussman Let's add this to the changelog too


I cannot enable Keybase in Finder on Mac Monterey 12.0.1

I cannot enable Keybase in Finder on Mac Monterey 12.0.1
I did something in the related issue https://github.com/keybase/client/issues/13352, but it didn't work.
my log id: 7a483d455cad3f152107951c

Duplicates:

https://github.com/keybase/client/issues/24677
https://github.com/keybase/client/issues/24686
https://github.com/keybase/client/issues/24636
https://github.com/keybase/client/issues/24578
https://github.com/keybase/client/issues/24668
https://github.com/keybase/client/issues/24675
https://github.com/osxfuse/osxfuse/issues/846 - no only the Keybase has issues. Here are described some ideas what to try.

here's the crucial post. Monterey broke MacFUSE. Keybase devs are on it: https://github.com/keybase/client/issues/24636#issuecomment-981931397