Modifying input_select variables from IFTTT Maker Channel

Wondering if it is possible to modify a variable using a Maker channel request. I looked at the Maker channel support and the requests are to be made in /api/services/light/turn_off format. I have a defined the variable as:
input_select:
  abodestatus:
    name: What is the current Abode Status?
    options:
     - standby
     - home
     - away

and I want to modify this variables based on my location information in IFTTT. Any thoughts?

Have you tried with http://hass-ip:8123/api/service/input_select/select_option?api_password=yourpassifneeded ?

That does not work. I also tried
http://aloksaboo.asuscomm.com:8123/api/service/input_select/variable_name/select_option?api_password=password

http://ipaddress:8123/api/services/input_select/select_option?api_password=password with POST payload of {"entity_id":"input_select.test","option":"my option"} works fine for me.  Let me know if I can help more...


TextMate Grammar scope specifications with multiple scopes is incorrectly handled

Prerequisites

[ ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
If a TextMate grammar scope specifier (name or contentName) specifies multiple scopes, they are not correctly handled, and thus highlighting fails.

The above image shows a region which should have 6 scopes, but three of them are specified on a single specification, and so they appear as a single scope.
In addition to highlighting failing, automated tests using atom-grammar-test also fail.
The scope specifier in the grammar file is just the list of scopes separated with spaces.
I know VSCode-TextMate explicitly accepts this, as I have seen the code that makes sure to break up the specification list at the spaces, and so my grammar file works correctly in VS Code.  I am certain I saw this in another textmate grammar file, and given enough time I will find it.
(VS Code, same grammar file)

I'll get a link posted to the grammar file in question, if its needed.  These specific changes are not yet posted online.
(snippet of one repository item)
	interpolation:
		begin: "(\\$)(\\()"
		beginCaptures:
			"1":
				name: "keyword.other.substatement.powershell punctuation.definition.substatement.powershell punctuation.section.embedded.substatement.begin.powershell"
			"2":
				name: "punctuation.section.group.begin.powershell punctuation.section.embedded.substatement.begin.powershell"
		contentName: "interpolated.complex.source.powershell"
		end: "\\)"
		endCaptures:
			"0":
				name: "punctuation.section.group.end.powershell punctuation.section.embedded.substatement.end.powershell"
		name: "meta.embedded.substatement.powershell"
		patterns: [
			{
				include: "$self"
			}
		]

The purpose of these multiple scopes to that there are alternate ideas as to how the content should be scoped and themed, and this is the best to support them all.  The last scope in the specification would have the highest priority if the theme has a selection for it.
Versions
Atom    : 1.37.0
Electron: 2.0.18
Chrome  : 61.0.3163.100
Node    : 8.9.3
Windows 10 1903 18908

What does this do in actual TextMate?

I cannot speak for TextMate, as I am not a Mac user.
However I found a previous implementation, in https://github.com/davidrios/pug-tmbundle, which uses multiple scopes in a specification.   The repository states it was tested in TextMate 2.  I recently helped fix VS Code's handling of this particular grammar for items that Atom seemed to have no issue with.  For reference to those, see https://github.com/microsoft/vscode-textmate/pull/86 and https://github.com/microsoft/vscode-textmate/pull/85.
VS Code added support for this approximately three years ago but I cannot find an issue or PR that documents why.  This issue (https://github.com/microsoft/vscode/issues/9436) seems to be what caused the change, but there are no links to the commit to confirm it, or event comments to explain what was wrong, so I am taking a guess looking at the code elements involved in the pug sample.
I'll continue to look for documentation or other references.

Another reference I found, though it does not confirm if the image showing TextMate's behavior is actually with this grammar, since the Atom image I am sure is NOT this grammar file, as I have tried this particular grammar file with Atom and I get almost no color at all, even though Atom does not have the issues that VS Code had.
https://github.com/davidrios/pug-tmbundle/issues/26
However, Atom seems to be having some kind of trouble with the inline pug interpolated element.  Both language-pug and this particular grammar fail to properly scope that only the first word (token) after a #[ is a tag.   This is another issue I will work to properly report.
In another issue (https://github.com/microsoft/vscode/issues/65983#issuecomment-457420754), @neilsoult shows some sample pug in TextMate 2, but does not indicate what the grammar source for TextMate is.  @neilsoult, was this the same pug-tmbundle that VS Code uses that you showed the example of in TextMate?

I'm really not sure, I downloaded Textmate specifically to compare it with VSCode, and I don't remember if I had to configure Textmate with any specific grammar to handle pug files. If I did, I would assume that I used the same pug-tmbundle, but I can't say for sure. Do you know how I can look at which grammar is being used by Textmate through the settings or configuration somewhere? It's still installed, I haven't touched it since.

Updated info, still not from TextMate, but the document that all of us grammar authors rely on, suggests numerous times that we should use multiple scopes on a given region:
Scope Naming – Sublime Text 3 Documentation
Take for instance, storage.type.function keyword.declaration.function.  keyword is the preferred scope, so its listed last, but storage.type is acceptable if there is no theme for keyword.
Atom supports the reference, but it doesn't let themes apply because 'storage.type' will match, but the preferred 'keyword' will not because 'storage.type.function keyword.declaration.function' does not match 'keyword'.

I should probably also restate the original reason for posting this issue, was that the grammar test system fails when multiple scopes are specified.  This could ultimately be a separate issue with the atom-grammar-test package.

This should be kept open for an explanation since it there is important behavior happening here that I don't see documented.
I can explain what's going on in more detail but I'm a bit busy at the moment. So I'll just say here that Atom uses CSS scopes instead of TextMate scopes. CSS scopes are generally more powerful, but are different because they don't depend on ordering within a level.
The second issue here is the spaces. Spaces in the name: in Textmate are expected to be a list of nested scopes. It looks like Atom incorrectly handles that case and instead of nesting them, crams them all on the same level.


[PDP-1716] update public repo

doc and dp-config-aks update

@syan-tibco Is this a change for 1.0.1? If yes, then have you picked the changes from 1.0.1 commits otherwise it will have changes beyond 1.0.1

@pagarwal-tibco  The jira PDP-1716 is for 1.1.0. Nachiket request to put in public repo. This change only contains that chart and some doc update


Q: Best practices for more interactive/responsive scaling?

Hi all,
I glanced around at the wiki but didn't see anything related to this -- I'm looking at ways of decreasing spin-up time for nodes.  Are there any write-ups about this?  Eg, things like how does image size affect spin-up, what are the trade-offs in making jobwatcher/sqswatcher run more frequently, can I 'bake-in' additional things to reduce what Chef installs?
This would be pretty useful for training sessions using parallel cluster.  At the moment, our setup works, but it takes between 5-9 minutes for a multi-node job to launch [c5.18xlarge, Slurm scheduler, but Torque seems similar].  That's totally fine for production, but I'd love to get it lower for more 'interactive' use.
Thanks,

Brian

Hi @briandobbins,
before moving forward I would ask you if you are using an official ParallelCluster AMI (e.g.
one of this list for version 2.5.0 https://github.com/aws/aws-parallelcluster/blob/v2.5.0/amis.txt) or a custom one?
Thanks
L

Hi Luca,
I customized an AMI from that list -- primarily adding some files, but not changing the OS in a meaningful way.  I also do have a post install script that makes a few more changes, but it's also fairly light.
If you're seeing more responsiveness from the base AMIs, I'll give that a shot too and see if I can find any differences on my own.  I just assumed the 5-9 minute spin up was fairly standard.  I am also using 'spot' instances if that matters.
Thanks, and let me know if you need additional information.

Brian

Moving everything to the AMI instead of using a post install script could help a bit.
Could you please post the cfn-init* and cloud-init* files of one compute node so we can double check that there are no evident bottleneck?

A few additional comments:

Spot instances might introduce some additional delays if the spot request cannot be satisfied right away
you could try to compare provisioning time of your custom spot cluster with the one obtained with a vanilla pcluster AMI, no post-install and ondemand capacity. This way you can better understand what the lower bound is for node provisioning time.
If a job requires more than 10 nodes you could request an increase of the default ASG launch rate (normally it is set to launch 10 instances every 30 seconds). This enables you to launch more nodes concurrently.

As @lukeseawalker suggested feel free to share the logs present in /var/log/ from one of your compute nodes and from your master node so that we can take a look and see if there are specific bottlenecks in the bootstrap logic.


Add remove_if_expression rule

Add remove_if_expression rule which removes luau's if expression syntax from source then translate it into closure and if statement.
Tests are succeeded.
Examples
Input
local a = if true then 1 else 2

Output
local a = (true and {(1)} or {(2)})[1]

Thank for contributing! I think we could switch the replacement strategy though. Someone in the Roblox open source discord shared this trick where you can do:
local a = if condition() then 1 else 0
local a = (condition() and { 1 } or { 0 })[1]

We should also wrap potential expressions that can return multiple values to avoid creating a bigger table than needed. So ... and functions calls should be wrapped in parentheses!

Hello! Thanks for reviewing! I read your all 3 comments which were really helpful for me to improve my contribution.
but sorry. one thing that I'm not quite understanding is "We should also wrap potential expressions that can return multiple values to avoid creating a bigger table than needed. So ... and functions calls should be wrapped in parentheses!" I'm not sure what ... and function calls are actually meaning.
Can you please provide more example codes so can you help me I understand? Sorry about that.

but sorry. one thing that I'm not quite understanding is "We should also wrap potential expressions that can return multiple values to avoid creating a bigger table than needed. So ... and functions calls should be wrapped in parentheses!" I'm not sure what ... and function calls are actually meaning.
Can you please provide more example codes so can you help me I understand? Sorry about that.

Of course 😄 Take this example:
local function oof(...: string)
    return if condition(...) then ... else transform(...)
end
-- converts to
local function oof(...: string)
    return (condition() and { (...) } or { transform(...) })[1]
end

Imagine that oof is called with multiple arguments, ... would expand in the table and put more values than needed.
Imagine that transform(...) returns multiple values, it would also expand in the table and put more values than needed again

The wrapping in parentheses will make the extra values go away.

Thank you so much! It seems possible to implement easily except for elseif hell... hm

This PR may close #207

In my opinion (as stated in #212), this is how the transformation should happen:
local maxValue = if a > b then a else b

goes to
local maxValue = b
if a > b then
    maxValue = a
end

I took a look at the Luau bytecode and that's what it would theoretically decompile to.

In my opinion (as stated in #212), this is how the transformation should happen:
local maxValue = if a > b then a else b

goes to
local maxValue
if a > b then
    maxValue = a
else
    maxValue = b
end

Why
Using an if saves a few instructions and is truer to what it actually Luau compiles the statement to.
function anon_0(??)
    1     GETIMPORT   R2 1      ; a
    2     GETIMPORT   R3 3      ; b
    3     JUMPIFNOTLT R3 R2 L0
    4     NEWTABLE    R1 0 1
    5     GETIMPORT   R2 1      ; a
    6     SETLIST     R1 R2 1   ; 1
    7     JUMPIF      R1 L1
    8  L0 NEWTABLE    R1 0 1
    9     GETIMPORT   R2 3      ; b
    10    SETLIST     R1 R2 1   ; 1
    11 L1 GETTABLEN   R0 R1 1
    12    GETIMPORT   R1 5      ; print
    13    MOVE        R2 R0
    14    CALL        R1 1 0
    15    RETURN      R0 0
end

function anon_1(??)
    1     LOADNIL     R0
    2     GETIMPORT   R1 1      ; a
    3     GETIMPORT   R2 3      ; b
    4     JUMPIFNOTLT R2 R1 L0
    5     GETIMPORT   R0 1      ; a
    6     JUMP        L1
    7  L0 GETIMPORT   R0 3      ; b
    8  L1 GETIMPORT   R1 5      ; print
    9     MOVE        R2 R0
    10    CALL        R1 1 0
    11    RETURN      R0 0
end

function anon_2(??)
    1     GETIMPORT   R1 1      ; a
    2     GETIMPORT   R2 3      ; b
    3     JUMPIFNOTLT R2 R1 L0
    4     GETIMPORT   R0 1      ; a
    5     JUMP        L1
    6  L0 GETIMPORT   R0 3      ; b
    7  L1 GETIMPORT   R1 5      ; print
    8     MOVE        R2 R0
    9     CALL        R1 1 0
    10    RETURN      R0 0
end

Samples (in order)
local maxValue = ((a > b) and {(a)} or {(b)})[1]
print(maxValue)

local maxValue
if a > b then
    maxValue = a
else
    maxValue = b
end
print(maxValue)

local maxValue = if a > b then a else b
print(maxValue)

It is not that easy to convert if expression into if statement since the case like this code above would be a nightmare of side effects
local c = ...
local a, c = sideEffect() + if condition then compute(c) else default(), resetC()

I'm on mobile but I believe that
local c = ...
local a, c = sideEffect() + if condition then compute(c) else default(), resetC()

compiles back to
local c = ...
local a = sideEffect() + if condition then compute(c) else default()
local c = resetC()

where the results of sideEffect and the if expr are stored in separate registers before added up so it's basically equal to
local c = ...
local a = sideEffect()
a += if condition then compute(c) else default()
local c = resetC()

Looking at the bytecode, it's executed as expected in order from left to right. sideEffect is callled then stored and finally added to the result of the if expr. Then, resetC is called.
Similar to how darklua handles a[foo()] += 1, a temporary variable could be made that computes the final value.
However, I can acknowledge how it may be difficult to know when or how to split the expression up. For example, setting a equal to the result then setting a again but with the if expr result.
I'm not too experienced with these things but Rust should make it easier since you can match Expr and make sure all cases are covered.


[Bug]: C# emitter should explain simply that .NET needs to be installed

Describe the bug
That error us not customer's friendly:

Reproduction
Get a machine without .NET, and try to compile a valid spec
Checklist

[x] Follow our Code of Conduct
[x] Check that there isn't already an issue that request the same bug to avoid creating a duplicate.
[x] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[x] The provided reproduction is a minimal reproducible example of the bug.

Please also make sure the error message contains installation steps, see https://github.com/microsoft/typespec/issues/5365 for a discussion about it


Document distributed tracing policy

Library name
Azure.Core
Please describe the feature.
https://azure.github.io/azure-sdk/dotnet_implementation.html#dotnet-distributedtracing - we should document the policy here

public methods
pipeline policy
grow-up methods

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Core:0.43542475,Search:0.14097708,Storage:0.12055868'

Fixed in https://github.com/Azure/azure-sdk/pull/4367


Use of DGS extended scalars as types generates incorrect code

We are using the DGS extended scalars, specifically the LocaleScalar type.
In our graphql schema, we declare the scalar as follows:
scalar Locale

And, we then specify Locale as the data type of one of our types, as follows:
type Team @cacheControl(maxAge: 60, scope: PUBLIC){
    id: ID!
    hl: Locale!
}

When we run our maven build using this codegen plugin, we get the following generated (summarized):
import graphql.scalars.locale.LocaleScalar;

public class Team {
  private String id;

  private LocaleScalar hl;

public Team() {
  }

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public LocaleScalar getHl() {
    return hl;
  }

  public void setHl(LocaleScalar hl) {
    this.hl = hl;
  }
}

At issue is that there is no way programmatically for us to create a LocaleScalar. So, we cannot invoke setHl with a LocaleScalar.
Note that we have this class which registers the scalar and maps the DGS extended scalar to a java.util.Locale.
@DgsComponent
@DgsScalar(name = "Locale")
public class LocaleScalarRegistration implements Coercing<Locale, String> {
  @DgsRuntimeWiring
  public RuntimeWiring.Builder addLocaleScalarWiring(RuntimeWiring.Builder builder) {
    return builder.scalar(ExtendedScalars.Locale);
  }
}

I think what needs to instead be generated in this case is the following:
import java.util.Locale;

public class Team {
  private String id;

  private Locale hl;

public Team() {
  }

  public String getId() {
    return id;
  }

  public void setId(String id) {
    this.id = id;
  }

  public Locale getHl() {
    return hl;
  }

  public void setHl(Locale hl) {
    this.hl = hl;
  }
}

If I change the code manually after it has been generated, then DGS properly handles coercing the Locale to a string and vice-versa. When I post to our graphql endpoint with a locale string as an argument, DGS properly handles coercing the string to a locale.

If you agree that this is an error, I'm happy to try to submit a PR if you don't have time to fix quickly and you can advise me. I'm not all that familiar with the inner workings of this plugin.

Can you take a look at the  option.
I think what you want is to map LocaleScalar => Locale.

Locale

Where do I put that declaration? I'm not familiar with that.

Hi @JeffBNimble
I think you'll need to configure the <typeMapping> option.
If I add this to my example schema I'll get compile errors as the generated code doesn't include an import for anything other the basic scalar types (String, Integer etc). More here in the DGS docs.
scalar Locale

type Chair {
  id: ID!
  name: String!
  description: Locale!
}

When I add the following it tells the codegen tool how to map the GraphQL scalar to a Java type and my generated Chair class compiles correctly.
 <typeMapping>
  <Locale>java.util.Locale</Locale>
</typeMapping>

The typeMapping and all other options supported by the plugin are in the documentation.

Great! Thank you so much for your help.

No problem, let me know if that fixes it for you. Just put the typeMapping option in the  block.

That fixed it. Thank you again.


Feat/update

The master branch was no longer working because the Bump PR had already been merged.
I updated the dependencies, implemented the necessary changes, and got it working again.
The Node and Java microservices were the most challenging.
It includes the 20 Bump PR currently open.
There are some repos which depend on it, I will update them after this is merged.

Nice work @v-fearam !!! I should be able to review it this week.


Is this project maintained anymore?

There are many new PRs and issues with no response.
@paulbutcher Do you need someone else to take over the project?

I handed maintenance over to @barkhorn several years ago. Are you still around Philipp?

Yes. There will be another release this year to update dependencies and merge PRs. Work has been exceptionally busy so I’m sorrry I had to neglect this project a bit

I am looking to upgrade to Scala 3 and I don't see any releases for that yet at https://repo1.maven.org/maven2/org/scalamock/ is that on the near term roadmap?

I've split the Scala 3 discussion out


dts: Generate GPIO defines in non GPIO devices

This pull request aim at generating #define for gpio properties defined in non gpio nodes.
For instance:
spbtle-rf@0 {
 	compatible = "st,spbtle-rf";
    	reset-gpios = <&gpioa 8 0>;
};

will trigger generation of:
#define ST_STM32_SPI_FIFO_40003C00_ST_SPBTLE_RF_0_RESET_GPIOS_CONTROLLER	"GPIOA"
#define ST_STM32_SPI_FIFO_40003C00_ST_SPBTLE_RF_0_RESET_GPIOS_FLAGS		0
#define ST_STM32_SPI_FIFO_40003C00_ST_SPBTLE_RF_0_RESET_GPIOS_PIN		8

This is done by introducing a new value in yaml dts bindings attribute "generation": 'define, use-prop-name'. If use-prop-name is set, #define will use property name as cell string instead of property generic name.
To achieve this, I've removed the 'cell-string' yaml attribute. It was used mostly to provide a generic value (IRQ, PINMUX, ..) and only once for a specific case. I enforced the generic value to be used directly in the script to simplify whole generation mechanism.
Last, I updated NXP dts files to use generated _CLOCK_CONTROLLER define.
I also took the opportunity to clean up from the script 'use-name-prefix' which was never used.
This PR is based on #7197

Codecov Report

Merging #7350 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7350   +/-   ##
=======================================
  Coverage   55.09%   55.09%
=======================================
  Files         474      474
  Lines       51786    51786
  Branches     9937     9937
=======================================
  Hits        28530    28530
  Misses      19304    19304
  Partials     3952     3952

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 4954fe0...c74414b. Read the comment docs.

recheck


Fix crash if vote state is malformed

Problem
Fixes a panic dealing with the 'prior_voters' field in a vote account.
This panic occurs with malformed vote states.
This crash is unreachable on mainnet, since all vote accounts by the vote program are valid.
Summary of Changes
Adds bounds checking.
Fixes #

Codecov Report
Attention: Patch coverage is 87.50000% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 81.9%. Comparing base (51f9972) to head (a35693a).

Additional details and impacted files
@@            Coverage Diff            @@
##           master     #715     +/-   ##
=========================================
- Coverage    81.9%    81.9%   -0.1%
=========================================
  Files         851      851
  Lines      230722   230728      +6
=========================================
- Hits       189103   189048     -55
- Misses      41619    41680     +61


Unpin toolchain from nightly-2023-02-26

Fixes issue https://github.com/redhat-et/bpfd/issues/348.
Running cargo xtask build-proto also resulted in updates to bpfd.v1.rs.  I assume this is due to updates in the rust tools.

@dave-tucker @astoycos Do the updates to bpfd.v1.rs that happened after running cargo xtask build-proto look okay?  They are apparently unrelated to the rust toolchain updates because @Billy99 saw them too without updating rust.  Do you know what change caused them?


Surrogate Serialization

Does fastJSON supporting Surrogate Serialization?
If not, let us know.
Thanks.

Please explain more what you mean.

Please take a look at: https://msdn.microsoft.com/en-us/library/system.runtime.serialization.surrogateselector(v=vs.110).aspx

The whole purpose of fastJSON is that surrogates are not needed.

But sometimes, some classes don't need the some properties to be serialized. we need a surrogate for specifying which properties to be serialized.

Use XmlIgnore attribute for those properties you don't want to serialize.

I don't have access to the class.

I can't modify class source code. because the class is related to the unity game engine, i just want to serialize it to json format.

Try and see what happens.

What do i try? How do i apply XmlIgnore attribute to a closed source?

Try your surrogates.

How? does fastjson supports surogate selector?


scrollOrSwipeInDirection method added

Created scroll and swipe methods using scrollOrSwipeInDirection() method
Unit tests added for scroll on web

I would like to locally test it, will approve once I do!


Animate color transition

It would be great to animate the color transitions between states as people vote.

Moved issue to the right spot ✨ 💖


Quicksilver 1.6.1 doesn't launch selected application

Hi,
I'm a longtime Quicksilver user.  Till today I was happily using version 1.5.9.  I agreed to upgrade to 1.6.1. This new version allows me to select any application, but at hitting the return key or clicking an application in the list, nothing happens.
I have a MacBook Pro running under MacOS 10.11.6.
I reinstalled v. 1.5.9 and it works (back) as expected and correctly.
Best regards,
Jean

I thought we had fixed the one incompatibility with 10.11 (see #2460), but maybe there’s something else.
I’ve changed the rules in the update system. If you go back to 1.5.9, it should stop telling you there’s an update. (Maybe this isn’t ideal, but we generally only try to support the two most recent versions of macOS.)


Managed Environment Failed to Initialize

Please provide us with the following information:

This issue is a: (mark with an x)

[ x] bug report -> please search issues before submitting
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
When attempting to deploy a container app environment in West Europe, to a vNet I am getting the error below. This only just started happening today, and was working fine yesterday. I have got this both when deploying with Pulumi and using the Azure Portal.
{
  "code": "DeploymentFailed",
  "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
  "details": [
    {
      "code": "OperationFailed",
      "message": "Managed environment failed to initialize"
    }
  ]
}

Steps to reproduct

Deploy a new Container App Environment into a vNet in West Europe

Expected behavior [What you expected to happen.]
Deployment completed successfully, as it has done previously in the same network setup
Actual behavior [What actually happened.]
Environment creation fails
Screenshots
Additional context
Occurs both with Pulumi and Azure portal.
I also tried re-registering the Microsoft.Web provider, but that made no difference

I'm seeing the same thing in East US 2. Shows a status of conflict for the create operation and everything mentioned above. I've tried using the portal with existing subnets or creating new ones and get the same result.
I've also not had any luck with the CLI "az containerapp env create" returning (stop the poling that shows its running) when I execute the following today:
az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --logs-workspace-id $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --logs-workspace-key $LOG_ANALYTICS_WORKSPACE_CLIENT_SECRET \
  --location "$LOCATION" \
  --app-subnet-resource-id $APP_SUBNET \
  --controlplane-subnet-resource-id $CONTROL_PLANE_SUBNET

Investigating. Thanks for the report

@sam-cogan @JasonHaley we have identified the root of the problem and will report back with further details

After investigation we've found a temporary mitigation for this issue. Please run az provider register -n Microsoft.ContainerService if you are running into this problem. We are working with the AKS team to mitigate the issue.

Unfortunately, the error persists after running az provider register -n Microsoft.ContainerService

I am getting the same Managed environment failed to initialize in US East 2, but also getting an error is US East.
Subscription '<redacted>' is not allowed to create environments in Region 'East US', please open a support case for re-enabling the environment creation.

In both cases, trying to deploy to my own vNet. Is the second error related or is this a different issue?

@SSPJ container apps is only available in East US 2 and West Europe

@vusause any updates on this? The issues still occurring even with the provided mitigation

@sam-cogan, @SSPJ   , can you send us your subscription ids? torosent at micrsoft dot com

I'm still seeing the same issue
Just tried another deployment to East US 2.
Managed environment  ... failed to initialize
summary
Internal
Own VNET

Determined what the issue was

We had a policy that blocked public IP Address creation
This was applied against the MC_ resource group
The deployment did not expose this as the reason for failure

This should have been exposed

We will be updating our policy to allow Public IP for MC_ prefixed Resource Groups

@stweb1963 do you have any updates on this?

@PabloZaiden  Unclear what more you are looking for

Azure policies we had were blocking the creation of Public IPs
We implemented an exclusion to the policy
The deployment now succeeds

What is needed is that the Container App deployment need to expose the underlying failure, in this case a policy block, instead of Managed environment ... failed to initialize

I assumed the underlying issue was fixed, but until last week I still got the error from time to time.
If the fix is already implemented, all is good!


dependabot unignore not working

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
nuget
Package manager version
No response
Language version
No response
Manifest location and content before the Dependabot update
No response
dependabot.yml content
version: 2
updates:
  - package-ecosystem: "nuget" # See documentation for possible values
    directory: "/" # Location of package manifests
    schedule:
      interval: "daily"
      time: "18:00"
      timezone: "Asia/Seoul"
    assignees:
      - "na1307"
    pull-request-branch-name:
      separator: _
    reviewers:
      - "na1307"
    groups:
      default:
        patterns:
          - "*"

Updated dependency
JsonSchema.Net
What you expected to see, versus what you actually saw
I tried to unignore the ignored dependency in dependabot, but I received "No dependency name (jsonschema.net) or ignore conditions found to unignore."
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs
na1307/SimpleSixtarScorecard#5
Smallest manifest that reproduces the issue
No response

I am finding the same issue with nuget packages. Even @dependabot unignore * returns the same message.
I am trying to unignore the following for a specific dependency in a pull-request:
    ignore:
      - dependency-name: "*"
        update-types: ["version-update:semver-major"]

dependabot.yml
version: 2
registries:
  github:
    type: nuget-feed
    url: https://nuget.pkg.github.com/{org}/index.json
    username: ${{ github.repository_owner }}
    password: ${{ secrets.ORG_GITHUB_PAT_READ_ONLY  }}

updates:
  - package-ecosystem: "nuget"
    directory: "/"
    registries: "*"
    schedule:
      interval: "daily"
    commit-message:
      prefix: "[Dependabot]"
    pull-request-branch-name:
      separator: "-"
    labels:
      - "dependencies"
      - ".net"
    groups:
      test:
        patterns:
          - "xunit*"
          - "AutoFixture*"
          - "Microsoft.NET.Test*"
          - "FluentAssertions*"
      microsoft-extensions:
        patterns:
          - "Microsoft.Extensions*"
      mongodb:
        patterns:
          - "mongo*"
      hangfire:
        patterns:
          - "*hangfire*"
      nuke:
        patterns:
          - "nuke*"
    ignore:
      - dependency-name: "*"
        update-types: ["version-update:semver-major"]

  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    groups:
      actions:
        patterns:
          - "actions/*"

@abdulapopoola and/or @jakecoffman I removed the nuget label as it's not updater specific.


HAWKULAR-667 Remove toastr feedback after adding a url.

Also, delete an extraneous json file.

Merged #531


feat: add multiply/divide functions

I haven't added functions as image methods. Also right now functions do not multiply alpha channels, maybe it is not needed at all, or maybe we can add an option if alpha channel should be taken into account as well.

Also right now functions do not multiply alpha channels

Is it not possible by providing the alpha channel in the channels option?

We need at least one test to test each option (channels and out)

You can also add divide and multiply as Image methods

@stropitek Was it discussed to put these methods in the compute folder? That doesn't seem right to me as it doesn't contain similar methods.
I think add and subtract are similar.

Was it discussed to put these methods in the compute folder? That doesn't seem right to me as it doesn't contain similar methods.

No this wasn't discussed and I did not pay attention to that during the review.

I think add and subtract are similar.

I agree


Automatic Release Deployment

Describe the bug
Automatic Release on GitHub fail
To Reproduce
Steps to reproduce the behavior:

Go to 'GitHub'
Click on 'Actions'
Scroll down to 'Release on GitHub'
See error

Expected behavior
When the automatic release occurs
Screenshots

Desktop (please complete the following information):

OS: Win 11 pro
Browser: Edge
Version: Version 131.0.2903.70 (Official build) (64-bit)

Additional context
none

This is on Lab 8


[Feature] Support calculate confusion matrix and plot it.

Modification
Add the ConfusionMatrix metric and a command-line tool to calculate/plot the confusion matrix.
Use cases (Optional)
1. Basic Usage
>>> import torch
>>> from mmcls.evaluation import ConfusionMatrix
>>> y_pred = [0, 1, 1, 3]
>>> y_true = [0, 2, 1, 3]
>>> ConfusionMatrix.calculate(y_pred, y_true, num_classes=4)
tensor([[1, 0, 0, 0],
        [0, 1, 0, 0],
        [0, 1, 0, 0],
        [0, 0, 0, 1]])
>>> # plot the confusion matrix
>>> import matplotlib.pyplot as plt
>>> y_score = torch.rand((1000, 10))
>>> y_true = torch.randint(10, (1000, ))
>>> matrix = ConfusionMatrix.calculate(y_score, y_true)
>>> ConfusionMatrix().plot(matrix)
>>> plt.show()

2. Use with Evalutor
>>> import torch
>>> from mmcls.evaluation import ConfusionMatrix
>>> from mmcls.structures import ClsDataSample
>>> from mmengine.evaluator import Evaluator
>>> data_samples = [
...     ClsDataSample().set_gt_label(i%5).set_pred_score(torch.rand(5))
...     for i in range(1000)
... ]
>>> evaluator = Evaluator(metrics=ConfusionMatrix())
>>> evaluator.process(data_samples)
>>> evaluator.evaluate(1000)
{'confusion_matrix/result': tensor([[37, 37, 48, 43, 35],
         [35, 51, 32, 46, 36],
         [45, 28, 39, 42, 46],
         [42, 40, 40, 35, 43],
         [40, 39, 41, 37, 43]])}

3. Use command-line tool
python tools/analysis_tools/confusion_matrix.py \
    configs/resnet/resnet50_8xb16_cifar10.py \
    https://download.openmmlab.com/mmclassification/v0/resnet/resnet50_b16x8_cifar10_20210528-f54bfad9.pth \
    --show

Checklist
Before PR:

[ ] Pre-commit or other linting tools are used to fix the potential lint issues.
[ ] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
[ ] The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[ ] The documentation has been modified accordingly, like docstring or example tutorials.

After PR:

[ ] If the modification has potential influence on downstream or other related projects, this PR should be tested with those projects, like MMDet or MMSeg.
[ ] CLA has been signed and all committers have signed the CLA in this PR.

Hi, about the third method: use the command line tool. I can't find confusion_matrix.py in Analysis_tools.

Hi, about the third method: use the command line tool. I can't find confusion_matrix.py in Analysis_tools. @mzr1996

I have moved it to the analysis_tools folder, you can find it now.

Hi, the github codebase is not updated. Another problem is, I used the latest version of mmcla, when I run confusion_matrix.py, an  error occured--cannot import name 'ConfusionMatrix' from 'mmcls.evaluation'. I found that 'ConfusionMatrix' is not defined, is there a script for 'ConfusionMatrix'? @mzr1996

Hi, the github codebase is not updated. Another problem is, I used the latest version of mmcla, when I run confusion_matrix.py, an error occured--cannot import name 'ConfusionMatrix' from 'mmcls.evaluation'. I found that 'ConfusionMatrix' is not defined, is there a script for 'ConfusionMatrix'? @mzr1996

I think you can pull the latest dev-1.x branch and use it now.

hi ， when I used the third way to get confusion matrix, the following error occured:


make it not 7z please

please at least make a new version of it like a .zip or somethin idk how to install it

download 7zip here https://www.7-zip.org/download.html

i tried dat and it said that windows protected my pc
is it just un signed or
somethin

7zip is completely safe

ok
ty

is it called "7z1900.exe"?

i hate anti-viruses

imagine not having a universal unzipping program xD

is it called "7z1900.exe"?

uhh just use winrar. it can unzip 7z files and its customizable

reminder to close this issue

@GrateSkata 7z superiority 7zip can extract all of the formats, imagine having an extract program that cant extract that one filetype (winrar)


Poll result images are missing

Poll result images are referenced in shapes.svg. Added to find them in shapes.svg, download and zip these slide_resources too.

Cool, thank you for contributing!


Example program for playing audio data from memory?

It would be nice with an example program that demonstrates in the simplest way possible to record and play audio. Like the thru_client.py, but with record/playback implemented.
This is how far I got with my limited understanding of both numpy and the python JACK client.
EDIT: This updated example actually seems to work. Is this in your opinion how this should be done? If so, it could be very helpful for newcomers to have it on the project page along with the other examples.
#!/usr/bin/env python3

"""
Create a JACK client that records input audio and plays it back through the outputs.
"""
import sys
import os
import jack
import numpy
import threading

argv = iter(sys.argv)
# By default, use script name without extension as client name:
defaultclientname = os.path.splitext(os.path.basename(next(argv)))[0]
clientname = next(argv, defaultclientname)
servername = next(argv, None)

client = jack.Client(clientname, servername=servername)

if client.status.server_started:
    print('JACK server started')
if client.status.name_not_unique:
    print(f'unique name {client.name!r} assigned')

input_data = numpy.empty(client.blocksize, dtype = 'float32')   # For storing the recorded audio
recording_duration = 5.0                                        # Record audio for 5 seconds
playback_position = 0                                           # For tracking the current playback position in frames

event = threading.Event()

@client.set_process_callback
def process(frames):
    global input_data
    global playback_position

    assert len(client.inports) == len(client.outports)
    assert frames == client.blocksize

    # If the recorded audio data is less that 5 seconds,
    # keep adding the input buffer data to it
    if len(input_data) < recording_duration * client.samplerate:
        mono_sample = numpy.zeros(frames, dtype = 'float32')

        for i in client.inports:
            mono_sample = numpy.add(mono_sample, i.get_array())

        input_data = numpy.append(input_data, mono_sample)

    # If the recording is complete and the playback position isn't yet at the end,
    # keep adding the recorded data to the output buffer
    elif playback_position + frames < len(input_data):
        for o in client.outports:
            o.get_buffer()[:] = input_data[playback_position:playback_position + frames]

        playback_position += frames

@client.set_shutdown_callback
def shutdown(status, reason):
    print('JACK shutdown!')
    print('status:', status)
    print('reason:', reason)
    event.set()

# create two port pairs
for number in 1, 2:
    client.inports.register(f'input_{number}')
    client.outports.register(f'output_{number}')

with client:
    # When entering this with-statement, client.activate() is called.
    # This tells the JACK server that we are ready to roll.
    # Our process() callback will start running now.

    # Connect the ports.  You can't do this before the client is activated,
    # because we can't make connections to clients that aren't running.
    # Note the confusing (but necessary) orientation of the driver backend
    # ports: playback ports are "input" to the backend, and capture ports
    # are "output" from it.

    capture = client.get_ports(is_physical=True, is_output=True)
    if not capture:
        raise RuntimeError('No physical capture ports')

    for src, dest in zip(capture, client.inports):
        client.connect(src, dest)

    playback = client.get_ports(is_physical=True, is_input=True)
    if not playback:
        raise RuntimeError('No physical playback ports')

    for src, dest in zip(client.outports, playback):
        client.connect(src, dest)

    print('Press Ctrl+C to stop')
    try:
        event.wait()
    except KeyboardInterrupt:
        print('\nInterrupted by user')

# When the above with-statement is left (either because the end of the
# code block is reached, or because an exception was raised inside),
# client.deactivate() and client.close() are called automatically.

Thanks for this suggestion!
There is only one thing really wrong with your code: you should always write to the output buffer(s). If you don't have anything to write to them, write zeros. I just tried your code (on Linux) and it worked as expected until playback was finished, but then the last block was repeated indefinitely (because I guess the buffer was simply re-used and still contained the signal of the last block).
The annoying thing is that on other systems (and maybe on your system) it might just work, because the last block might not be re-used for some reason.
Other than that, it really depends on your assumptions for this example and what use case you want to illustrate with it.
If the duration of the recording is actually known in advance, it might make more sense to create a buffer of the full length and then write to it (instead of repeatedly using append()).
However, we might want to pretend that the recording duration is not yet known when starting the recording?
In this case there is still the question whether we only want to use entire blocks of audio.
Because if yes, it might make more sense to store the blocks in a list (or maybe a collections.deque) of NumPy arrays?
I think the whole playback_position thing would only make sense if we would allow the signal to start/stop mid-block.
If you want to add this as an "official" example, feel free to create a PR with it, then we can discuss further details about it.

It would also probably be more interesting (and realistic?) to stop the recording and start playback from the non-audio thread?
This way, the example could show some inter-thread communication which might be helpful for some applications?


CB-1006 Add LDAP support for Impala using CM

Outstanding items: none.

Refer to this link for build results (access rights to CI server needed):
ci-cloudbreak.eng.hortonworks.com/job/cloudbreak-pull-request-builder/16/

Refer to this link for build results (access rights to CI server needed):
ci-cloudbreak.eng.hortonworks.com/job/cloudbreak-pull-request-builder/28/

The unit test been slightly refactored in #5116.


[TypeReconstruction] Refactor handling of local decl names.

rdar://problem/38428830

@swift-ci please test and merge

@slavapestov this is the new, correct version.

There are two stdlib test failures, but they don't seem related (timeouts).
@airspeedswift / @milseman may I ask you to take a look?

@swift-ci please test macOS

I've never seen those failures before, and it's also possible something happened to the builder. Let's see how this run goes.

Build failed
Swift Test OS X Platform
Git Sha - 8cc35a00ae340727064471e43cd266b6fc5a2afd

Looks like this one got to LLDB test failures:
[TestSwiftLocalTypes.py FAILED]

Yes, the stdlib issue went away, thanks.
The bug in lldb is a legitimate one (can't resolve the type of a frame variable), so I'll investigate it now.

This is the reason why it's failing, according to the log:
                 ((SwiftASTContext*)0x7fc3b2fc0880)->GetTypeFromMangledTypename('$S4fail4mainSiyF3FooL_VD')
                 ((SwiftASTContext*)0x7fc3b2fc0880)->GetTypeFromMangledTypename('$S4fail4mainSiyF3FooL_VD') -- not cached, searching
                 ((SwiftASTContext*)0x7fc3b2fc0880)->GetTypeFromMangledTypename('$S4fail4mainSiyF3FooL_VD') -- error: type for symbolname '$S4fail4mainSiyF3FooL_VD' was not found

So, fixing one case in the compiler, breaking one in the debugger :(

After a discussion with @slavapestov  and @jrose-apple I realized this can't possibly work with source files, as it ends up looking up in a fake module.
I'm going to refactor this function as in one case tries to reconstruct the type of a variable given a variable and in the other case it tries to reconstruct the type of a variable given the mangled type name. Hopefully this will be removed soonish so we won't have to deal with this again.

@swift-ci please test and merge

@swift-ci please test and merge


Roll engine e886d7b08295..0fbab3dd320e (2 commits)

https://github.com/flutter/engine/compare/e886d7b08295...0fbab3dd320e
git log e886d7b082953589569169513b0b7d8d78975055..0fbab3dd320e894051c4aadfc941201d0517a8ff --no-merges --oneline
0fbab3dd3 Roll src/third_party/skia cc82972af115..607c6d9c86ab (1 commits) (flutter/engine#9251)
5bbc90852 Roll src/third_party/skia 9577f01ba081..cc82972af115 (1 commits) (flutter/engine#9249)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/6703078372278272

Commit queue failed; closing this roll.


Add Cory's presentation and scripts

This time with the actual presentation and scripts.
Some moron didn't run git push when making #14. It's a good thing he doesn't do any talks on git... That would be embarassing...

@psjamesp does this work?


PutElementEvent

Refactor existing put element event.

[x] Add type definition.
[x] Add unit test.
[x] Add feature test.
[x] Add documentation.

References upstream API issue HTTP PUT /<uuid> - PutElementController #79.

Additional documentation will be postponed until the new documentation system is up and running - likely end of 2024.


flask-bootstrap Customization

Hi all,
I'm really confused of how to customize style use flask-bootstrap. In the book for example forms always use
{{ wtf.quick_form(form) }}
But I would like to create a more styled form based on plain Bootstrap example https://getbootstrap.com/docs/5.1/examples/sign-in/
After a great effort I still could make my page looks exactly like the ones showed in the example. My looks like

Clearly text is not centered. Highlight when i click looks different. Example has effect that when u click the label text shrink.
Here I provided my code

{% import "bootstrap/wtf.html" as wtf %}

{% block title %}Flasky - Login{% endblock %}

{% block styles %}
{{ super() }}

<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='signin.css') }}">
{% endblock %}

{% block body_attribs %}class="text-center"{% endblock %}

{% block page_content %}

Login

    <form class="form" method="post" role="form">

Please sign in

        {{ form.hidden_tag() }}
        {{ wtf.form_errors(form, hiddens="only") }}

            {{ wtf.form_field(form.password, class="form-control", id="floatingPassword", placeholder="Password") }}

            {{ wtf.form_field(form.remember_me, type="checkbox", class="form-check-input") }}

        <button class="w-100 btn btn-lg btn-primary" type="submit">Sign in</button>

    </form>

Forgot your password? Click here to reset it.

New user? Click here to register.

{% endblock %}

The following is Bootstrap example source code and it's .css
<!doctype html>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="Mark Otto, Jacob Thornton, and Bootstrap contributors">
    <meta name="generator" content="Hugo 0.88.1">
    <title>Signin Template · Bootstrap v5.1</title>

    <link rel="canonical" href="https://getbootstrap.com/docs/5.1/examples/sign-in/">

<link href="../assets/dist/css/bootstrap.min.css" rel="stylesheet">

    <link href="signin.css" rel="stylesheet">

  <form>

Please sign in

      <input type="email" class="form-control" id="floatingInput"<EMAIL_ADDRESS>      Email address

      <input type="password" class="form-control" id="floatingPassword" placeholder="Password">
      Password

        <input type="checkbox" value="remember-me"> Remember me

    <button class="w-100 btn btn-lg btn-primary" type="submit">Sign in</button>

© 2017–2021

  </form>

I use the same .css file
html,
body {
  height: 100%;
}

body {
  display: flex;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #f5f5f5;
}

.form-signin {
  width: 100%;
  max-width: 330px;
  padding: 15px;
  margin: auto;
}

.form-signin .checkbox {
  font-weight: 400;
}

.form-signin .form-floating:focus-within {
  z-index: 2;
}

.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

I was trying to mimicking his file then translate to jinja2 and flask-bootstrap way of writing. But style still looks a lot like quick_form
Can someone pointing out what i did wrong? I'm really struck on this. Thank you,

Oh also I do not want the navbar in signin page. That's why i commented out {% extends "base.html" %}.

First of all, you can't remove base.html. If you don't want to use the base layout from the application, then you have to extend bootstrap/base.html instead. This adds the bootstrap CSS and JS files to the page.
Next, you are looking at a bootstrap 5 example, while Flask-Bootstrap works with Bootstrap 3. You will find some differences there, so you should either look for Bootstrap 3 examples to copy from, or else remove Flask-Bootstrap and code your HTML directly, without using any Flask-Bootstrap helpers.

Wow thank you. I didn't know that. I find directly code in plain Bootstrap way easier.
I still have question about forms tho. How to connect LoginForm in app/auth/forms in plain HTML? if I use flask-bootstrap I can put for example

            {{ wtf.form_field(form.email, class="form-control", id="floatingInput"<EMAIL_ADDRESS>}}

So form.email is the field. But in plain HTML from example the corresponding code is

      <input type="email" class="form-control" id="floatingInput"<EMAIL_ADDRESS>      Email address

Seems no way to link form.email anywhere

You have to set the name attribute in your <input> field, matching the field name in the form class.

Hi,
I reopened the issue cause I fixed appearance but still stuck. I'm not using flask-bootstrap currently. Just linking bootstrap css and js in the base.html.
the form i use in login.html
    <form>
        {{ form.hidden_tag() }}

Please sign in

            <input type="email" name="email" class="form-control" id="floatingInput"<EMAIL_ADDRESS>            Email address

            <input type="password" name="password" class="form-control" id="floatingPassword" placeholder="Password">
            Password

                <input type="checkbox" name="remember_me"> Remember me

        <button class="w-100 btn btn-lg btn-primary" type="submit" name="submit">Sign in</button>

© 2017–2021

    </form>

it seems keep issuing GET request with:
<IP_ADDRESS> - - [14/Nov/2021 19:08:46] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [14/Nov/2021 19:08:47] "GET /auth/login HTTP/1.1" 200 -
<IP_ADDRESS> - - [14/Nov/2021 19:08:57] "GET /auth/login?csrf_token=Ijg3NGNjODY4OGYyZDkxZDljNWFjOGNmYWFiZTIzN2Y4NmYxYWY2MGQi.FHLiLw.8AW74HH3eGqNzPDjMSuxYs-OAxs&email=yehui.he%40gmail.com&password=IXLIM8389&submit= HTTP/1.1" 200 -
So it's not really doing anything after hitting submit button. It seems didn't submit.
I do not understand why it isn't issuing PUT as what it suppose to. the forms and views are the same as your book. Just a reminder for
the views
@auth.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data.lower()).first()
        if user is not None and user.verify_password(form.password.data):
            login_user(user, form.remember_me.data)
            next = request.args.get('next')
            if next is None or not next.startswith('/'):
                next = url_for('main.index')
            return redirect(next)
        flash('Invalid email or password.')
    return render_template('auth/login.html', form=form)

Same as in flask book

@yehuihe why do you say that it is supposed to issue PUT requests? That doesn't really make sense, as PUT isn't even an option, there's only GET and POST for web forms. If you want to issue a POST request, make your form <form method="POST">. Without the method attribute, the form is going to submit as GET, which is the default.

@miguelgrinberg Finally I got it working. Thank you.
Could u offer a last tip on how to make navbar inherited from base.html disappear? Sometimes I would like a clean page without some component from base

Great! It worked. Thank you!


I'm sorry.

I am the author of the following issue: https://github.com/vshymanskyy/StandWithUkraine/issues/119
And I wanted to bring my apologies, as now, I understand how important it is to inform people about war.
Russia does a lot of war crimes everyday and kills innocent Ukrainian people. And the worst thing is that many people believe that it's not true.
I am so sorry, I hope you'll accept my apologies.

I think I speak for most of us, saying that it's not enough to just apologize. Actions speak louder than words and there's a long way for the public to stop denying the collective responsibility. That said, your personal apology is a small positive step to self-improvement and I can accept that you might be changing. I don't have any evidence supporting the opposite, nor am I enthusiastic about it, anyway.
Please, understand that we, Ukrainians, do not particularly care how you do things on your side of the border so long as you don't poison our lives. My personal experience with russians is predominantly horrible (you can find some of those online) so I try to avoid such interactions when possible, which also means not trying to out the "good ones". We have seen some statements and even small forms of support throughout the years from people not hiding their names, but the percentage of such cases compared to the rest is within the margin of error and is statistically insignificant.
So don't expect many people suddenly wanting to do anything with you just because you apologized for something bad you did. You seem to be moving towards the right path of redemption but, please, don't seek validation from the Ukrainians. For many, these interactions are truly painful, regardless of your further motives and behavior in the moment.
Sometimes, we see this tendency to shift to us the responsibility to "fix russia(ns)" or "educate" them. This is insensitive and not fair and best — we shouldn't be subjected to reliving things just because someone isn't willing to self-educate, nor do we have imperialist aspirations to fix what's not ours.
Good luck in your journey! I'm going to close this issue since there's no action items left, I think.

@webknjaz so that I have came to "Sorry" thread. Having been kind of wit thru my life, I should have mined probably some dark
hilarious, but may be not. It's a closed issue, but I do hope you'll receive a notification.
The reason is: I'd like to say sorry as well, without any seeking for validation from you or others, as per mentioned above, as I understand and agree with your point.
--
My big mistake was to judge you by very small sample of your responses which seemed to be insufficient, and I should have made my sample appropriate, at least: large enough.
The comment above and this https://github.com/vshymanskyy/StandWithUkraine/issues/2#issuecomment-1057918149
are self-explanatory, I want to express my sincere compassion in regard to at least this "My own home town is burning. I did see Russian Army invading Ukraine with my naked eyes" - your words from the aforementioned thread, following the same rule - with no expectations of anything in return.
It's a tragedy in which I cannot present myself uninvolved, inherently, because of my origin. Hence I was speaking out, to make a difference, but I don't see any further speaking out to be adding any value: I could not keep up with minimal viable ethics, while doing this, being triggered and mostly adding the noise, regardless I initially was coming out of best intentions.
--
When I personally think of Ukraine and the disaster which has been happening non-stop at least since 24.02.22, but actually since 2014 (as a remark: I've been to non-annexed Crimea around 04.01.14 which I adored a lot; and later on -  was deeply shocked by known events. So, you at least won't need to witness my "где вы были все эти 8 лет" shit).
apart from deeds which results can be assessed or at least acknowledged, I came to having realised that most appropriate thing to do (towards Ukrainians) is, well - silence.
I especially mean war related topics, as practically I have absolutely nothing to present to you, which would be both meaningful and would not cause unneeded emotional dialogs.
I haven't tried to "save the world", as everyone else with Ru passport except for a handful people, I didn't contribute enough to my country's situation for the disaster to be avoided, I'm not serving at ВСУ (opposite to just a few Russians selected unbelievably diligently to act as independent unit - AFAIK, no claims for root source of truth),  my help to refugees?
Well we contributed with humanitarian stuff to be delivered to Polish border, but it's nothing vs what I read here people have been doing, in order to help refugees.
I'm not "accepted" by significantly larger amount of people than say as of beginning of 2022?
Well it's a pity, I have lost a few very meaningful contacts, solely because it was too painful for people to continue communication, because of my origin; well, and what, seriously, I can accommodate and live with that.
So the only hope on this moment I have is that my response won't cause unambiguously negative feelings of yours, versus some other ones. It has been very low of me, man.
🇺🇦

I think I speak for most of us, saying that it's not enough to just apologize. Actions speak louder than words and there's a long way for the public to stop denying the collective responsibility. That said, your personal apology is a small positive step to self-improvement and I can accept that you might be changing. I don't have any evidence supporting the opposite, nor am I enthusiastic about it, anyway.
Please, understand that we, Ukrainians, do not particularly care how you do things on your side of the border so long as you don't poison our lives. My personal experience with russians is predominantly horrible (you can find some of those online) so I try to avoid such interactions when possible, which also means not trying to out the "good ones". We have seen some statements and even small forms of support throughout the years from people not hiding their names, but the percentage of such cases compared to the rest is within the margin of error and is statistically insignificant.
So don't expect many people suddenly wanting to do anything with you just because you apologized for something bad you did. You seem to be moving towards the right path of redemption but, please, don't seek validation from the Ukrainians. For many, these interactions are truly painful, regardless of your further motives and behavior in the moment.
Sometimes, we see this tendency to shift to us the responsibility to "fix russia(ns)" or "educate" them. This is insensitive and not fair and best — we shouldn't be subjected to reliving things just because someone isn't willing to self-educate, nor do we have imperialist aspirations to fix what's not ours.
Good luck in your journey! I'm going to close this issue since there's no action items left, I think.

I get it, yes.
Just felt bad because of my comment, and decided to make this apology thread.

Glory to Russia. It will free.


netlify deploy seems to upload to many files

Describe the bug
I'm deploying my website using the command line netlify deploy. The output seems weird in the number of files to upload.
Deploy path: /home/vsts/work/1/xxx
Deploying to main site URL...
- Hashing files...
✔ Finished hashing 3967 files
- CDN diffing files...
✔ CDN requesting 461 files
- Uploading 2024 files
✔ Finished uploading 2024 assets
- Waiting for deploy to go live...
✔ Deploy is live!

Logs:              https://app.netlify.com/sites/xxx/deploys/xxx
Unique Deploy URL: https://xxx.netlify.app
Website URL:       https://xxx

The CDN requests 461 files but the client uploads 2024 files. Is it normal?
Expected behavior
It only uploads the files requested by the CDN

Hi @meziantou, can you share a repo/folder structure/configuration?

Command line (PowerShell Core executed in Azure Pipelines):
netlify deploy --site=xxx '--dir=xxx' --message 'Build $(Build.BuildNumber) - $(Build.SourceVersion)' --prod --auth '$(Netlify_Auth)'

Folder structure:
netlify.toml
index.htm
... lots of htm and img files
... a few folders containing html, img, zip files

netlify.toml
[[redirects]]
  from = "https://xxx.netlify.app/*"
  to = "https://yyy/:splat"
  force = true
  status = 301

[[redirects]]
  from = "/*"
  to = "/404.htm"
  status = 404

[[headers]]
  for = "/*"
  [headers.values]
    strict-transport-security = "max-age=10368000"
    referrer-policy = "no-referrer-when-downgrade"
    x-content-type-options = "nosniff"
    x-frame-options = "DENY"
    x-permitted-cross-domain-policies = "none"
    x-xss-protection = "1; mode=block"
    Expect-CT = "max-age=0, enforce, report-uri=\"https://xxx.report-uri.com/r/d/ct/enforce\""

Do you need more info?

This might be related to a recent change aligning the CLI with how our buildbot ignore files to deploy https://github.com/netlify/cli/pull/1272
Can you also share the CLI version you're using? You can do it by running:
npx envinfo --system --binaries --npmPackages netlify-cli --npmGlobalPackages netlify-cli

I can't run this command line right now on my CI environment. Here's the info I already have:
<EMAIL_ADDRESS><EMAIL_ADDRESS>linux x64
<EMAIL_ADDRESS>
npm install -g netlify-cli:
/opt/hostedtoolcache/node/10.22.1/x64/bin/npm install -g netlify-cli

npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
><EMAIL_ADDRESS>preinstall /opt/hostedtoolcache/node/10.22.1/x64/lib/node_modules/netlify-cli/node_modules/yarn
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/netlify-cli/node_modules/rollup/node_modules/fsevents):
> :; (node ./preinstall.js > /dev/null 2>&1 || true)
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

/opt/hostedtoolcache/node/10.22.1/x64/bin/ntl -> /opt/hostedtoolcache/node/10.22.1/x64/lib/node_modules/netlify-cli/bin/run
/opt/hostedtoolcache/node/10.22.1/x64/bin/netlify -> /opt/hostedtoolcache/node/10.22.1/x64/lib/node_modules/netlify-cli/bin/run

><EMAIL_ADDRESS>postinstall /opt/hostedtoolcache/node/10.22.1/x64/lib/node_modules/netlify-cli
> node ./scripts/postinstall.js

Success! Netlify CLI has been installed!

Your device is now configured to use Netlify CLI to deploy and manage your Netlify sites.

Next steps:

  netlify init     Connect or create a Netlify site from current directory
  netlify deploy   Deploy the latest changes to your Netlify site

For more information on the CLI run netlify help
Or visit the docs at https://cli.netlify.com

+<EMAIL_ADDRESS>added 1204 packages from 585 contributors in 32.301s

Is it enough or does your command line provide additional useful information?

Closing as stale. Please re-open if needed


Experimental gradle: framework-test tweaks

Changes so the unit tests can be run.
GearVRf-DCO-1.0-Signed-off-by: Mihail Marinov<EMAIL_ADDRESS>

Will merge after lunch if there are no objections.


ParseInt returned for Invalid syntax

Proto file(s)
List protocol buffer definitions
Command line arguments / config
httpPort = "{{randomInt 0 1000}}"
Describe the bug
Error: strconv.ParseInt: parsing "{{randomInt 0 1000}}": invalid syntax
To Reproduce
Steps to reproduce the behavior:
Use "{{randomInt min max}}" in config file.
Expected behavior
No error returned.
Environment

OS: macOS 11.1
ghz: 0.94.0

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Hello can you please provide reproducible example with a sample proto file. This should work... here's an example using https://grpcb.in/:
ghz --insecure \
  --proto ./testdata/grpcbin.proto \
  --call grpcbin.GRPCBin.DummyUnary \
  -d '{"f_int32": "{{randomInt 0 10000}}"}' -c 1 -n 1 \
  --debug log.txt \
  grpcb.in:9000

If we inspect the log file we see:
{
    "level": "debug",
    "time": "2021-04-12T09:07:55.862189-03:00",
    "message": "Making request",
    "workerID": "g0c0",
    "call type": "unary",
    "call": "grpcbin.GRPCBin.DummyUnary",
    "input": [
      {
        "fInt32": 355
      }
    ],
    "metadata": {}
  }
  {
    "level": "debug",
    "time": "2021-04-12T09:07:56.22113-03:00",
    "message": "Received RPC Stats",
    "statsID": 0,
    "code": "OK",
    "error": null,
    "duration": 0.358828978,
    "stats": {
      "Client": true,
      "BeginTime": "2021-04-12T09:07:55.862296-03:00",
      "EndTime": "2021-04-12T09:07:56.221123-03:00",
      "Trailer": {},
      "Error": null
    }
  }
  {
    "level": "debug",
    "time": "2021-04-12T09:07:56.221456-03:00",
    "message": "Received response",
    "workerID": "g0c0",
    "call type": "unary",
    "call": "grpcbin.GRPCBin.DummyUnary",
    "input": "f_int32:355",
    "metadata": {},
    "response": "f_int32:355",
    "error": null
  }

Another example:
ghz --insecure \
  --proto ./testdata/grpcbin.proto \
  --call grpcbin.GRPCBin.DummyUnary \
  -d '{"f_int32": "{{randomInt 0 10000}}"}' -c 1 -n 10 \
  --debug log.txt \
  grpcb.in:9000

cat log.txt | grep "Received response" | jq '.input'
"f_int32:4417"
"f_int32:9452"
"f_int32:4887"
"f_int32:6800"
"f_int32:9718"
"f_int32:7707"
"f_int32:6293"
"f_int32:9908"
"f_int32:9854"
"f_int32:6720"

I found not the randomInt issue itself, but the randomString that some applications required lowercase and that function return lower + uppercase at most time.

And uuid also can't be applicated because the length that limited to 15.


How to find the symproxy.dll

As this document that I cant find the symproxy.dll,symsrv.dll and I never find any way to say where they are.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 94cca664-53c7-ee65-5975-3d7a8e56bb07
Version Independent ID: 2b130c88-3228-1ea1-c57a-20469cc6525b
Content: Installing SymProxy | Microsoft Docs
Content Source: windows-driver-docs-pr/debugger/installing-symproxy.md
Service: unspecified
GitHub Login: @DOMARS
Microsoft Alias: domars

This information is in the topic that describes where to locate symproxy.dll and symsrv.dll.
The SymProxy files are included in the Debuggers directory of the Windows Driver Kit. For example this is the location of the 64 bit files for Windows 10 kit. C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\symproxy.
To install SymProxy on the server, copy symproxy.dll, symsrv.dll and symproxy.man to %WINDIR%\system32\inetsrv.


error checking session configuration parameter

when checking for the presence of a parameter in the session configuration, checking in the variable $date the parameter "sameSite" comes in lower case
framework/web/Session.php
and the exception does not work
Additional info

Q
A

Yii version
2.0.33

PHP version
7.2

Operating system

Condition here Session.php#L401 should have lowercase key (samesite) for $data array.

yes. now it is not working

@schevgeny can you do a PR with the fix?


Two torque layers can be created

Import populated places table
Create a visualization
Assign heatmap (static) wizard
Add another layer (as an empty one)
In my case, I added some manual points as the table was empty.
Apply a Torque map. Below the wizard, you get the error "Sorry, but for the moment one Torque layer is allowed". The Torque layer is there!
Go to the heatmap layer, enable "animated".

Refresh the page:

Result:
https://team.cartodb.com/u/iriberri/viz/2c9ab0b8-c19b-11e4-82e0-0e018d66dc29/embed_map
cc @javisantana  @fdansv

This is specially important on the new-dashboard, I'm sure that with the new UI it can also be done.

My scenario was different, I had an existing vis with 5 layers (all points) but got same result:

I went layer by layer changing to Torque Heatmap each
I had no Chrome Dev tools open, and the UI didn't notify me any error on layers 2-5 change
Upon reload, the Vis was dead and I got the same message as the screenshot above

New dashboard procedure:

Select two tables with Torque applied
Create map

4. Click OK
5.

If you refresh, step 4 again.
Accessing the map through the dashboard also goes to 4.

I'm taking a look at this. It seems that we have two different issues here:

The editor is not correctly tracking and preventing multiple torque layers from being created.
The new dashboard is not preventing users from creating a map from multiple torque layers.

Right?
@iriberri, perhaps we can open a separate issue for (2.), since it will probably involve some UI changes. What do you think?

We have a couple different scenarios in which multiple torque layers can be associated to a visualization:

When the user adds a new layer to a map / visualization. In those cases, we're cloning the layer which is in position 1. We should ensure that the layer is converted to a simple visualization. I don't think this is currently working properly.
When the user selects "Torque" in the wizards panel. We now warn users that they can only have on torque layer, but multiple torque layers are actually there.

We're seeing that error message and no layers when we load the visualization because of this.


error handling

for this code: https://github.com/jmeas/finance-app/blob/master/server/api/util/catch-rejected-query.js
It is probably better to handle such errors in a more generic way, because error messages get refactored sometimes, which would break your code.
'use strict';

const generateErrors = require('../errors/generate-errors');
const QueryResultError = require('pg-promise').QueryResultError;

// Our generic `.catch()` for failed promises from pg-query
function catchRejectedQuery(res, e) {
    if (e instanceof QueryResultError) {
        res.status(404).send({
            // Unexpected amount of data returned (against the query expectation)

            // errors: [generateErrors.notFoundError()]
        });
    } else {
        res.status(500).send({
            errors: [generateErrors.genericError()]
        });
    }
}

module.exports = catchRejectedQuery;

Excellent suggestion, as usual, @vitaly-t . I've taken a note; this will be refactored soon!

I'm going to make another release later today, one that will bring error codes for type QueryResultError, in case someone wants to handle those errors on a more granular level.

yessss that would be amazing!

@jmeas Done & dusted, see release 3.6.0.

@jmeas now with 3.7.0 out, we all should be happy :)

Nice. I plan to upgrade this weekend.

Resolved in #147


Add CHMOD (wip)

Maybe we should add an option overwrite the functions with blank functions to prevent errors

@donno2048 for some reason, it keeps giving me this error: ValueError: too many values to unpack (expected 2)
Do you know how to fix it?

@donno2048 for some reason, it keeps giving me this error: ValueError: too many values to unpack (expected 2)
Do you know how to fix it?

Fixed

Is this look ok or are there other way to use chmod?

Is this look ok or are there other way to use chmod?

I don't think there are other ways to do so (other than subprocess.call(['chmod', ...]) and other things we had already eliminated)

Is this ready to merge then?

We need to update the documentation

We need to update the documentation

Does everything look ready to merge?

Yes


Containers in the CNM managed space can't be reached by loadbalancer, can't access internet

after the issues described in https://github.com/Azure/azure-container-networking/issues/78 i decided to go with a simple approach and use only one subnet. Everything works as expected, the only issue is that the container isn't reachable by the azure loadbalancer and also can't access the internet.
Docker hosts:

subnet <IP_ADDRESS>/24
docker-1: ip <IP_ADDRESS> (ips .11, .12, .13, .14) as secondary ips in azure portal
docker-2: ip <IP_ADDRESS> (ips .21, .22, .23, .24) as secondary ips in azure portal

What works:

Docker containers on both hosts can connect to each other.
Hosts on different subnets (e.g. <IP_ADDRESS>/24) can connect to the host ip (.201) and also to the containers
Load balancer can connect to the host ip (.201)
Docker container has connectivity to other subnets
DNS resolution inside docker container

What doesn't work:

Load balancer can't connect to services running on the container ips (.11,...)
Docker containers have no connectivity to the internet

@jodok For azure loadbalancer, you need to create load balancer such that it load balances traffic on the ip addresses you want. By default, the traffic is only forwarded to the primary ip address that is assigned to the VM interface.
For internet not being accessible from containers, it is a known behavior in our cnm plugin. We are working on getting a change out that will make internet connectivity work. I will provide an update in few days.

thanks @sharmasushant!
looking forward to the internet connectivity solution.
on the loadbalancer - i've created it to connect to the secondary ip addresses - but this didn't work either.

@sharmasushant
any news on the Internet connectivity solution? I am trying to connect to an azure database from a docker container connected to an azure vnet using the cnm plugin,
VNET connectivity is working - connectivity to other vnets too, but not to the public azure SQL-Server address/ip.

@psathh The native support in CNM for internet connectivity may take a little bit more time. However, if you associate a public-ip with your secondary CA, you will be able to reach internet from the container that gets that secondary IP. This may not be ideal, but may be something that you can use to unblock yourself.

@sharmasushant
thanks for the quick feedback and idea. At the moment I am starting the Container with 2 docker network interfaces - the default interface has internet connectivity and the azure vnet (via CNM) provides the connectivity to the VNET.
I have successfully tested connectivity to an azure database and the vnet with this, but still looking forward to an easier CNM-solution with native Support for Internet connectivity.

Closing stale issue. Can revisit later if anything changes.


[Bug] x.zero_grad() will result in "AttributeError: 'Tensor' object has no attribute 'zero_grad'"

In the # 105 of deeprobust/image/attack/deepfool.py. The code was change from zero_gradients(x) to x.zero_grad(), which will cause the "AttributeError: 'Tensor' object has no attribute 'zero_grad'" error in Pytorch 1.10, 1.9, 1.8, 1.7.

Thank you for reporting this bug to us! Which pytorch version are you using currently?

Originally zero_gradients(x) is included in torch.autograd.gradcheck. While it has been removed. So I add the original source code for zero_gradients(x) into deepfool.py. See if it works now.

Do you still preserve the mistake? Try x.grad.zero_(), I think it may work.


Update dependency: Aruba

When I test a Dredd hooks project (in this case the Ruby hooks)
I want to use a recent version of Aruba
So that its features are familiar to the Cucumber community
And it is easier for everyone to contribute
This PR is a follow up on https://github.com/apiaryio/dredd-hooks-ruby/pull/25
Fixes #26

Sorry @debug for the bunch of mentions that was not intended :S!

Note: I didn't entry anything in the CHANGELOG about this, since it doesn't affect the gem behaviour. Also, for the same reason, I don't plan to release this change on its own, I think it can wait for the next one.


Additional information in .env

Link to details on what and how to include information in a .env file
Clarify how to activate the FORWARDED_ALLOW_IPS environment variable for those situations where the proxy is not at the default <IP_ADDRESS> (most often this is required when running inside a Docker container.)

Codecov Report

Merging #1371 (2eb76d0) into main (265ea16) will decrease coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1371      +/-   ##
==========================================
- Coverage   48.15%   48.03%   -0.12%
==========================================
  Files         296      296
  Lines       16828    16828
==========================================
- Hits         8103     8083      -20
- Misses       8725     8745      +20

Impacted Files
Coverage Δ

lnbits/extensions/lnurlp/migrations.py
81.48% <0.00%> (-14.82%)
:arrow_down:

lnbits/db.py
81.20% <0.00%> (-10.07%)
:arrow_down:

lnbits/commands.py
73.61% <0.00%> (-1.39%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


example error

Hi
I run test_image.py and get the following error:

/home/aj/repo/DFace/dface/core/models.py:8: UserWarning: nn.init.xavier_uniform is now deprecated in favor of nn.init.xavier_uniform_.
nn.init.xavier_uniform(m.weight.data)
/home/aj/repo/DFace/dface/core/models.py:9: UserWarning: nn.init.constant is now deprecated in favor of nn.init.constant_.
nn.init.constant(m.bias, 0.1)
Traceback (most recent call last):
File "test_image.py", line 18, in
bboxs, landmarks = mtcnn_detector.detect_face(img)
File "/home/aj/repo/DFace/dface/core/detect.py", line 622, in detect_face
boxes, boxes_align = self.detect_rnet(img, boxes_align)
File "/home/aj/repo/DFace/dface/core/detect.py", line 391, in detect_rnet
tmp = np.zeros((tmph[i], tmpw[i], 3), dtype=np.uint8)
ValueError: negative dimensions are not allowed

I use pytorch .4 and python 3.5

@hajix please use python2.7 and the pytorch version less than 0.3, i did not test for python3 before.

@kuaikuaikim Hello, I have the same issue although I tried it using python 2.7.15 and pytorch 0.2.0+0b92e5c.

@kuaikuaikim  and @hajix :  I am running into the same issue.  Any update?  Thanks

It didn't work for me.
I went to detect.py and changed:
def detect_rnet(self, im, dets):
        im = im * 1/255

But I still get the error.
Where should I make the changes?
Thanks.

Recently, I also encountered the same problem. I compared it with the tensorflow version of mtnnn.I found that there is a problem in the preprocessing of the network. The image needs to be multiplied by 1/255, but Dface is not. When you test, go to view and confirm the input image tensor @kuaikuaikim @hajix

Did you run the demo successfully? I found the reg output by PNet are too large, which results this error. I try to add the 1/255 preprocess, but it didn't work. Do you have some advice? @kuaikuaikim @hanson-young

remove python2.7 pickle
redefine pickle as below:
import six; from six.moves import cPickle as pickle
and modify the code as below:
with open(det_boxs_file, "rb") as file:
det_boxes = pickle.Unpickler(file).load()


[stable/nginx-ingress] Missing ingressClass in case of internal load balancer.

Describe the bug
A clear and concise description of what the bug is.
Version of Helm and Kubernetes:
Which chart:
What happened:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:
I think there is some description missing in https://github.com/helm/charts/tree/master/stable/nginx-ingress#additional-internal-load-balancer section.
How should be annotated Ingress resources in case of internal nginx-controller?
Will it be: kubernetes.io/ingress.class: nginx-internal ?

It is totally up to you on what you want the ingress class name should be, there is no specific pattern in how the ingress class. But no two ingress controllers should have the same class name that will mess up the ingresses allocation.

What do You mean that is up to me? How, can I set internal ingress controller's class name? I can not find information about this in documentation...

I mean an ingress class name can be set to a value that is unique for every ingress controller, in this case you have to change the controller.ingressClass to a different value every time you deploy an ingress controller.
I see your point that the explanation about changing the class name is missing in the documentation of the Helm chart for the additional-internal-load-balancer. I can create a PR and add the content on how to use unique values for the controller.ingressClass key when using multiple ingresses.

Could You clarify this by some example?
Lets assume I installed Nginx Ingress Controller with the following values:
controller.service.internal.enabled=true and some cloud specific controller.service.internal.annotations.
After reading docs, I expect that two load balancers will be created.
For example, I have two Ingress resources, for two separate services:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-myservicea
  annotations:
    kubernetes.io/ingress.class: ?????
spec:
  rules:
  - host: myservicea.foo.org
    http:
      paths:
      - path: /
        backend:
          serviceName: myservicea
          servicePort: 80
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-myserviceb
  annotations:
    kubernetes.io/ingress.class: ?????
spec:
  rules:
  - host: myserviceb.foo.org
    http:
      paths:
      - path: /
        backend:
          serviceName: myserviceb
          servicePort: 80

First one should be external and the second one should be internal.
What should be done to provide that they will be connected by Nginx Ingress Controller to a two different load balancers?

As you pointed out in the above example, you have created two Nginx ingress controllers one is external and the other is internal. While creating these ingress controller, you need pass  a value for the controller.ingressClass key, by default it is set to nginx value. But if you decide you want to name those specific to your use case, you can add something similar to the following,

For external ingress controller controller.ingressClass=external-nginx
For Internal ingress controller controller.ingressClass=internal-nginx (You also need to add these values for internal ingress controller controller.service.internal.enabled=true and some cloud specific controller.service.internal.annotations)

Now create the external and internal ingress controllers with helm upgrade --install  <external/internal>-ingress-controller stable/nginx-ingress <values>... command
Lets talk about the ingress resources itself, as we created the ingress controllers with different class names, annotate the ingress resource, external ingress to kubernetes.io/ingress.class: external-nginx and internal ingress to kubernetes.io/ingress.class: internal-nginx
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-myservicea
  annotations:
    kubernetes.io/ingress.class: external-nginx
spec:
  rules:
  - host: myservicea.foo.org
    http:
      paths:
      - path: /
        backend:
          serviceName: myservicea
          servicePort: 80
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-myserviceb
  annotations:
    kubernetes.io/ingress.class: internal-nginx
spec:
  rules:
  - host: myserviceb.foo.org
    http:
      paths:
      - path: /
        backend:
          serviceName: myserviceb
          servicePort: 80

In the above code snippet, ingress-myservicea connects to the external Nginx ingress controller and the ingress-myserviceb connects to the internal Nginx ingress controller.
Let me know if you have any questions, Thanks!!

From what You are saying, two different helm releases are needed to deploy internal/external ingress controllers.
By reading description in README I thought that two ingress controllers internal and external are deployed in single helm release by setting to true this prop: controller.service.internal.enabled -> "Enables an (additional) internal load balancer".
So, actually I do not know why those internal values are present since we could simply set cloud specific annotations in controller.service.annotations values on those two different helm releases for ingress controllers in external and internal modes.

One Nginx ingress controller can create a single load balancer in cloud. you can create multiple ingress controllers in a cluster, which creates multiple load balancers in the cloud.
These Kubernetes Ingress resources uses the class concept to choose which ingress controller it needs to connect to. Following are the Nginx ingress controller concept rules,

Every Ingress Controller must only handle Ingress resources for its particular class.
Ingress resources should be annotated with the kubernetes.io/ingress.class annotation set to the value, which corresponds to the class of the Ingress Controller the user wants to use.
The default Ingress class of NGINX Ingress Controller is nginx, which means that it only handles Ingress resources with the kubernetes.io/ingress.class annotation set to nginx.
You can customize the class through the controller.ingressClass value in the Nginx Helm chart which will set the -ingress-class command-line argument in the ingress controller container while creating the Nginx ingress controller through Helm chart.

Again in your case, you want to create one for external and another for internal Nginx ingress controller. One to handle the external traffic and another for the internal. Again it depends on the use case, example use cases:
One external and one internal ingress controllers

external (controller.ingressClass=nginx-external)
internal (controller.ingressClass=nginx-internal, controller.service.internal.enabled=true, controller.service.internal.annotations)

Two external ingress controllers, if you don't want some pods to route the traffic with external-1 and use another ingress controller, in this case external-2

external-1 (controller.ingressClass=nginx-external-1)
external-2 (controller.ingressClass=nginx-external-2)

Three external ingress controllers, if you don't want some pods to route the traffic with external-1 and external-2 use another ingress controller, in this case external-3

external-1 (controller.ingressClass=nginx-external-1)
external-2 (controller.ingressClass=nginx-external-2)
external-3 (controller.ingressClass=nginx-external-3)

Three internal ingress controllers,

internal-1 (controller.ingressClass=nginx-internal-1, controller.service.internal.enabled=true, controller.service.internal.annotations)
internal-2 (controller.ingressClass=nginx-internal-2, controller.service.internal.enabled=true, controller.service.internal.annotations)
internal-3 (controller.ingressClass=nginx-internal-3, controller.service.internal.enabled=true, controller.service.internal.annotations)

Two external and one internal ingress controllers

external-1 (controller.ingressClass=nginx-external-1)
internal (controller.ingressClass=nginx-internal, controller.service.internal.enabled=true, controller.service.internal.annotations)
external-2 (controller.ingressClass=nginx-external-2)

One external and two internal ingress controllers

external (controller.ingressClass=nginx-external)
internal-1 (controller.ingressClass=nginx-internal-1, controller.service.internal.enabled=true, controller.service.internal.annotations)
internal-2 (controller.ingressClass=nginx-internal-2, controller.service.internal.enabled=true, controller.service.internal.annotations)

Either you can use a single ingress controller to route the traffic for all the applications (all microservice) in a cluster or use multiple ingress controller for multiple applications (each application with a bunch of microservices).

When running NGINX Ingress Controller, you have the following options with regards to which Ingress resources it handles,
Cluster-wide Ingress Controller (default): The Ingress Controller handles Ingress resources created in any namespace of the cluster. As NGINX is a high-performance load balancer capable of serving many applications at the same time, this option is used by default in the installation manifests and Helm chart.
Single-namespace Ingress Controller: You can configure the Ingress Controller to handle Ingress resources only from a particular namespace, which is controlled through the -watch-namespace command-line argument. This can be useful if you want to use different NGINX Ingress Controllers for different applications, both in terms of isolation and/or operation.
Ingress Controller for Specific Ingress Class: This option works in conjunction with either of the options above. You can further customize which Ingress resources are handled by the Ingress Controller by configuring the class of the Ingress Controller and using that class in your Ingress resources.

As You said "One Nginx ingress controller can create a single load balancer in cloud", so description of value: controller.service.internal.enabled is misleading, because we do not actually enable additional load balancer but install single ingress controller in internal load balancer 'mode'.

stable/nginx-ingress has been deprecated in favor of the upstream ingress-nginx repo. See https://github.com/helm/charts/pull/22823. Issues if still applicable can be re-opened there. Thanks 😊


Feature request - customize github actor

Right now the actor is always who triggered the action, but it would be nice if this could be customized (i.e. manually pick the PR author even if it is triggered from someone else merging it, etc). Related - an option to hide this if it's not relevant

👍 minor but good for cron scheduled jobs

This has been fixed in https://github.com/rtCamp/action-slack-notify/releases/tag/v2.1.1
You can use env var: SLACK_MSG_AUTHOR to specify GitHub username for the message.
Please use uses: rtCamp/action-slack-notify@v2 to use this feature.


How to save it on server instead download ?

Hi buddy . you did great job already.
I am new to this , can you please help me
how i can save the audio file directly to the server.
I know you will have batter solution guys.
Thanks.

@vwebtech Did you get the solution? If yes, please can you share it?

@HarshRookie You need to grab the stream, and pass it via an XHR post request to some Php file/script (if using php as server side language). I will put an example as i can if no body else done it. On a script i've prepare, it for convenience convert to the stereo wav in mono, so the resulting wav is suitable also to be passed to google speech api (for example).

Hey @axew3, Can you please share the example? If you have completed it.
Much Thanks

Yes of course. It is here:
https://github.com/axew3/monowaw-AudioRecorder
This is very basic, but working example, that of course need to be executed into a server where Php is running on.


gradslam_dataconfig.yaml

Hi, I want to express my appreciation for the exceptional work you've done. It's truly commendable.
I have a query regarding the availability of a configuration file. Could you kindly provide the configuration file or guide me on how to access it?
Thank you for your time and assistance.
/home/airlab/nkeetha/4d/data/Replica/gradslam_dataconfig.yaml

Hi, Thanks for trying out the code. This issue has now been fixed. We have updated the config files. You should now have all the resources required to run the code.


Devanagari fonts are not rendered properly

Devanagari typing fonts writes word according to the rules but the alphabet created by joining different alphabet is not correctly written. as ### ग्र is shown as ### ग् र  which is not wrong but it is not written like this.

@ShubhamD16
Can you provide flutter doctor -v and a complete code sample ?
What platform are you trying this language on ?
Are you trying to add it using flutter_localizations package or directly ?
Moreover, have you checked on native Android if you get same behavior or does it render properly on it ?
Thanks.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


[SteamBridge] Follow source changes

Steam changed there data fetching (now using a XHR), currencies are not customizable (now depending of IP requester) and some pictures has quiet different filename (substr() was a bad solution). The bridge didn't work anymore, then these commits make it work again and improve some parts.
The request needs an id and not a username anymore, easy to find with steamid.io or steamidfinder.com.
Steamid64 for test:<PHONE_NUMBER>1231205

@LogMANOriginal Fixed. Thank you for the review.

Merged. Thanks for keeping it updated :+1:


[Bridge] dose the _loading variable need to be locked in RCTBridgeModule?

The _loading variable may be used in main and background thread, so, dose it need to be locked?
RCTBatchedBridge
[loader loadBundleAtURL:bundleURL onComplete:^(NSError *error, NSString *script) {
	_loading = NO;
	// this is in background thread, ...
}

and RCTRootView in main thread
- (instancetype)initWithBridge:(RCTBridge *)bridge
                    moduleName:(NSString *)moduleName
{
  RCTAssertMainThread();
    if (!_bridge.batchedBridge.isLoading) {
      [self bundleFinishedLoading:_bridge.batchedBridge];
    }
}

I had a quick look through the code and this seems pretty unlikely to cause any issues - loadBundleAtURL would have to run incredibly quickly for any problems to arise, as far as I can tell.
But cc @tadeuzagallo just to be sure

@javache has moved it to happen on the same thread.


example project issue Android

First, thanks for this MapView component, I really love it!
I tried to run the example project, it's working perfect on iOS, but Android has some issues.
For "Tracking Position", not able to move map and zoom, but working fine on "Arbitary Views as Markers",
"Events" has the same problem.

Do you see any errors getting logged in the console?
Is it responding to pans/zooms at all or is it just static?  A gif might help if possible.
Also, which version of android and google play?

I think this might be related somehow to my issue, #28. As I experienced this when I first tried out the components, but then I switched to a different example and I didn't think about it. I'll try to replicate the issue and post the code along with the versions.

Okay, I was able to replicate this but with the EventListener.js example. You're unable to move the map around, zoom in, and all that. Using Genymotion Google Nexus 6 - 5.0.0 - API 21 and the source code was copy and pasted from the repository to ensure it was the same.

@shieer I'm assuming your issue got fixed in version 0.2.3. If not please let me know! Closing this issue now.

@lelandrichardson Thanks, 0.2.3 works well :)


Only compute mean once in layernorm

Small think I just noticed, the tf.keras layernorm was using tf.nn.moments to compute mean and variance together.
However, we are computing them separately with numpy here, meaning that we were actually computing the mean of the inputs twice. Should be more efficient to reuse the computed mean to compute the variance.

Test failure looks unrelated.