Choix de la licence

Quelle licence utiliser ?
Rémy propose une licence MIT :
MIT License

Copyright (c) 2021 <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Plus d'infos sur les licences : https://opensource.org/licenses

La MIT me paraît bien, c'est clair et concis, facile à comprendre.

Pour MIT aussi


can't change nofile limits

Command: ...
OS: CentOs 6.6
Cookbook Version: 2.4.1
Ruby Version: ruby 2.1.6p336
Rubygems Version:
Chef Version: 12.5.1

We can't to change limits or use system limits while using template sv-jenkins-slave-run.erb
#!/bin/sh

#
# This file was generated by Chef for <%= node['fqdn'] %>.
# Do NOT modify this file by hand.
#

exec 2>&1
cd <%= @options[:new_resource].remote_fs %>
exec chpst -u <%= @options[:new_resource].user %> \
  env HOME=<%= @options[:new_resource].remote_fs %> \
  JENKINS_HOME=<%= @options[:new_resource].remote_fs %> \
  <%= @options[:java_bin] %> \
<%- if @options[:new_resource].jvm_options -%>
  <%= @options[:new_resource].jvm_options %> \
<%- end -%>
  -jar <%= @options[:slave_jar] %> \
<%- if @options[:jnlp_secret] -%>
  -secret <%= @options[:jnlp_secret] %> \
<%- end -%>
  -jnlpUrl <%= @options[:jnlp_url] %>

But if we change chpst to sudo in this template it work.
Can you help us with this problem?

This pull request change the limits for the server: https://github.com/chef-cookbooks/jenkins/pull/493
For the slave, maybe it would work to modify /etc/security/limits.conf or you may need to adapt the PR.

Fixed on master


feat(handlebars): add subexpressions, block-params and hash-parameters

closes #2181

Support for sub-expressions: Helper names in sub-expressions are now highlighted properly. The mode-tree is built recursively for sub-expressions so that sub-elements (nested sub-expressions in params) are also highlighted properly (like {{helper1 (helper2 (helper3 param) ) }}).
Support for hashes ("attr-assignments" in the "htmlbars"-language)  (like {{helper key=value}} or {{helper key=(sub-helper value)}}
Path expressions are highlighted: {{path.expression}}. Up to know, only path would be highlighted.
Block parameters are highlighted correctly: In {{#with as as | as | }} , only the middle as is a keyword.
Literals in helper-parameters are highlighted as keyword, number or string.
Merged built-ins with the list from 'htmlbars'
Added 'htmlbars' as alias
Deleted the 'htmlbars' language

@yyyc514 I think I am about ready except for some cleanup and the following questions:

what should happen to 'htmlbars' now?
I have removed the whole language in my branch because the auto-detection tests were failing all the time.
should the changes go to the wip_version_10 branch?
The expression inside I basic mustache ({{test}}) is now highlighted as "hljs-name" just like in block-mustaches. I felt that they should because they essentially have the same semantics. Should I revert that to retain the previous behaviour?

what should happen to 'htmlbars' now?

I've changed my thinking on this and now think it should simply be an alias of handlbars.

should the changes go to the wip_version_10 branch?

Sure, though I hope to merge it soon anyways, so that's not a necessity.

The expression inside I basic mustache ({{test}}) is now highlighted as "hljs-name" just like in block-mustaches. I felt that they should because they essentially have the same semantics. Should I revert that to retain the previous behaviour?

What was the previous behavior again?

What I also changed (in my next version, is the attr-assignment-rule of htmlbars (in Handlebars-speak, this is calls "Hash"). The 'htmlbars'-language highlights the value (behind the equal-sign) as attr, but as I understand it, the part in front of the equal sign should be highlighted.
This change is not visible in the default theme, because the "attr"-class has no special highlighting, but it is there.

The expression inside I basic mustache ({{test}}) is now highlighted as "hljs-name" just like in block-mustaches.

I kind of dislike this for simple variable expressions, but I don't really know what to suggest as figuring out one from the other might not be worth the effort.

but as I understand it, the part in front of the equal sign should be highlighted.

Makes sense to me, of course if the value was a number or string I'd still expect it to be highlighted as such.

I kind of dislike this for simple variable expressions, but I don't really know what to suggest as figuring out one from the other might not be worth the effort.

The distinction here is not between blocks and basic mustaches (see https://jsfiddle.net/nL91aohe/1/):

{{test}} can be a property-access or a function-call (if 'test' is a function) or a helper call (if a helper 'test' is registered)
{{#test}}...{{/test}} can be a block-helper, or a property-access that dives into a object.

I just gave the first element in a a basic mustache the class "name", which makes it bold.

Don't presume this, how it looks all depends on the theme used...

This has gotten really complex now. I wonder if you'll be able to review...
It is really difficult to verify the tests manually. I tried to make them self-explanatory, but the HTML-tags in the expect-files really mess up with readability.
It might be a good idea to create use a visual regression-testing tool to create screenshots of the test-cases. Just an idea... Of course, we would need a theme that makes more classes visible...
I'll try to update the description of the PR with a summary of what has changed...

What I am still unsure about is the class for built-in helpers and keywords:
As far as I understand the class reference it should be like this:

built-in helpers like 'each', 'with' (and probably all the other keywords in the built-ins list as well) should get the class builtin-name because they are a "name from the language standard library" .
keywords like {{else}} or as in {{#with x as | y |}} should get the class "keyword" because they are part of the language and not the standard library

What is the 'built_in' class used for? Should any of those be built_in instead?

I am done here for now. I think you can start your review...

@yyyc514
I have refactored the commits and some tests and rebased everything onto the master. The commits are now structured as follows:

Implementation of changes, adjustet test-cases expectations to reflect the new rules. This should allow you to see the changes that the new code does to the old tests
Add more tests for the new rules.
Change of the behaviour regarding {{else}} that you requested above.

I have not added any text parts to the new tests, except in the test "combinations-with-text.txt".
I have left the text parts in the old test-cases, because I didn't want to change the tests (make it easier for you to compare the results). I can clean-up those tests as well, if you want me to.

Somehow, GitHub displays the commits in the wrong order. The correct order (in my git repo) is:
c6fbcec6 fixup: make only "else" in {{else}} the keywords, not "{{else}}" as whole
9468f00e wip: adjustments for integrating handlebars rules
30a5e541 fixup: add more tests

Sorry I've seen this just it hasn't bubbled to the top of my list yet with everything going on. Sorry.  I'll try to get to soon.

BTW. I have integrated the rules into the handlebars website. All code snippets
are using them. Except in the editor of interactive examples, which uses codemiror

Looks pretty good, about to take a more careful look.  We can't lose the htmlbars.js file though for compatibility issues, but I'll fix that myself.

Actually I may have spoken too soon because of my last change before 10.0:
  var SHOULD_INHERIT_FROM_HANDLEBARS = hljs.requireLanguage('handlebars');

That would make a hard error if someone wasn't also loading handlebars, although I suppose someone could still be using the file in a manual require pipeline... so perhaps the htmlbars.js file is still required just to cover that edge case.

@yyyc514 I have added a few commits that hopefully address all of your points: Some commits, I have also noticed and fixed the following things:

Typo in variable IDENFIFIER_REGEX (commit 74f0c87e6db62e96d564f21d04f5b122f4ffe29f was somehow attributed to you, not me. I made an interactive rebase and moved that commit to the beginning and something went wrong. I don't mind if you don't).
The jsdoc-comment in regex.concat was not accurate. IntelliJ gave me a warning, a varargs-
parameter is not an array in jsdoc.

I think it would generally be better to use
import {concat} from '../lib/regex'

then
import * as regex from '../lib/regex'

because then, rollup can optimize using tree-shaking. I haven't done it because the wildcard import was used in other places. This might be an additional PR, for other languages as well.

Thanks for the type fix. :-)  Your right.

I prefer seeing the regex namespace in the code. Though I suppose you could still important them one at a time then put them back in a the regex namespace, but ugh.

because then, rollup can optimize using tree-shaking. I haven't done it because the wildcard import was used in other places.

This is a point, but one I'm not 100% sure I'm in a hurry to address, though welcome to discuss it here further since you noticed it and brought it up. :-)
My thoughts:

regex may eventually get hung off of hljs like everything else... I'm wait to see what "feels right"... but at that point it's just an API of the core library and can't be tree-shaken because we have no idea who might need it.
Eventually we will build the "core" build (ie, common languages) as one huge module (rather than individual languages as it's built now) and in that case there will be effectively no tree-shaking because the code wouldn't existing in the codebase if it wasn't used SOMEWHERE. And when we build as one huge module the code will also only be included a single time, rather than duplicated.

At that point the only thing tree-shaking would do for us is make the CDN modules a bit "tighter"... and even that wouldn't be true if regex moved back into being hung off of the main library.
Does that make sense?

Moving it into core makes sense.
I don't if making a huge module makes sense if people use their own bundler. If you just need 3 languages (like in the handlebars website) you probably don't want to have all other rules in the code as well. So it would be better to import distinct rules and let webpack do the, well, tree-shaking. From that point of view it also makes sense not to use the wildcard import, but

Actually I may have spoken too soon because of my last change before 10.0:
  var SHOULD_INHERIT_FROM_HANDLEBARS = hljs.requireLanguage('handlebars');

That would make a hard error if someone wasn't also loading handlebars, although I suppose someone could still be using the file in a manual require pipeline... so perhaps the htmlbars.js file is still required just to cover that edge case.

Is there something to do for me in this respect?

Is there something to do for me in this respect?

Nope. I think the commit I added earlier adding the file back and making it point to handlebars resolves it until v11, when the file can be completely removed.

So it would be better to import distinct rules and let webpack do the, well, tree-shaking.

I’m not sure I follow.  Do you think the code should hung off of hljs or be imported?  If it hangs off of hljs it cannot be tree-shaken because it’s a public API and the dependencies are not known at compile-time... so all the code has to be included (not that it’s a huge amount of code).
So there are a few different decisions to make here.  Ex: If we hang all the until functions off of hljs then how we import them becomes irrelevant.

If a size critical build was really an issue there are much better places to look for savings than whether all the functions in regex.js are tree-shaken or not.

You are right in that there is not much to gain and I wonder if this discussion is really worth it.
I understand your arguments and I don't want to tell you how to build highlight.js. I just wanted to point out that people may be using ESM-import directly.
Since the core actually does an import * as regex from './lib/regex' the tree-shaking would not change much in this particular case. But there may be other cases in the future where it becomes relevant, who knows.
But I don't want to refactor higlightjs. I think you have done a great job moving to ESM in the first play. And to be honest, I am happy, when this PR is done and out of my mind :heavy_check_mark:

And to be honest, I am happy, when this PR is done and out of my mind ✔

Sorry it got so complicated and I took so long to come back to it. :-)  It's awesome to finally get this finished.

Would you mind writing up a changelog entry (or a  few)?  I was going to just do it myself but then wasn't sure I could do it all justice... since my big-picture take is that we finally killed htmlbars but I think this makes a lot of other improvements that perhaps you'd like to mention?

@nknapp Take a deep breather and have a cold beverage today. :-) Thanks again!

I pushed an entry that contains that things that are important to me. But I haven't mentioned htmlbars, because I'm not sure what to write about it exactly.
Should I rebase and squash the commits into semantically relevant ones?
Oh, you merged already :grin:

But I haven't mentioned htmlbars

I added an entry for the deprecation.

Now we need someone as tenacious as you to tackle all the CSS stuff. :-)


[Feature Request] Add on the Api code the support for remove/update/add effect on items

Is your feature request related to a problem? Please describe.
Add on the Api code the support for remove/update/add effect on item.
I speak only at the level of the API no UI or other features, because I would like to use api interface to manage both actors and items.
Describe the solution you'd like
The code is already set up to use uuids and the creation of effects on the item uses the same methods as those for actors, so it would be a matter of changing the control from actor not present to actor or item not present.
If this is something you would be willing to consider I can open a PR.
Describe alternatives you've considered
Additional context

I would definitely consider doing this. Feel free to open a PR for it and I'll review it


Use yarn and commit yarn lockfile

What:
Commit a yarn.lock file and update our CI scripts to use yarn instead of npm.
Why?:
In the past we have had problems where a change in a dependency breaks CI. A recent example - see https://github.com/facebook/draft-js/issues/1562
If we can see the versions of each dependency that were used for each release and commit, then it will give us more info to debug these situations.
There are other reasons to standardize on yarn - see https://code.facebook.com/posts/1840075619545360
Action items for this issue:

[ ] get yarn set up for yourself
[ ] cd draft-js && rm -rf node_modules && yarn install
[ ] verify that builds, lint, tests, etc. are passing
[ ] commit the resulting yarn.lock file that gets added to the root of the repo
[ ] update .travis.yml to use yarn instead of npm for all commands. Note that the yarn commands may vary a bit from the npm CLI commands.
[ ] Do any things that @flarnie forgot about to make yarn the standard for developing and testing Draft.js

Thank-you-very-much~! 🌸

Hi @flarnie !
A pull request has been made #1570 which add yarn.lock file and an update of travis.yml file.

This can be closed since #1570 landed 🚀


[Atatus] Updated script to cdn hosted.

Updated atatus script to cdn hosted version. Can you please merge it?

Lgtm

@f2prateek Thanks


[BUG] Problem in go.mod File

I was downloading go-micro by using the following command because this is how it is imported in the examples,
go get -u github.com/asim/go-micro/v3

but an error occurred like this:
github.com/asim/go-micro<EMAIL_ADDRESS>parsing go.mod:
        module declares its path as: github.com/micro/go-micro
        but was required as: github.com/asim/go-micro

I think it is probably because the module name in go.mod of v1.18.0 is written as github.com/micro/go-micro while github.com/asim/go-micro is needed. So can you please check it out and fix it.

 But my GOPROXY env variable was already set to direct before adding the GOPROXY=direct. Confusing.

GOPROXY=direct go get github.com/asim/go-micro/v3

It worked, thanks! But my GOPROXY env variable was already set to direct before adding the GOPROXY=direct. Confusing.

GOPROXY=direct go get github.com/asim/go-micro/v3

It works, thanks! But my GOPROXY env variable was already set to direct before adding the GOPROXY=direct. Confusing.

GOPROXY=direct go get github.com/asim/go-micro/v3

It works, thanks! But my GOPROXY env variable was already set to direct before adding the GOPROXY=direct. Confusing.


Can't call target with multiple dlls in TargetPath unlike the CLI

Steps to reproduce

What steps can reproduce the defect?
Please share the setup, commandline for vstest.console, sample project, target
framework etc.

dotnet msbuild /t:Test /p:VSTestNoBuild=true /p:TargetPath="../Project1/bin/Debug/netcoreapp2.1/Project1.dll ../Project2/bin/Debug/netcoreapp2.1/Project2.dll"

Won't work while it does in the CLI.
Going via the TestProjects route gives different behavior as vstest is basically started twice in that case. Fixing or having an option to have that do the other behavior would solve it too!
<Project>
    <ItemGroup>
        <TestProjects Include="../Project1/*.csproj;../Project2/*.fsproj" />
        <Watch Include="../**/*.cs;../**/*.fs;../**/*.?proj;../**/*.resx" />
    </ItemGroup>

    <Target Name="Test">
        <MSBuild Targets="VSTest" Projects="@(TestProjects)" />
    </Target>

    <Import Project="$(MSBuildExtensionsPath)/Microsoft.Common.targets" />
</Project>

EDIT:
Interestingly running this target file with or without /p:VSTestNoBuild=true changes the workings completely. Running without that prop my second project gets built and then msbuild exits before running tests on that project. While if I run the target with /p:VSTestNoBuild=true I see both of them get run sequentially, not entirely how I would like it but not wildly incorrect behavior like the former.
Also to expand, my end goal is to be able to correctly run dotnet watch with multiple TestProjects, as performant as possible.
Expected behavior

Share the expected output

Total tests: 100. Passed: 100. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 1.8733 Seconds

Actual behavior

What is the behavior observed?

Total tests: 50. Passed: 41. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 1.0097 Seconds

[...]

Total tests: 41. Passed: 41. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 1.0097 Seconds

Environment

Please share additional details about the test environment.
Operating system, Build version of vstest.console
macOS Mojave — 2.1.403 sdk

So why is the sample pointing me to do it like this?
https://docs.microsoft.com/en-us/aspnet/core/tutorials/dotnet-watch?view=aspnetcore-2.1#custom-watch-projects

@NinoFloris dotnet watch is a valid behavior, & should work. My response was to as per your initial comment where you are passing path to multiple test dll.
For the dotnet watch issue, can you please share a small repro project, I'll investigate it further from there.

I explained in the opening post, when I add multiple TestProjects to <MSBuild Targets="VSTest" Projects="@(TestProjects)" /> it doesn't work correctly if build is enabled (VSTestNoBuild=true). If build isn't enabled it at least builds the 2 projects, but it basically starts vstest twice instead of running it in the same process.

FYI just noticed I said "it doesn't work correctly if build is enabled (VSTestNoBuild=true). If build isn't enabled it at least BUILD the 2 projects" which of course should be "runs"

https://github.com/Microsoft/vstest/issues/1503 is related, so a lot actually happens it just doesn't show up by default in the console

doing
export MSBUILDENSURESTDOUTFORTASKPROCESSES=1
dotnet watch msbuild -nodereuse:false -t:DefaultTests

seems to work around all weirdness
proj file:
...props...

    <Target Name="DefaultTests">
        <MSBuild Targets="Restore" Projects="@(DefaultTestProjects)" Condition="'$(TestNoBuild)' != 'true'" />
        <MSBuild Targets="VSTest" Projects="@(DefaultTestProjects)" Properties="VSTestNoBuild='$(TestNoBuild)'" />
    </Target>

The two paths can be specified by specifying the property multiple times:
dotnet msbuild
  /t:VSTest
  /p:VSTestNoBuild=true
  /p:TargetPath="S:\p\vstest3\playground\MSTest1\bin\Debug\net472\MSTest1.dll"
  /p:TargetPath="S:\p\vstest3\playground\MSTest1\bin\Debug\net5.0\MSTest1.dll"
  /p:VSTestNoBuild=true

Originally this would maybe fail with a target framework conflict, but from 17.3 vstest.console will be able to mix tfms and architectures under the same instance.


How should commands be structured?

Moving discussion from https://github.com/dpc/crev/issues/47 to a new thread.
cargo crev <verb> <obj> <args> seems to work quite well.
Edit: I'll be updating this list. Not all implemented yet.
cargo crev
  new
    id
  change
    id
    readme
  review <pkg> <version>
  trust <ids>
  push
  pull
  fetch
    url <url>
    trusted
    all
  query
    id
      current [--urls]
      own [--urls]
      trusted  [--urls]
      distrusted [--urls]
      all [--urls]
    reviews  [--by <id>] [--trusted] [--distrusted] <pkg> <version>
    package
      outdated [--trusted]

...

That looks really good!
Just to be clear, how does this work with help? Is it just another verb? Would cargo crev help id give a list of verbs which can be used with id?
Here's an example of verb-noun with that sort of help: https://github.com/fnproject/cli/wiki/CLI-Proposal:--verb--noun--structure

@rffrancon I'm relying on help provided by structopt, and it's good enough IMO, for now. If there's a room for improvement, it can be improved later. :)

Sounds good!

It's done. We can revise in the future.


Change sorting order in a test suite

Problem
Often, GET and PUT operations are executed after DELETE operation.
For example, in the petstore spec:

/user suite: put_updateUser_5 is executed after delete_deleteUser_3 causing it to fail.
/pet suite: post_updatePetWithForm_1 and get_getPetById_2 which take petId as parameter are executed before post_addPet_5 which creates the pet object.

Solution
In each test suite, perform operations in the following order:

Post
Get
Head
Options
Put
Patch
Delete

This ordering is already present in methodWeight.
In case the methods are same, give preference to the operation requiring lesser number of parameters. This is already set in the Priority of the node.

@yingxie3 any thoughts on this?
The project has high utility and I would like to improve it further. But given the complexity, I need your inputs on some changes.
Could you please find time to review and discuss some issues?

The original sort operation does consider the DAG depth. That's why it isn't entirely correct.
A lot of API specs have an UpdateObjectDefinition for PUT requests but no DeleteObjectDefinition for DELETE requests. So in the resulting DAG, the PUT node (depth=2) would depend on UpdateObjectDefinition (depth=1) causing PUT to have weight=2 (child of a root node) whereas the DELETE node (depth=1) wouldn't have any dependencies, thus will have weight=1 (root).
DAG:
UpdateObjectDefinition (weight=1) -> PUT (weight=2)
DELETE (weight=1)
Hence, the DELETE op will happen before PUT causing the latter request to fail.
But in this PR, once the test suite order is determined, I'm forcing the individual tests to follow the required sequence of POST, GET, PUT, DELETE.

Sounds good. Thanks!


Error example creates Xcode warning

The example code at the bottom of the Examples/ErrorTypes page generates the following warning in Xcode:
“Conditional cast from 'Error' to 'Error' always succeeds”
It is generated on the
if let moyaError = error as? Moya.Error {
line.
Any ideas on how to get rid of that warning?
Thank you.

I think you can omit the ? when casting (so, as instead of as?).

I had tried that.   If you omit the ?, then you get an error which says:
Enum case 'Some' not found in type 'Error'

I have been taking a look, and it seems the error is not an optional. The unwrapping therefore makes no sense. Also, I found converting the error from Error to Moya.Error has no effect either, so that can be committed as well. That means you can the following in your closure:
let provider = MoyaProvider<MyService>()
provider.request(.CreateUser(firstName: "James", lastName: "Potter")) { result in
  switch result {
  case let .Success(response):
    ()
  case let .Failure(error):
    switch error {
    case .Data(let response):
      print(response)
    case .ImageMapping(let response):
      print(response)
    case .JSONMapping(let response):
      print(response)
    case .StatusCode(let response):
      print(response)
    case .StringMapping(let response):
      print(response)
    case .Underlying(let nsError):
      // now can access NSError error.code or whatever
      // e.g. NSURLErrorTimedOut or NSURLErrorNotConnectedToInternet
      print(nsError.code)
      print(nsError.domain)
    }
  }
}

which will 'just work'.


Support per-tenant file size limit if multitenant

Good work removing the postgrest dependency too @thebengeu 🔥


[IOTDB-450] Add design documents

I'm sorry I just came back from today's meeting.

Thanks for the update @qiaojialin !
Could you please squash the commits, and I would like to have an other review :)

I'm sorry I just came back from today's meeting. @qiaojialin :(


Fix bugs found in the instance scheduler

Expected Behaviour
When passing invalid action into the stopStartTestInstancesInMemberAccount function, the error should be logged and the InstanceCount should return {0, 0, 0}.
Additionally, it would be better if the action values were case insensitive (Start = start = START).
Actual Behaviour
Although no action is taken, the reporting of the instances being skipped, acted upon or skipped autoscaled is incorrect (it should be {0, 0, 0}.
Steps to Reproduce the Problem

Run Unit Tests of the instance scheduler and see the results of the following test cases:

testing empty action input
testing invalid action input
testing if action input is not case sensitive when passing TEST

It requires #2527 to be completed first.


Adopt AsyncLocalStorage to manage tenant_id

The AsyncLocalStorage API was introduced in node 14 to provide an async-friendly alternative to thread-local storage in other programming environments.
In Express, this is particularly useful for capturing request-specific context in such a way that they can be shared across multiple asynchronous function calls without interfering with concurrent requests.
It looks like AsyncLocalStorage was promoted to stable as of node 16.4.0.
https://nodejs.org/api/async_context.html#asynchronous-context-tracking

Given the confidence that this API probably isn't going away, I decided it was worth trying out at least!
Happily, the API seems to do what it claims.  I didn't run into any issues working with tenant IDs, and the code required to get it working is all of about six lines!
Open questions:

Is request the right object to expose via AsyncLocalStorage?

I considered wrapping the express request in some kind of context object (e.g. Context: { req, session, tenant_id }).  I think it may make sense to do that at some stage, but I prefer starting with the simplest possible solution that works, until we know better.

Should we try to manage transactions using AsyncLocalStorage as well?

This one I'm very open to input on.  I think it's not quite clear we want to always assume a single global transaction, correct?

Okay, I poked at it some more and did find one sticky issue.
Happily, the JSON parser middleware was just recently updated to ensure compatibility with AsyncLocalStorage.  However, the upload middleware that we are using, multer, has not yet been fixed.
There's an open issue and PR to resolve it, but it wasn't too hard to fix in user space, once I understood the issue.

cc @mattbroussard

In practice the request is the context object with the way req.session is used now (and the way plugins like multer add stuff onto req).

Yeah, for better or for worse this pattern seems pretty well-established today.


ML data sync demo

Show how to use iroh to sync a large ML data set such as one of the open source large language models.
Show syncing while the model is running.
Show sync ingestion speed
Show sync speed with multiple downloaders
Extra: python integration ( https://github.com/n0-computer/iroh/issues/841 ) ?
Probably best to first demo what we actually have and leave the python integration for the next step...

Just to check, is it now possible to do this? Would love to see this demo if it is or get some directions on how to try out myself.

Also example with burn, may be syncing llama2 model


Example of classes and loops (poorly written)

This isn't a serious MR, just a little fun.
I haven't used python before, so I figured I'd give it a whirl. In this MR, I'm showing how you can use classes to store all your "data" up front, and then loop through those classes in the UI. This way, if you wanted to add more parts or ships, you just need to add them to the classes at the top of the file.
If you want to do more python development, I'd suggest you start breaking the script down into multiple files. It might seem trivial, but it'll help you get a firm grasp on separation of concerns & encapsulation - things you'll need to know to really "get" programming.
The styling in this MR is bad, and the code quality is bad. It's just a quick script whipped up to point you in a direction.

Cool, thank you!

There's a lot of good advice in the reddit thread, especially from fing-tree.
Merges actually apply the changes a developer made somewhere else into your repo. You may want to revert this MR if you didn't want to replace your work with mine. But if you want to start from what I had there, go for it.

I’ll see what you put in and if it’s good, I’ll keep it :) Sent from my iPhoneOn Jul 12, 2023, at 1:42 PM, brianharringtonpersonal @.***> wrote:
There's a lot of good advice in the reddit thread, especially from fing-tree.
Merges actually apply the changes a developer made somewhere else into your repo. You may want to revert this MR if you didn't want to replace your work with mine. But if you want to start from what I had there, go for it.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you modified the open/close state.Message ID: @.***>


change a regex and contents on Redirect on login chapter

We always call queryString() with "redirect" as an argument, so I think it's not necessary to use regex to escape special characters on name variable. (and you forgot to put regex special characters in the braces)
We want to capture a value after = to results[2], so it's not necessary to capture & or # or $ to results[1].
I'm not sure for this point. As my understanding, a string value of window.location.href is encoded by encodeURI(), not encodeURIComponent. So, we should use decodeURI to decode it.
We also wrap Signup component with UnauthenticatedRoute which takes responsibility for redirecting. So we should remove a redirecting logic in Signup to prevent conflicts.

Thanks for simplifying the regex.

We also wrap Signup component with UnauthenticatedRoute which takes responsibility for redirecting. So we should remove a redirecting logic in Signup to prevent conflicts.

Not sure I follow what you mean here. I don't see the change that you made?

see line 55

Thanks for simplifying the regex.

We also wrap Signup component with UnauthenticatedRoute which takes responsibility for redirecting. So we should remove a redirecting logic in Signup to prevent conflicts.

Not sure I follow what you mean here. I don't see the change that you made?

I added the content on line 55

Got it. Thanks. I'll merge this after I make this change in the repo.


Implement fixed-size batches for metrics

We can prepare a certain amount of metrics into the batch and send them in packs to reduce an effort required for parsing and transmitting query string.

implemented in #216


fix(locales): completes spanish and missing key

Hey 👋
completes all Spanish translations and adds a missing key to all languages.
Completed this PR as a test for GitHub codespaces and adding this extension to the pod. Works like a charm 👍
Thank you!!

Thanks!


Is dispay automatic?

Is the add-on designed to display on its own when a page is not found? If it is, is there nevertheless a reason to invoke it when it's not so displayed?

No.


storage: shrink db size

Now we are using boltdb and it never shrinks its size (last item at https://github.com/boltdb/bolt#caveats--limitations).
This usually is not a problem for etcd too since the same argument boltdb states. However, we should not force users to keep large db either if they accidentally put a large amount of data into etcd and remove them to re-acclaim disk/memory resources.
We should add a shrink method to copy the key-values (not the db file itself) from one boltdb to a new one to shrink the db size.
We should start from the simples solution: blocking writes, copy, swap to new one and delete the old one. We should make this a node wide operation first. We can expand this to a cluster wide operation in the future.

closed via #4741


android dev project update

I updated the project to be easier to develop hillshading. You get a button to switch rendering mode and and it supports the new changes made on hillshading

Thanks! Merging.


new empty pages

What changes are proposed in this pull request?
Add new empty pages for the cases below:
When there are no datasets in FiftyOne

When there are datasets in FiftyOne, but none is selected

When a dataset is selected, but there are no samples in the dataset

How is this patch tested? If it is not, please explain why.
See preview above
Release Notes
Is this a user-facing change that should be mentioned in the release notes?

[ ] No. You can skip the rest of this section.
[x] Yes. Give a description of this change to be included in the release
notes for FiftyOne users.

See above
What areas of FiftyOne does this PR affect?

[x] App: FiftyOne application changes
[ ] Build: Build and test infrastructure changes
[ ] Core: Core fiftyone Python library changes
[ ] Documentation: FiftyOne documentation changes
[ ] Other

@imanjra this is super minor, but is it easy to introduce a minimum width for the code blocks? Some of them look a bit narrow (although all code is visible, of course). I'd suggest 80 characters wide since that's our Python style 🤓
It could even be a fixed width layout where anything longer causes horizontal scrolling (which we should make every effect to avoid with our canned code snippets)

Thoughts for later: For people checking out FO UI (without the SDK) it might be worth to have a button or operator that can populate the empty dataset with random images/videos so that the user can explore the app with a click of a button

Good idea. We do have several core operators in https://github.com/voxel51/fiftyone-plugins which allows creating, importing samples, loading zoo datasets and much more right from the app.


[CM][AVC LA] Fix PictureWidth value

This change makes it possible to use 4k streams with AVC LA
Now work with PictureWidth value is implemented same as PictureHeightMinusOne
Previously, overflow happens when dividing 4096 / 16, now it is fixed
CM kernels for all platforms were re-compiled.

@asmirno1 , please fix CI

Seems we have some problems on CI side

@eponomar, @dlobanox JFYI. Looks this change can't cause iHD load error.


The height of the textarea cannot be adapted to the content.

The minimum height is set here

How can we get the textarea to grow automatically to the content size?

Duplicated #41


URL for local testing?

I feel that it should be http://localhost..., but whenever I use the port 443 it gives me "Upgrade Required", which means the websocket has problems?
 Sorry I am a noob at this

If you want to host your server on agar.io
Go to gameserver.ini, set the serverport, server port is located here, change that to whatever apart from 443. If I set it to 8080, do the following:
agar.io/?ip=<IP_ADDRESS>:8080
Then you should be able to connect to the server that is listening on port 8080
If that doesn't work, or you want to play on a different client
do the following:
CLIENTNAME/?ip=<IP_ADDRESS>:8080
if i wanted to play on the astr.io client
astr.io/?ip=<IP_ADDRESS>:8080
Understand me?

This project uses WebSockets.
WebSockets is a duplex TCP (Transfer Control Protocol) data tunnel.
A WebSocket server listens for HTTP requests first.
A HTTP request is a TCP connection that (should) give you a single output from the server, i.e. a webpage.
That HTTP connection is then converted into a WebSocket connection, overlayed by TCP, by the server. If, and only if it contains the information only a WebSocket client would send.
What you're doing with accessing http://localhost:port is sending a HTTP request to load a page and getting dropped by the server.
You need to connect through an agar-like client.

Thank you so much guys! I'm learning a lot and I looked up tutorials on TCP and websockets.
To get an agar-like client, is there an easy way to do it? (As in make my own domain called sample.com and having sample.com/IP_ADDRESS work?
How exactly would you do that?

On a similar note, you say that  accessing localhost:IP cannot work because the HTTP request is not handled correctly by the local host server. Why is this?

On a similar note, you say that accessing localhost:IP cannot work because the HTTP request is not handled correctly by the local host server. Why is this?

By default, accessing http://localhost (or pretty much anything requesting the HTTP protocol), without giving the port number will try to access port 80, or 443 if it's http secure (HTTPS).
Webservers will parse the path you've given (/test.html of http://localhost/test.html) and try to load that file.
WebSocket servers on the other hand, are just listeners for upgrading the connection to WebSockets. They'll drop regular HTTP connections that didn't request an upgrade just for the sake of getting rid of them, since they shouldn't interact.
Although you can try to make a dual webserver-WebSocket server I'd advise you to try that out later, as you need to make/change a lot of stuff yourself.

To get an agar-like client, is there an easy way to do it? (As in make my own domain called sample.com and having sample.com/IP_ADDRESS work?

Get an Apache webserver running. Best option is to install either Xampp, nginx or Wamp. Just one is needed. I use Xampp myself.
Remember your webserver serving location. ~/www/ for Wamp, ~/htdocs/ for Xampp, I forgot for nginx. ~ is your tool's installation folder.
Clean that folder.
Download Cigar and extract /www from the archive into that folder.
Open /assets/main_out.js. Find line 181. Hit enter and paste this code:
var reg = /ip=([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{1,5})/.exec(wHandle.location.search);
if (reg != null) wHandle.setserver(reg[1]);

Though not the best solution (it just tries connecting to the server when the site loads), it's the easiest one. To make it always connect to that server, you'll need a bit of PHP.

Ah I see. I'm doing that right now, will get back with issues.
Reading the documentation of Cigar, though, it says that Cigar is able to be run on a localhost?

Also you stated:

A WebSocket server listens for HTTP (Hypertext Transfer Protocol) requests first.

If that is the case, why would it drop regular HTTP requests (that do not request an upgrade)?
So, to wrap it up, what we are doing is creating a separate Apache webserver to handle normal HTTP requests, and the Websockets listens for upgrade requests from the Apache webserver?
So it would be client---->webserver--->websockets??
Thanks for all your help!

ok I got it to work, but I don't understand why I can go to my localhost/index.html and have it run my WebSocket on it even though Xampp doesn't run the Apache Server. Xampp does need to be open for the actual cells and everything to load, but it seems to not load Apache like I said?
Just a small thing, I'm just curious


0.5.0 - Troubleshooting Connect Cluster Error

Back again.
Made it a little further, however, I have noticed a change in behavior that I am having some trouble chasing down from the log output.
I am seeing the following on my failed run:
01:11:06.617 [error] [ API ] <0.945.0> Stage 'pipeline - connect_nodes': failed
Benchmark has failed on connect_nodes with reason:
{connect_cluster_error,timeout}

Stacktrace: [{mzb_api_bench,handle_stage,3,
                            [{file,"/opt/mzb/server/_build/default/deps/mzbench_api/src/mzb_api_bench.erl"},
                             {line,223}]},
             {mzb_pipeline,'-handle_cast/2-fun-0-',6,
                           [{file,"/opt/mzb/server/_build/default/deps/mzbench_api/src/mzb_pipeline.erl"},
                            {line,172}]}]

Are there some new/different port assumptions between 0.5.0 and the previous version?

Good to hear from you again, John!
AFAIR ports 4801,4802,4803 should be accessible on server from workers
and 4804 is used between workers
The error looks like the workers can't connect to each other using port 4804

4804 I managed to reverse engineer.  50%, not so bad.
After adding ingress 4803 things are working again.  Thanks!

@timofey-barmin I think it's worth to be mentioned in the docs - e.g. I also was hit by this :)

@qrilka
AFAIK docs are updated, you could find this information here:
https://github.com/machinezone/mzbench/blob/master/doc/cloud_plugins.md#amazon-ec2

oh thanks @parsifal-47
I must have missed those lines somehow, otherwise I have found that even if it's said that
Minimally, the config requires instance_spec and config keys specified.

plugin code needs instance_user to be present and also it's not clear why you show {group_set, ""} in the docs when that set is a list of strings (I know that "" == [] but it's not intuitive). Also it appears that iam_instance_profile_name is required but probably that's more about erlcloud though it would help if examples were more or less close to be usable in production


Custom URL Parameter Gets Removed

Details
When I call window.location = '/login?a=register-success'; on the javascript, I noticed that when it loads login's index.html, the url param is removed (only /login/ in the address bar) so the login's index.html cant display appropriate message according to the passed parameter. How to make it so the url parameter is passed correctly?
Thanks.
Current behavior
URL parameter gets removed
Expected behavior
URL parameter not removed and accessible via login's index.html javascript (using window.location.search).
Environment
Browser:

MS Edge

For Tooling issues:

- Live Server: 5.1.1
- Platform:  Windows
- Visual Studio Code: 1.26.1

It doesn't work for me as well
It is because of the live server


New line and line-brack doesn't work in cnfluance.

When I try to build Confluence pages using sphinxcontrib.confluencebuilder, it ignores new lines and line breaks in .md files. I used 'myst-parser' and 'm2r' for including Markdown files, but both have the same issue.
I contacted the Atlassian Development team, and they said the problem is not on their side. They suggested that I contact the Sphinx development team.
conf.py
project = "GUIAutomation"
copyright = "2023, Sargis"
author = "Sargis"
release = "1.0"
extensions = [
"sphinx.ext.todo",
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
"sphinxcontrib.confluencebuilder",
'm2r'
]
templates_path = ["_templates"]
exclude_patterns = []
autodoc_mock_imports = ["sxc"]
napoleon_google_docstring = True
napoleon_use_ivar = True
confluence_cleanup_from_root = True
confluence_publish = True
confluence_space_key = "lSpace"
confluence_parent_page = "Root Page"
confluence_server_url = "myhost"
confluence_ask_user = True
confluence_ask_password = True
html_theme = "alabaster"
html_static_path = ["_static"]
source_suffix = [".rst", ".md"]
Evirement Info
My requirements versions
alabaster==0.7.13
astroid==3.0.2
Babel==2.14.0
black==23.12.1
certifi==2023.11.17
cfgv==3.4.0
charset-normalizer==3.3.2
click==8.1.7
dill==0.3.7
distlib==0.3.8
docutils==0.20.1
filelock==3.13.1
identify==2.5.33
idna==3.6
imagesize==1.4.1
importlib-metadata==7.0.1
isort==5.13.2
Jinja2==3.1.2
m2r==0.3.1
markdown-it-py==3.0.0
MarkupSafe==2.1.3
mccabe==0.7.0
mdit-py-plugins==0.4.0
mdurl==0.1.2
mistune==0.8.4
mypy-extensions==1.0.0
myst-parser==2.0.0
nodeenv==1.8.0
packaging==23.2
pathspec==0.12.1
platformdirs==4.1.0
pre-commit==3.6.0
pydocstyle==6.3.0
Pygments==2.17.2
pylint==3.0.3
PyYAML==6.0.1
requests==2.31.0
snowballstemmer==2.2.0
Sphinx==7.2.6
sphinxcontrib-applehelp==1.0.7
sphinxcontrib-confluencebuilder==2.4.0
sphinxcontrib-devhelp==1.0.5
sphinxcontrib-htmlhelp==2.0.4
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.6
sphinxcontrib-serializinghtml==1.1.9
tomli==2.0.1
tomlkit==0.12.3
typing_extensions==4.9.0
urllib3==2.1.0
virtualenv==20.25.0
zipp==3.17.0
example envvars.md
What we  want
What we get

As I explained here your Markdown has syntax errors.

The markdown content provided is valid. However, the document content produced when using MyST-Parser is not compatible with the Confluence Builder extension. When MyST-Parser processes the document, it generates raw nodes that target the html format:
<paragraph>PATH      to be explained <raw format="html" xml:space="preserve">
</raw>
PYTHONPATH  to be explained<raw format="html" xml:space="preserve">

...

Raw HTML nodes are not guaranteed to work for the storage builder formatted, so the nodes are ignored when processed by this extension. A user may try to opt out of this filtering by configuring the following option to permit HTML:
confluence_permit_raw_html = True

Although, if you run the example Markdown provided, Confluence will report an error 400 when trying to publish the page. This can be avoided by adjusting the single
 entry to
, but who knows what other tags on other documents a user needs to adjust to make this workaround... work.
Ideally, the "proper" fix would be to (if MyST-Parser’s goal is to support more than just the HTML builder) adjust its newline injections to create line_block node with line node entries (or any equivalent node structure) that is not HTML-specific. Which in turn this extension can generate compatible Confluence storage format documents.

Hi  @jdknight .
Thanks  for reply, I will also try to contact myst-parser Developers team.

Some additional implementation/recommendations on this.  In the context of Sphinx, this typically means only the html, dirhtml and singlehtml builders. And while Confluence does uses HTML tags, it is only a limited set through storage format (and this extension does not provided HTML parser support to ensure HTML content used is valid with storage format).
While this is valid Markdown, I personally would advise against this type of definition. Using trailing whitespaces may be missed by most, especially in environments where sources may be trimmed part of linting (I overlooked this myself on first pass). But this is just an opinion ~ it is valid in the specification, so your free to use it if you prefer this style. As demonstrated, this is not supported for MyST when targeting Confluence since these newline hints are translated to
 tags.
IMHO, this is the best approach to format the documentation you desire. It is a common method of defining newlines in Markdown, is not HTML specific and will not be trimmed. But has the same limitations as mentioned in 2.
This is a workaround solution you could deploy today. This uses reStructuredText content for formatting, which will work for both Sphinx-Confluence and Sphinx-HTML via MyST. The unfortunate part is that this is not pure Markdown formatting, and other renderers (VCS systems, most IDEs, etc.) may not render/preview the content as expected.

I am interested in getting this scenario fixed, and happy to try to support a solution. Although note that this extension does not intend to support a means to parse HTML (i.e. using a parser to interpret possible supported tags). This is would be out of scope for this extension, and does not help other builders (e.g. LaTeX, etc.) that would face the same issue.

Just the Example 4

worked.

Ideally in the future, this extension will be able to add supporting code for line breaks generated from MyST Parser (if not already ready to support it). This relies on the outcome of the following issue:

https://github.com/executablebooks/MyST-Parser/issues/877

Until a solution comes from the referenced issue, there is no immediate action that the Confluence builder extension can do. With that in mind, the future tag has been added to this issue and will be marked as closed for now. We can re-open this issue (or create a new one) when a way forward exists and there are changed required by the Confluence builder extension.


Missing Location info

Some sites are missing information from the location table in HRIA.
Example: DhRs-1402 is missing an address in Arches but in HRIA there is data
HRIA data in "Location______" field: "510 West Hastings Street, Vancouver, BC".
Record is missing the typical address data in HRIA
However, all sites with data in the HRIA "Location______" field should have come over into the Arches "Location description" field.

There was an assumption that there would always be a civic address. Made the join from the HRIA db outer join. Address row count before was 21079, after 21136.


MISRA-C general fixes

Assorted MISRA-C fixes for rules:
5.7
5.8
5.9
8.9
15.6

Codecov Report

Merging #11057 into master will not change coverage.
The diff coverage is 80%.

@@           Coverage Diff           @@
##           master   #11057   +/-   ##
=======================================
  Coverage   53.22%   53.22%
=======================================
  Files         217      217
  Lines       26733    26733
  Branches     5926     5926
=======================================
  Hits        14228    14228
  Misses      10086    10086
  Partials     2419     2419

Impacted Files
Coverage Δ

kernel/device.c
95.34% <ø> (ø)
:arrow_up:

kernel/include/kernel_structs.h
100% <ø> (ø)
:arrow_up:

kernel/pipes.c
96.62% <ø> (ø)
:arrow_up:

kernel/init.c
72.58% <ø> (ø)
:arrow_up:

kernel/sched.c
92.43% <ø> (ø)
:arrow_up:

include/kernel.h
98.48% <ø> (ø)
:arrow_up:

kernel/mailbox.c
98.55% <ø> (ø)
:arrow_up:

kernel/include/kernel_offsets.h
0% <0%> (ø)
:arrow_up:

kernel/stack.c
94.44% <100%> (ø)
:arrow_up:

kernel/mutex.c
97.05% <100%> (ø)
:arrow_up:

... and 2 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 f058884...2402888. Read the comment docs.

Looks straight forward, +1 from me even though I'm not listed as a reviewer and shippable is still running.


changing logstash s2i builder folder struture

Renaming files and folders to comply with other s2i builder folders.

@harishkb27 thanks for the PR! We also need to change assemble script then.

@harishkb27 Wait, I will do it.


For large git repositories the git integration button shows a visually distracting clock periodically

git status takes around 2 seconds to run on my large repository, the blue clock icon on git integration to indicate "working" can be quite visually distracting as it seems to ping the repo every 5-10 seconds.

I'm not so sure there is a benefit in indicating work unless the user explicitly requested it, such as when clicking the button.

Will probably not remove the icon. Pinging the repo every 5-10 seconds is wrong though. There might be something we're doing wrong. Just to confirm: you have the file explorer open and that blue thing keeps on coming and going?

Yep that's right.


1081b project page header

Closes #1081

coverage: 84.252% (+0.1%) from 84.149%
when pulling 20df4a76498ae7d8b4eeb51d7f2d5d0b4c354718 on 1081b-Project_page_header
into 5297d89c877d54c8d1654bd016304c9b8fd91163 on main.


(dsl): Support 'terms' query

Description:

Limited term query to use String only.

@drmarjanovic I think the PR title is not matching the changes


Merge branch 'release/2.1' into release/2.2

move to latest release/2.2 commit from aspnet/EntityFrameworkCore

@ryanbrandenburg any ideas why a bot didn't create a merge PR automatically?

/bump @pranavkm @ryanbrandenburg (all checks have passed)


Monocular Deployment fails with "failed to connect to tiller" even though Tiller service is running in the cluster

I have tiller  service installed in the Kubernetes cluster.
kube-system   tiller                                          2h
I have installed monocular in two node cluster and could access UI and repos.  But deployment is failing with
Can't create the release: failed to connect to Tiller, are you sure it is installed?

Looks like tiller service name is hardcoded to tiller-deploy.  In my case service name is tiller.  Could those be configurable values?

@kirtiapte how did you create the service? AFAIK helm init will create one called tiller-deploy. We could make the service name configurable.

@kirtiapte I believe this was because the API was based off an older version of alpine that didn't support DNS resolution. This has now been fixed.


HDR question

It's not a issue per se, but I have seen in commit history that you got HDR running on KDE 6 with VK_HDR_LAYER.
Should it be enough to do same you did in this commit, because if I replicate this, MPV (with proper config) still wouldn't output in HDR.
Any help would be appreciated.

Yeah, my current PC setup does have HDR support, it should work with that commit as well. My MPV config is in packages/gui.nix.
It might not work if you don't have an AMD GPU, although I've heard you can get it working with Nvidia.

Make sure to add VK_HDR_LAYER as a package with
environment.systemPackages = [
  (pkgs.callPackage ./VK_hdr_layer.nix {})
];

rather than just adding it to your imports.
I have an RX 7600, idk what other GPUs are supported.

I have AMD GPU too (RX 6700XT). Before official release of KDE 6, I was able to boot to Arch, install this vulkan layer from AUR and everything was working fine, so on hardware level everything is good to go. I'm generally happy with NixOS and don't want to distrohop.
I experimented some more and find out some things, but would like to compare some things if it wasn't a problem.

If you run MPV with VK_LOADER_DEBUG=error,warn,info do VK_HDR_LAYER is loaded for you?
Does changing SDR brightness in KDE settings change how video looks for you in MPV?

If I run it with a video it does say Inserted device layer "VK_LAYER_hdr_wsi", but if I run MPV without a video it just says ffmpeg info and nothing about hdr.
No it does not, that's how I know it's using actual HDR.

Are you using kde2nix or the actual merged plasma6 module? Both should work but you could try using my latest commit with my flake.lock idk.

And in my case Inserted device layer ... is not present. At this point I have no idea why:

libVkLayer_hdr_wsi.so is in the same path in /nix/store
ENABLE_HDR_WSI is set to 1 with environment.variables
I use the same mpv config
I use plasma6 module - services.xserver.desktopManager.plasma6.enable = true;
it worked on arch

I think I should just assume that HDR video in linux at this point are hacks on top of the hacks and I'm just unlucky. Probably best wait for proper implementation or reinstall (maybe there are some leftovers from plasma5 and it shouldn't be too painful with nix).

Ok, I kinda solved it, but I have no idea why does it work like that.
When I did my testing before I've always launched files through terminal. Now I tried to open a file with Dolphin for the first time and I got proper HDR. I don't know what could be different, but at least it works now.


Apply same dashboard model rule to all DashboardDatasources

closed in https://github.com/expand/eXpand/commit/c5786071f9fd03de919acb7a9fa40e3aaed53af5


GL versions of campaigns show as duplicates for US/MX/BR users when a translation in their language also exists

When coming from Brazil, through the Brazil homepage, and sorting by "environment" both the PT and GL versions appear in the finder.

As a US user, when I filter for Bullying campaigns I see both the US version and the global version.
As a rule, I should only see the version most relevant to me.

campaign exists only in US EN and Global EN, show US EN to US users and Global EN to everyone else
campaign exists only in Global EN, show Global EN to all users
campaign exists only in US EN, show US EN to US users and don't show campaign to any other users
campaign exists in US EN, Global EN, BR PT, and MX SP, show US EN to US users, BR PT to BR users, MX SP to MX users, and Global EN to everyone else

and note this is not happening on /us/campaigns

also when I search for GTFO as a MX user I only see one campaign


Expose API to write to user-provided buffer

I need to pass the string that itoa returns to C, which means I need to add a null byte at the end. But there's no way to do that with the &str that format returns, short of copying the string's contents to an entirely new buffer.
If itoa exposed a method that accepted a pointer or reference to a user-created MaybeUninit buffer of the right size, I would be able to do this easily (just set the index one past the number of bytes that were written to 0).

I would prefer not to build this into this crate. You can copy the strings to your own buffer or you can fork the crate.

Is there a particular reason why you'd rather not include this? It seems unnecessary to fork a crate for such a small addition, and copying the string seems suboptimal considering how this crate was designed with performance in mind.


Re-indexing a Druid datasource from the web console is broken

Affected Version
0.19.0
Description
If a user tries to re-index a Druid datasource from the web console, it fails with the following exception
Error: Missing type id when trying to resolve subtype of [simple type, class org.apache.druid.data.input.InputFormat]: missing type id property 'type' (for POJO property 'inputFormat') at [Source: (org.eclipse.jetty.server.HttpInputOverHTTP); line: 1, column: 195] (through reference chain: org.apache.druid.indexing.overlord.sampler.IndexTaskSamplerSpec["spec"]>org.apache.druid.indexing.common.task.IndexTask$IndexIngestionSpec["ioConfig"]>org.apache.druid.indexing.common.task.IndexTask$IndexIOConfig["inputFormat"])

This is because the type of the inputFormat is not set for the sampler request that the web console sends. Submitting a re-index job without using the web console continues to work as expected.

When are we planning to merge this?


Enhancing UI of faculty page

Enhance the UI design of faculty page

Assign me for this issue @Harshdev098

@Harshdev098
I would like to work on this

Hey, @MitulSonagara  did you want to work on this issue

@Harshdev098
Sorry bro, from now days my collage viva and submission is starting so i will not able to work on this... you can assign it to anyone else

Okay, no problem


Support various versions of CUDA Toolkit

Current CUDArt.jl use generated api bindings from CUDA Toolkit 6.5. (libcudart-6.5.jl and files in gen-6.5/)
And CUDA 5.5 files seems to be not used. (libcudart-5.0.jl and files in gen/)
I simplely tested current 6.5 api binding with CUDA 5.0/5.5/6.0/6.5 and even 7.0 RC.
(Yeah, I want to use boring time in this afternoon to just click install buttons. It is better test in Windows rather than linux.)
By result, current 6.5 binding works well in all those versions because we don't use any special new functions in recent cuda runtimes.
So my suggestion is:

Remove api bindings from CUDA 5.0 and keep only latest api binding.
Use find_library for libcudart with version 5.0 - 7.0 and we can say CUDArt.jl supports all these versions.
If there's new functionality that uses api from certain version of cuda runtime, we have to check the version of installed cuda toolkit.

How do you think?

That seems like a fine plan. I generated the 6.5 bindings because I was debugging a problem, but it turned out to stem from a different source. I'll fix it up on the Linux side, it might need your input to get it working on Windows.

Thanks!
These dependency works feel like building such as FindCUDA.cmake script in cmake.
I will also develop features in ubuntu and just check tests in windows.


Method should return App\Models\ModelName but returns Illuminate\Database\Eloquent\Model when using whereRelation method.

Larastan Version: 2.0.0
--level used: 3
Pull request with failing test:

Description
I am getting the error:
Method App\Models\Template::getMasterTemplateForProject() should return App\Models\Template|null but returns Illuminate\Database\Eloquent\Model|null.

Laravel code where the issue was found
public static function getMasterTemplateForProject($project_id): ?Template
    {
        return Template::where('project_id', $project_id)
            ->whereRelation('type', 'name', '=', 'master')
            ->first();
    }

With this code it doesn't show an error:
    public static function getMasterTemplateForProject($project_id): ?Template
    {
        return Template::where('project_id', $project_id)
            ->whereHas('type', function ($query) {
                $query->where('name', 'master');
            })
            ->first();
    }

Hello!
We have a passing test for whereRelation
https://github.com/nunomaduro/larastan/blob/9dbd4cf22cae0ca2956ddd4fa797ce97848353e4/tests/Type/data/where-relation.php#L20

Interesting, then it seems I might be doing something wrong in my code 🤔
I will keep the ->whereHas solution in my code for now though 😄

I just updated to the newest version (2.6.4) and now it works with whereRelation as well 👍


Error with addon boot_select. How do I remove from config?

What type of installation are you running?
Desktop
Which Linux OS are you using?
Arch Linux x86_64
Which version of LNXLink has the issue?
2024.1.0
The problem
running lnxlink -c config.yaml gives me an error with boot_select addon. It gives the error with or without the visudo edit. I'm perfectly willing to remove the addon (I'm also willing to remove any other addon or command). I would like some help understanding the error and how to remove the addon. And I'm also wondering how relevant the connection refused error is.

[Errno 111] Connection refused

Any help appreciated
Logs
INFO:lnxlink:LNXlink 2024.1.0, Python 3.11.6
INFO:lnxlink:Loaded addons: bash, network, speech_recognition, systemd, brightness, power_profile, gpu, screen_onoff, memory, fullscreen, boot_select, notify, media, camera_used, shutdown, battery, required_restart, send_keys, restart, cpu, audio_select, screenshot, update, inference_time, display_env, disk_usage, sys_updates, idle, microphone_used, webcam, suspend, xdg_open, mouse, keep_alive
INFO:lnxlink:No systemd settings found on configuration.
ERROR:lnxlink:Error with command: powerprofilesctl list (/bin/sh: line 1: powerprofilesctl: command not found)
ERROR:lnxlink:Error with addon boot_select, please remove it from your config: [Errno 13] Permission denied: '/boot/grub/grub.cfg', Traceback (most recent call last):
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/lnxlink/main.py", line 65, in init
tmp_addon = addon(self)
^^^^^^^^^^^
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/lnxlink/modules/boot_select.py", line 13, in init
self.options = self._get_grub_entries()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/lnxlink/modules/boot_select.py", line 48, in _get_grub_entries
with open("/boot/grub/grub.cfg", encoding="UTF-8") as file:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/boot/grub/grub.cfg'
Traceback (most recent call last):
File "/home/thommy/.local/bin/lnxlink", line 8, in
sys.exit(main())
^^^^^^
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/lnxlink/main.py", line 456, in main
lnxlink = LNXlink(config_file)
^^^^^^^^^^^^^^^^^^^^
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/lnxlink/main.py", line 77, in init
self.setup_mqtt()
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/lnxlink/main.py", line 166, in setup_mqtt
self.client.connect(
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/paho/mqtt/client.py", line 914, in connect
return self.reconnect()
^^^^^^^^^^^^^^^^
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/paho/mqtt/client.py", line 1044, in reconnect
sock = self._create_socket_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/thommy/.local/share/pipx/venvs/lnxlink/lib/python3.11/site-packages/paho/mqtt/client.py", line 3685, in _create_socket_connection
return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/socket.py", line 851, in create_connection
raise exceptions[0]
File "/usr/lib/python3.11/socket.py", line 836, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

Usually all users have read access to the grub.cfg file, so if you want to use this addon you should change it's permissions and restart LNXlink.
chmod +r /boot/grub/grub.cfg

At the setup documentation, it is explained how to exclude modules, but this is an example of some modules that I would suggest disabling:
exclude:
  - audio_select
  - bash
  - battery
  - boot_select
  - brightness
  - fullscreen
  - gpio
  - gpu
  - idle
  - inference_time
  - keep_alive
  - media
  - mouse
  - network
  - notify
  - power_profile
  - screen_onoff
  - screenshot
  - send_keys
  - speech_recognition
  - systemd
  - webcam
  - xdg_open

Usually all users have read access to the grub.cfg file, so if you want to use this addon you should change it's permissions and restart LNXlink.
chmod +r /boot/grub/grub.cfg

At the setup documentation, it is explained how to exclude modules, but this is an example of some modules that I would suggest disabling:
exclude:
  - audio_select
  - bash
  - battery
  - boot_select
  - brightness
  - fullscreen
  - gpio
  - gpu
  - idle
  - inference_time
  - keep_alive
  - media
  - mouse
  - network
  - notify
  - power_profile
  - screen_onoff
  - screenshot
  - send_keys
  - speech_recognition
  - systemd
  - webcam
  - xdg_open

EDIT: I just saw the Connection refused error. For that you will have to write the correct credentials to connect to the MQTT broker. You should check the server, port, user, pass and tls configuration values.

Thank you very much sir

If you don't mind, what is the file name of the config file? On arch I have to use pipx, and it uses a different install location I belive.

The config file is created at the location you run the lnxlink command.
If you don't remember on which directory you started it, you can find it from the systemd service as explained on the documentation:
cat ~/.config/systemd/user/lnxlink.service | grep -i ExecStart

On the 2024.2.0 version, the boot_select module will check if the necessary files exist and it won't affect the normal run of the app if they are not found.


Possible section: Which types of operators are there and how are they characterized?

Which types of operators are there? Are there typical types of operators? How are they characterized?

Traditional - Install and maintain application lifecycle
GitOps (add the GitOps Use Case)

Refine GitOps Controller Use Case<EMAIL_ADDRESS>

Resource Management (maintain clusters)

I see more patterns when reconciliation should be triggered outside of the cluster (via some events // observing external service) - however not related to gitops


[Bug]: Loop redirect if single IdP return error

Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[ ] I have joined the ZITADEL chat

Environment
Self-hosted
Version
v2.27.1
Describe the problem caused by this bug
I created single Identity Provider for my Zitadel organization and disabled "Username Password allowed" option. Now when I'm trying to log in via IdP and its return error for some reason, instead of login page with error message Zitadel redirect back to IdP, its return same error, and Zitadel redirect to IdP again, and this loop is infinite.
If I have several Identity Providers for one organization, I see login page with error message from IdP without any problem.
To reproduce

Create Identity Provider with incorrect setting
Go to login page
See internal redirect between Zitadel and IdP

Screenshots

Expected behavior
In case of error from IdP Zitadel shows login page with error message.
Operating System
No response
Relevant Configuration
No response
Additional Context
I checked code and saw this strange logic:
https://github.com/zitadel/zitadel/blob/main/internal/api/ui/login/login_handler.go#L98
Looks like Zitadel need to check errID and errMessage before calling handleIDP

Hei @megge-dream
Thanks for reporting the bug. We will have a lookt at it.

FYI - I encountered this problem today with a SAML IDP. The organization had the username and password login disabled while a misconfiguration on the IDP side (JumpCloud) was causing an error after the IDP returned to Zitadel.
Here is a video of the issue:
Screencast from 23-04-2024 14:15:58.webm


Introduce PicoCLI for parsing CLI arguments

Note this is only fully replaced for the Admin CLI adapter to start with.
The Enclave and Default CLI adapter can come after we are happy with it.
Until this time, there is some duplication of functionality, e.g. PID file parsing.

PicoCLI allows for a top level command, and then nesting commands under it.
For example, tessera admin -addpeer <url> -configfile <path> has 3 commands:
tessera - the main "top level command", given by DefaultCliAdapter
admin - the first subcommand, given by AdminCommand and included in the top level command.
-addpeer - the next subcommand, put under AddPeerAction. This one is a bit annoying, since we decided to go with combining the action and parameter in the same argument. It would have been more idiomatic to use ... addpeer -url ..., but has been kept for backwards-compatibility.
The ability to create a PID file is common functionality. It has been included in the addpeer command directly, instead of being at a common point higher up in the tree (i.e. having it apply to every subcommand automatically), because I haven't figured out yet if thats possible.
New commands can remain entirely separate, and only need to worry about themselves. A reference is added the parent command, and the library takes care about invoking it.
Below is an example of how the subcommands are laid out and routed, including some that don't exist for explanation purposes.
tessera (enclave or TM)
|
|
|----- admin
|        |
|        |----- -addpeer
|        |
|        |----- migrate
|        |
|        |----- deleteForKey
|
|----- -keygen
|
etc

Notable user differences:
help messages have more information, but are limited to the (sub)command they are displaying, instead of showing everything at once. (like git help shows all top level commands, git help add shows only the add subcommand help)
command line args are ordered to the command they are for, instead of being in any order. e.g.
java -jar tessera.jar -configfile <path> admin -addpeer <url>
becomes
java -jar tessera.jar admin -addpeer <url> -configfile <path>
so whilst this may be considered breaking, it is small and actually enforces more standard usage.
Part of https://github.com/jpmorganchase/tessera/issues/874

Codecov Report

Merging #875 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #875      +/-   ##
============================================
+ Coverage     99.44%   99.44%   +<.01%
- Complexity     2071     2097      +26
============================================
  Files           312      317       +5
  Lines          6075     6107      +32
  Branches        308      310       +2
============================================
+ Hits           6041     6073      +32
  Misses            5        5
  Partials         29       29

Impacted Files
Coverage Δ
Complexity Δ

.../main/java/com/quorum/tessera/cli/CliDelegate.java
100% <100%> (ø)
11 <7> (+2)
:arrow_up:

...quorum/tessera/cli/parsers/ConfigurationMixin.java
100% <100%> (ø)
3 <3> (?)

...m/quorum/tessera/config/cli/DefaultCliAdapter.java
99.36% <100%> (+0.01%)
22 <2> (+2)
:arrow_up:

...a/com/quorum/tessera/cli/CLIExceptionCapturer.java
100% <100%> (ø)
3 <3> (?)

.../com/quorum/tessera/admin/cli/AdminCliAdapter.java
100% <100%> (ø)
4 <3> (-6)
:arrow_down:

...om/quorum/tessera/cli/parsers/ConfigConverter.java
100% <100%> (ø)
3 <3> (?)

...a/com/quorum/tessera/cli/parsers/PidFileMixin.java
100% <100%> (ø)
6 <6> (?)

.../tessera/admin/cli/subcommands/AddPeerCommand.java
100% <100%> (ø)
11 <11> (?)

...orum/tessera/enclave/server/EnclaveCliAdapter.java
100% <100%> (ø)
8 <3> (+2)
:arrow_up:

...uorum/tessera/data/migration/JdbcDataExporter.java
100% <0%> (ø)
4% <0%> (ø)
:arrow_down:

... and 6 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 b313e17...5e70d7b. Read the comment docs.


shortcuts for Api::apply and Api::apply_status?

Saw that these were added by client-go and did some investigation so thought i'd add an issue here for it to at least discuss them.
What is it: see client-go interface for (say) Node:
https://github.com/kubernetes/client-go/blob/f6ce18ae578c8cca64d14ab9687824d9e1305a67/kubernetes/typed/core/v1/node.go#L53-L54
the implementation is just a dumb shortcut to calling the patch method, just coerces the patch into the type you asked for:
https://github.com/kubernetes/client-go/blob/f6ce18ae578c8cca64d14ab9687824d9e1305a67/kubernetes/typed/core/v1/node.go#L191-L243
Their ApplyOptions are simple:
https://github.com/kubernetes/apimachinery/blob/71bf7ba06cd490392e05cd6828ae24a69cb0ccaa/pkg/apis/meta/v1/generated.proto#L141-L160
basically the same as their PatchOptions..
the weirdest thing is they got alternate variants of their structs for apply builders(?). comparing the two:

NodeSpecApplyConfiguration
NodeSpec

they seem identical, so it must just be for the builders in applyconfigurations directory?
The shortcut does not deal with the awkward duplicate required metadata: { name: same_value_as_param } being part of the patch, and it technically allows mismatching patch types to the patch at the api level, so it doesn't provide any extra type safety for us i think? at least as long as patch options and apply options remain the same on the kubernetes side.
not sure how valuable this would be to us, but raising this here anyway so that can look back at an analysis, even if the result is a wontfix.

The KubeCon America talk; SIG API Machinery Deep Dive goes through why these structs (with full optionals) are needed (in the first half of that talk); some required fields get defaulted when serialized through apply (and thus we might overwrite something like replica numbers with int default 0 when we use Default::default on a openapi struct and pass it to apply).
This might be something we could resolve long term in codegen. But for now using json! is the easier way to do it in rust (to avoid accidentally passing on non-optional defaults with server side apply).


Update http4s-blaze-client, http4s-circe, ... to 0.23.10

Updates

org.http4s:http4s-blaze-client
org.http4s:http4s-circe
org.http4s:http4s-dsl

from 0.21.31 to 0.23.10.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Migrations

github:http4s/http4s/v0_22?sha=series/0.22

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, early-semver-major, semver-spec-minor, scalafix-migrations

old PR


ng build taking more time when running on kubernetes pod

🐞 Bug report
Command (mark with an x)

[ ] new
[x]  build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?

Yes, It just work as expected in AWS EC2
Description
Am trying to convert our existing CI(Continues integration) agents from AWS EC2 to kubernetes pods so when we are trying to build the same application in both type of agents we are observing build is taking long time in  kubernetes pods i.e build is taking 4Min in ec2 vs 10min in pod.
We have provided same CPU, memory to our kubernetes pods also. when i tried to analyze the logs i see build is taking more time at this statement "Browser application bundle generation complete.". i tried setting npm config set unsafe-perm true, --max-old-space-size=10240 but its not helpful .
Please let me know if am missing any configuration.
Versions:
npm 8.3.1
node version v16.14.0
🔬 Minimal Reproduction
Run the application using below base image and check the performance.
FROM ubuntu:18.04
🔥 Exception or Error
its not error

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular-cli.
If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.

thanks @alan-agius4  for responding can you please share me any way or blog reference to debug the issue i tried adding verbose its not giving me more information why its taking more time so that i can debug further and make progress on this. currently as per logs its taking more time at this ✔ Browser application bundle generation complete.


Is there a config to tell bot only to use unlimited incubator?

Blue incubators are difficult to get so I use it only for 10km eggs. Is there any configuration to prevent bot from using Blue Incubator?

I don't believe this feature exists.

Why should it matter?
In the end you have to use all eggs anyway to get new eggs. You can not throw away any.
So you might as well use them all
the quicker you get rid of 2km egg the faster you will get a 10km egg

@jimmywarting I am under the assumption that eggs hatched under Blue incubator yield new and powerful pokemon. That is why I thought this could be added as a feature. Correct me If m wrong.

@imvikash00 do you have something to back up that story?

@jimmywarting That story is just based on my personal experience which may not be true. But https://youtu.be/QcqUfCYapbo?t=63 video by Lifehacker talks about an interesting way of using eggs. So I believe bot should be smart enough to use blue incub. for 10 km whenever available.

That video is intended for people who are not using any bot :) Bot don't cares about hatching eggs, they walk as tireless walkers, better than olympics contestants :P

@pensiero I think you are forgetting the point that most of the PRs in this proj. talks about collecting more XPs and this trick definitely fits in that picture.

The video doesn't say that if you use a unlimited incubator you get less powerful pokemon

@pensiero I think you should read the comments above. Whole discussion is about how to effectively use incubators and I believe I have made a valid point.

The video dosent say that you will get more XP or better Pokemon The most efficient way is when you have a available incubators then use it directly

Arguments aside, this is a feature request.

Please move your feature request/s to our feature hub - http://feathub.com/PokemonGoF/PokemonGo-Bot

I did.

Feathub may be turned off in favour of better GitHub tags, issue templates, and voting structures. Please feel free to continue using this issue (but don't delete the Feathub request just yet)

https://github.com/PokemonGoF/PokemonGo-Bot/issues/3843#issuecomment-239708680


ci: Add a workflow to update labels of backported PRs

Add a reusable workflow to be called from stable branches whenever a backport PR is merged. The workflow scans the body of the backport PR (that is, a PR like this one) to get the list of the original PRs, and updates the label backport-pending/<version> to backport-done/<version> for each of them.
The list of PRs to be updated is fetched from the Backport PR body section labeled upstream-prs.
Fixes: https://github.com/cilium/github-actions/issues/12

Changed the regexp to list the PRs in order to allow multiple spaces in the tasklist line format:
diff --git a/.github/workflows/update-label-backport-pr.yaml b/.github/workflows/update-label-backport-pr.yaml
index d6c58bc7ee..0cf981258f 100644
--- a/.github/workflows/update-label-backport-pr.yaml
+++ b/.github/workflows/update-label-backport-pr.yaml
@@ -26,7 +26,7 @@
             env:
                 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
             run: |
-                echo "${{ inputs.pr-body }}" | grep -Eo '\* \[[x, ]\] #[0-9]+ \(@' | grep -Eo '[0-9]+' | while read -r pr; do
+                echo "${{ inputs.pr-body }}" | grep -Eo '\* +\[[x, ]\] +#[0-9]+ +\(@' | grep -Eo '[0-9]+' | while read -r pr; do
                   echo "Removing label backport-pending/"${{ inputs.branch }}" from pr #${pr}."
                   gh pr edit ${pr} --repo "${GITHUB_REPOSITORY}" --remove-label backport-pending/"${{ inputs.branch }}"
                   echo "Adding label backport-done/"${{ inputs.branch }}" to pr #${pr}."

Hey @pippolo84, I found five more places where the process of manually setting the done label is referenced. I think these might need to be updated- what do you think?

Good catch. :+1: I removed all of those sections, since the workflow will take care of that automatically.

Also, can we delete set-labels.py? Or should it be kept around?

I think the script should stay because it is called by contrib/backporting/submit-backport to set the label backport-pending/<version>. But since it should not be called anymore to update the label to backport-done/<version>, I simplified it removing the action parameter and changed the way it is called accordingly.
Also, I fixed the contrib/backporting/submit-backport script to take into account the new format of the v$BRANCH-backport-$(date --rfc-3339=date).txt file that contrib/backporting/check-stable generates.

Good catch. 👍 I removed all of those sections, since the workflow will take care of that automatically.

Thank you!

I think the script should stay

Ah ok makes sense, thanks!

This PR adds a new workflow and changes the contributing documentation. Running the full CI is pointless, so I'm marking this ready-to-merge


can't customize top of the page badges.

HI,
in https://github.com/andrey-git/home-assistant-custom-ui/blob/738e066010b39797869d1f9ee0ffda89b761d323/README.md#2018-01-26 support for top of the page badges is mentioned. This is exactly what i am looking for with these badges, (which are created in a python_script). I posted on Community Hassio, but no result so far, hope to get instructions here to get these red badges change into Blue and Green (not all are tested below, obviously only green_badge is in the testcode).
The themes are fine, (can change the full Hassio interface into using them) and the templating tool shows the desired results too. Somehow the customization wont get to these top of the page badges.
sensor.status_badge:
  state_card_mode: badges
  templates:
    theme: >
       {%  if is_state('sensor.status_badge', '0') %} green_badge
       {% else %} default
       {% endif %}
#      if (state === 0) return 'green_badge'; else return 'default';

sensor.inuse_badge:
  state_card_mode: badges
  templates:
    theme: >
       {%  if is_state('sensor.inuse_badge', '7') %} green_badge
       {% else %} default
       {% endif %}
#      if (state === 7) return 'green_badge'; else return 'default';
#        theme_template: "if (states.sensor.inuse_badge.state === 7) return 'green_badge'; else return null"

sensor.home_badge:
  state_card_mode: badges
  templates:
    theme: >
      {%  if is_state('sensor.home_badge', '0') %} default
      {% else %} green_badge
      {% endif %}
#      if (state ==> 0) return 'green_badge'; else return 'default';
#     theme_template: "if (states.sensor.home_badge.state !== 0) return 'green_badge'; else return null"

python code:
          hass.states.set(entity_id, groups_count[idx], {
             'friendly_name': fname,
             'unit_of_measurement': badge,
             'entity_picture': picture,
             'hidden': hidden,
             'order': order
           })

themes:
green_badge:
#  ha-label-badge-red: green
  label-badge-red: green
  label-badge-background-color: white
  label-badge-text-color: green

blue_badge:
#  ha-label-badge-red: green
  label-badge-red: blue
  label-badge-background-color: white
  label-badge-text-color: blue

state tool shows no customization at all:

example of working themes:

Thanks,
Marius

solved.
for anyone interested: https://community.home-assistant.io/t/summary-card-and-badges-for-people-devices-and-status-with-python-script-and-custom-card/35210/73?u=mariusthvdb with a big thank you to @mviezzer.
Quoting him:
To work properly:
The syntax should be in JavaScript (like in your #), not in Jinja2 (since runs on browser, not the server). I found in this page https://github.com/andrey-git/home-assistant-custom-ui/blob/master/docs/templates.md
The sensor must pre exists to use customize (for example declared in sensor template instead of created by python). So I did the theme logic directly in summary.py, trying to simplify… so you don’t need create the customize and sensor template.
Cheers,
Marius


If GPS fails it should return a non-zero exit code

Rather than just logging a message it should return a non-zero exit code.
I would like to get the exit code from gps to determine with my tooling if I should continue to try integrating or not, if there was an error. Currently gps always returns a 0 exit code it seems, at least when I'm trying to run an integration.
Current error message with 0 exit code:
Error: IsolationVerificationFailed(IsolateFailed(HookExecutionFailed(ExitStatus(70))))

This has been integrated so I am closing this issue.


Fix bug: single-section texts show "all" in nav

A single-section text is a text with no major divisions -- no kaandas, no sargas, etc. Internally, we represent such texts as texts with a single section with the slug "all".
Our current reader UI displays this "all" slug as if it's a valid identifier, which is unsightly. So as a fix, show the section slug only if the text has multiple sections.
Test plan: clicked around on dev
Before:

After:

24h and this is a minor change, so I'm landing.


Add StyleCop linter, script to help in adoption and 17 cleaned bindings

Description

Add StyleCop linter, script to help in adoption and 17 cleaned bindings.
Heavy work done by @torbacz ! I'm just the messenger here.
More bindings will have to be migrated but we feel ready that the rules are now quite stable (being tested in 20% of the repository) and on the new Swarm binding as well.
Still a proper "manual" documentation should be added in the repository.
And again, a huge thanks to @torbacz !
Motivation and Context

Addresses nanoFramework/Home#1101

How Has This Been Tested?

Screenshots
Types of changes

[x] Improvement (non-breaking change that improves a feature, code or algorithm)
[ ] Bug fix (non-breaking change which fixes an issue with code or algorithm)
[ ] New feature (non-breaking change which adds functionality to code)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Config and build (change in the configuration and build system, has no impact on code or features)
[ ] Dependencies (update dependencies and changes associated, has no impact on code or features)
[ ] Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
[x] Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

[x] My code follows the code style of this project (only if there are changes in source code).
[ ] My changes require an update to the documentation (there are changes that require the docs website to be updated).
[ ] I have updated the documentation accordingly (the changes require an update on the docs in this repo).
[x] I have read the CONTRIBUTING document.
[x] I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
[ ] I have added new tests to cover my changes.

@Ellerbach Looks good. Just that pipeline it's complaining about a  couple of missing symbols... probably resulting from the code changes...

@Ellerbach Looks good. Just that pipeline it's complaining about a couple of missing symbols... probably resulting from the code changes...

Yes, found them and fixing them. Due to the conflict in the merge, new addition, bug fixing, while variable renamed :-D I was quite sure in case of problem our lovely pipeline will find them :-) And I love our pipeline for this :-)


Words with Umlaute are not translated by DeepL

Describe the Bug

Words with Umlaute are not translated by DeepL.
Steps to Reproduce

create an event, and in its description use a word with an Umlaut
translate the event with DeepL
everything is correctly translated, except for the word containing the Umlaut

Expected Behavior

Everything is translated correctly
Actual Behavior

Words with Umlaute are not translated at all
Additional Information

We are not actually sending the Umlaute, but HTML-escpaped characters. Unescaping these before sending to DeepL should fix the issue.

Fixed in #1909


[Snyk] Security upgrade jinja2 from 2.11.2 to 2.11.3

Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements/req.txt

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

658/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS) SNYK-PYTHON-JINJA2-1012994
jinja2:  2.11.2 -> 2.11.3
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the effected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

.


Fixing supervision job id procedure.

Scope & Purpose
The agency could only handle signed int types encoded in velocypack. The supervision encoded the increment step for reserving unique ids as unsigned int. Thus the step parameter was ignored and LatestID was incremented by 1. The supervision assumed that it reserver 10000 unique ids and that the highest id was 1. Thus it initialized its first usable id with<PHONE_NUMBER>3709541628. (because ids are unsigned). In theory coordinators and the supervision could have created two different jobs with the same id.
Testing & Verification
This was manually tested.

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/10325/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10389/


[ZEPPELIN-1847] fix: Copy only html when html file changed

What is this PR for?
Reduce build time by avoiding to copy non-related files. Approx 3~4 secs as you can see below.
What type of PR is it?
[Improvement]
Todos
Nothing
What is the Jira issue?
ZEPPELIN-1847
How should this be tested?

cd zeppelin-web
npm install && npm run start
change any html file in src/ and see log.
compare the result with master branch's

Screenshots (if appropriate)
Running "watch" task
Waiting...
>> File "src/app/home/home.html" changed.

## before

Execution Time (2016-12-22 08:13:35 UTC)
loading tasks   130ms  ▇▇▇ 3%
htmlhint:src     84ms  ▇▇ 2%
newer:copy:dev   3.6s  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 93%
Total 3.9s
Completed in 5.953s at Thu Dec 22 2016 17:13:39 GMT+0900 (KST) - Waiting…

## after

Execution Time (2016-12-22 08:14:27 UTC)
loading tasks       137ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 52%
newer:htmlhint        3ms  ▇ 1%
newer:htmlhint:src   25ms  ▇▇▇▇▇▇▇ 10%
htmlhint:src         89ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 34%
newer:copy:html       5ms  ▇▇ 2%
Total 261ms

Completed in 2.447s at Thu Dec 22 2016 17:14:27 GMT+0900 (KST) - Waiting…

Questions:

Does the licenses files need update? - NO
Is there breaking changes for older versions? - NO
Does this needs documentation? - NO

\cc @cloverhearts @felizbear for review. Thanks :)

@1ambda
Thank you for your good fix.
Sure, I will :)

GOOD

one more question. Can we boost dev mode build using webpack and its useful plugins?

We totally can but it requires some effort, i.e. migrating code to es6 modules

Did simple test for applying webpack. Let me share result in short.

(IMPORTANT) It is impossible to handle in a single PR. It requires changing directory structure and this causes sooooooo many rebase. It would be painful if it is not merged quickly.
angular is more tricky to use webpack. (e.g how to handle ng-include? - [webpack-require-loader])
we need index.html first.
webpack configuration is not hard as expected. we have many references for it

@1ambda thank you for the research. A couple of questions:

Why do you think it requires changing dir structure?
What do you mean by: "we need index.html first."?

@felizbear

I thought webpack-dev-server can serve only one diretory using contentBase but they supports multiple dirs. So now it doesn't matter :)
It's typo. I updated the comment

@AhyoungRyu
Can we merge this commit? This impacts on our productivity significantly.

@1ambda Tested this branch and it's faster than master as you described. Nice improvement indeed!

before

after

I think it's good to go now :D

LGTM

Merge into master if there are no more comments


Create dependabot.yml

Codecov Report

Merging #10 (5a4c7e0) into master (cd5af41) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #10   +/-   ##
=======================================
  Coverage   51.57%   51.57%
=======================================
  Files           8        8
  Lines         254      254
  Branches       12       12
=======================================
  Hits          131      131
  Misses        121      121
  Partials        2        2

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 cd5af41...5a4c7e0. Read the comment docs.


added linke to econml intro notebook

Hi @vsyrgkanis, I added  the colab version of the notebook instead. Thanks!