More facing -> direction

Auto rename facing to direction

Shouldn't we keep it as Facing on Blocks, at least?

yeah not all directions are facings but some still are.

In the context of blocks, it make more sense with face or side parameters instead of facing.


Add platform to device types, used as default when creating a device

Environment

Python version:  3.6.6
NetBox version: 2.4.4

Proposed Functionality
Add a platform field to device types. When creating a new device, use this platform field as default.
Usually platform is tied to the device type, less chance of getting this wrong.
Use Case
User creates a platform, for example "ciscosmb" with vendor Cisco.
User creates a device type, SG300-10, specifies default platform as ciscosmb
User creates multiple SG300-10 devices and all get devices automatically get the correct platform set.

Ok, I was only thinking of my use case, broadband network with thousand of switches and few servers. Agree #1364 is another solution that works well. Thanks!


Building autocfg won't generate the has_std cfg

For example, this build.rs:
fn main() {
    autocfg::new().emit_sysroot_crate("std");
}

with this main.rs:
#[cfg(has_std)]
fn print() {
    println!("Has std");
}

#[cfg(not(has_std))]
fn print() {
    println!("Doesn't have std");
}

fn main() {
    print();
}

Cargo.toml:
[build-dependencies.autocfg]
version = "1"

Will print "Doesn't have std" when compiled with cg_gcc.
Replacing the code for emit_ir in cg_gcc with:
            let out = cgcx.output_filenames.temp_path(OutputType::LlvmAssembly, module_name);
            std::fs::write(out, "").expect("write file");

doesn't seem enough to fix this issue.
I'm not sure how to get logs from autocfg.

Fixed by #437.


Fix issues with Contact Us page

I noticed the following issues on the contact form page and when submitting the form:

Incorrect link in text above the form - it goes to roadmap github. Should be a link to CDL website https://www.cdlib.org/
Adjust layout of text by moving the second sentence to the first line and remove extra space at end of hyperlink (screenshot below).
I submitted the contact form multiple times on prod and stage to compare. On stage it generates 2 emails in Freshdesk (should only generate 1). On prod the Recaptcha is missing, however, so this could be related?

It looks like its only sending out one email now based on the logs. Can you please confirm @stephaniesimms? The subject of my test email is "Test contact"

just one email came through to Freshdesk. closing.


d_dram.pb_type: update xml definition to solve slicem issue

This PR addresses issue https://github.com/SymbiFlow/symbiflow-arch-defs/issues/372. I have been dealing with the slicem issue and found a solution that involved the modification and addition of the dual port modes for the d_dram.pb_type.xml and d_dram.128.pb_type.xml. Even though DLUT should not support dual port mode, its addition let me successfully compile the chain_packing test.
The test was modified as follows:

LOGIC_DELAY: set to 4 because of https://github.com/SymbiFlow/vtr-verilog-to-routing/issues/8;
Addition of the 5th counter to include also the usage of SLICEMs.

VPR version was the following: https://github.com/antmicro/vtr-verilog-to-routing/commit/b99b9941697f37a36134711884bde4d211cbcba7
I believe that being there a discrepancy between the d_dram and the a/b/c_dram the modes cannot be selected accordingly, provoking the following error during the cluster_routing:

Differing modes for block.  Got LUTs previously and DRAMs for interconnect DO6.

IMHO the problem is not 100% fixed because there should be a mechanism during clustering in VPR to select the mode that can satisfy all the molecules, and this is not yet happening in the correct way.
I have also checked whether the tests in the xc7/tests/dram directory were working on HW as well.
A note about the dram tests: I have compared the one produced by master branch of arch-defs (https://github.com/SymbiFlow/symbiflow-arch-defs/commit/477f9aee350f75073c58b76a832ba2c766c44f45) and the ones produced with this PR. They work exactly the same on HW and they both present (IMO) an error in HW for what regards 2_32x1d and 4_32x1s tests.
Signed-off-by: Alessandro Comodi<EMAIL_ADDRESS>

This can be closed as https://github.com/SymbiFlow/vtr-verilog-to-routing/pull/29 solves the issue


C# Runtime check fails on compilation

Describe the bug
The CDKTF library does not build with 1.67.0 after upgrading from 1.65.0 in C#. There is an error thrown when running dotnet build --force --configuration Release as part of jsii-pacmak as part of jsii-srcmak.
Expected Behavior
The unchanged code should still build.
Current Behavior
[jsii-pacmak] [WARN] Exception occurred, not cleaning up /var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-packP6yknl
[jsii-pacmak] [WARN] dotnet failed
Error: All attempts failed. Last error: Command (dotnet build --force --configuration Release) failed with status 1:

/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/ListTerraformIterator.cs(33,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/ListTerraformIterator.cs(35,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/ListTerraformIterator.cs(37,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/ListTerraformIterator.cs(39,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/ListTerraformIterator.cs(41,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/TerraformIterator.cs(57,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/TerraformIterator.cs(59,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/TerraformIterator.cs(61,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/TerraformIterator.cs(63,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]
/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp/Cdktf/TerraformIterator.cs(65,26): error CS8120: The switch case is unreachable. It has already been handled by a previous case or it is impossible to match. [/private/var/folders/z_/v03l33d55fb57nrr3b1q03ch0000gq/T/npm-pack9gX9b6/HashiCorp.Cdktf/HashiCorp.Cdktf.csproj]

The code in question looks like this in C#:
public class ListTerraformIterator : HashiCorp.Cdktf.TerraformIterator
    {
        /// <remarks>
        /// Stability: Experimental
        /// </remarks>
        public ListTerraformIterator(object list): base(_MakeDeputyProps(list))
        {
        }

        [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
        private static DeputyProps _MakeDeputyProps(object list)
        {
            if (Amazon.JSII.Runtime.Configuration.RuntimeTypeChecking)
            {
                switch (list)
                {
                    case string[] cast_a33039:
                        break;
                    case HashiCorp.Cdktf.IResolvable cast_a33039:
                        break;
                    case double[] cast_a33039:
                        break;
                    case HashiCorp.Cdktf.ComplexList cast_a33039:
                        break;
                    case HashiCorp.Cdktf.StringMapList cast_a33039:
                        break;
                    case HashiCorp.Cdktf.NumberMapList cast_a33039:
                        break;
                    case HashiCorp.Cdktf.BooleanMapList cast_a33039:
                        break;
                    case HashiCorp.Cdktf.AnyMapList cast_a33039:
                        break;
                    case object[] cast_a33039:
                        for (var __idx_14fecf = 0 ; __idx_14fecf < cast_a33039.Length ; __idx_14fecf++)
                        {
                            switch (cast_a33039[__idx_14fecf])
                            {
                                case bool cast_30b700:
                                    break;
                                case HashiCorp.Cdktf.IResolvable cast_30b700:
                                    break;
                                case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_30b700:
                                    // Not enough information to type-check...
                                    break;
                                case null:
                                    throw new System.ArgumentException($"Expected argument {nameof(list)}[{__idx_14fecf}] to be one of: bool, {typeof(HashiCorp.Cdktf.IResolvable).FullName}; received null", nameof(list));
                                default:
                                    throw new System.ArgumentException($"Expected argument {nameof(list)}[{__idx_14fecf}] to be one of: bool, {typeof(HashiCorp.Cdktf.IResolvable).FullName}; received {cast_a33039[__idx_14fecf].GetType().FullName}", nameof(list));
                            }
                        }
                        break;
                    case Amazon.JSII.Runtime.Deputy.AnonymousObject cast_a33039:
                        // Not enough information to type-check...
                        break;
                    case null:
                        throw new System.ArgumentException($"Expected argument {nameof(list)} to be one of: string[], {typeof(HashiCorp.Cdktf.IResolvable).FullName}, double[], {typeof(HashiCorp.Cdktf.ComplexList).FullName}, {typeof(HashiCorp.Cdktf.StringMapList).FullName}, {typeof(HashiCorp.Cdktf.NumberMapList).FullName}, {typeof(HashiCorp.Cdktf.BooleanMapList).FullName}, {typeof(HashiCorp.Cdktf.AnyMapList).FullName}, object[]; received null", nameof(list));
                    default:
                        throw new System.ArgumentException($"Expected argument {nameof(list)} to be one of: string[], {typeof(HashiCorp.Cdktf.IResolvable).FullName}, double[], {typeof(HashiCorp.Cdktf.ComplexList).FullName}, {typeof(HashiCorp.Cdktf.StringMapList).FullName}, {typeof(HashiCorp.Cdktf.NumberMapList).FullName}, {typeof(HashiCorp.Cdktf.BooleanMapList).FullName}, {typeof(HashiCorp.Cdktf.AnyMapList).FullName}, object[]; received {list.GetType().FullName}", nameof(list));
                }
            }
            return new DeputyProps(new object?[]{list});
        }

The errors are thrown from case HashiCorp.Cdktf.ComplexList cast_a33039: to case HashiCorp.Cdktf.AnyMapList cast_a33039:.
Reproduction Steps
git clone git@github.com:hashicorp/terraform-cdk.git
cd terraform-cdk
git checkout automation/yarn-upgrade
yarn
yarn build
yarn package

Possible Solution
No response
Additional Information/Context
No response
SDK version used
1.57.0
Environment details (OS name and version, etc.)
OSX 12.6

Thanks for reporting. I can confirm that, contrary to the unwritten assumption, types in a union aren't necessarily unrelated... and this may cause us to emit unnecessary checks.
Should not be all too hard to either remove checks that are implied by others, or to re-order the clauses so that the implied clauses come first (I lean towards removing redundant clauses but am wondering if there'd be any associated risk/tradeoff)


saveMissing not working with version 1.7.8 but work with 1.7.4

Hello,
I made a basic test with saveMissing and unfortunately is not working with the last version 1.7.8 in npm. I downgrade the version like this npm install<EMAIL_ADDRESS>and now my example works perfectly with the option saveMissing : true.
Is that something changed with the 1.7.8 version and I do not declare it right my options?
var i18n = require('i18next');

var option = {
  resSetPath: 'locales/__lng__/__ns__.json',
  resGetPath : 'locales/__lng__/__ns__.json',
  saveMissing : true,
  lng : 'en',
  preload : ['en'],
  fallbackLng : 'en',
  debug :true,
  sendMissingTo: 'all'
};

i18n.init(option, function(){
  console.log(i18n.t('patate douce'));
});

thank you in advance

your configuration is correct. there's a bug i introduced on 1.7.8. will be fixed in https://github.com/i18next/i18next-node/commit/2fcc5ee79346e688b19d13089af6360d55ff02f6
will publish an updated version asap.

fixed in published v1.7.9


UI for Critical Loads and Grid Outage for all BTM Storage Configs

Goes with https://github.com/NREL/ssc/pull/618

Add Grid Outage UI form with grid_outage input

Reorganize Electric Load page for better usability

Improve labeling of critical load inputs, including option for time series resiliency calcs

UI conditional messaging to ensure grid outage is not enable without critical load, and check fuel cell configs for enabled battery

critical_load
grid_outage
run_resiliency_calcs
Result
UI Behavior

0
0
0
Normal SAM operation
Disable run_resiliency_calcs and set to zero.

0
0
1
Invalid, need critical load.
Not possible to get to this state in UI.

0
1
0
Invalid, need critical load.
Disable run_resiliency_calcs and set to zero.

0
1
1
Invalid, need critical load.
Disable run_resiliency_calcs and set to zero.

1
0
0
Critical load doesn't do anything.
Display a UI message to either specify a grid outage and/or set run_resiliency_calcs to 1.

1
0
1
Equivalent to SAM 2020.11.29: Outage is hypothetical, code starts outage in every time step and sees how long battery survives. Tells you how long could you survive an outage. Does not affect battery SOC.

1
1
0
Results only for outage time steps. Affects battery SOC.

1
1
1
Models a real outage that battery has to recover from and a hypothetical one. The resiliency metrics will run for every timestep with a hypothetical outage. During the real outage, they should match the behavior during that outage (in terms of hours of survival). Both during and after the outage, we'll see how many additional hours the system could have survived based on the final SOC.


Sep 14 deadline for Pangeo Hub deployment

Description
I am hoping to use the new 2i2c Pangeo hub (see #599) for my fall Research Computing course. My ~20 students will be logging in for the first time on Sept. 14. It would be really great if they could log in to the new hub, rather than the old one. Otherwise we will have to either

Migrate them all over mid semester
Keep operating the old one until December

This creates a de-facto deadline for the hub deployment.
"Must-haves" by this date

[ ] Functional production cluster
[ ] Login tied to GitHub team membership (#598, or suitable workaround)
[x] Recent pangeo-notebook image
[ ] Profile list that allows users to choose between different memory / CPU (https://github.com/2i2c-org/pilot-hubs/issues/599#issuecomment-911597920)

Other issues that we can resolve farther down the line
These are not needed for the class on Sept. 14 but are needed before we can shut down the old cluster.

[ ] Migration of existing home directories from https://us-central1-b.gcp.pangeo.io/ (https://github.com/2i2c-org/pilot-hubs/issues/599#issuecomment-911602516)
[ ] Access to requester-pays data (https://github.com/2i2c-org/pilot-hubs/issues/599#issuecomment-911617728)
[ ] Verification of Dask scaling, customized options, and performance (details at https://pangeo.io/cloud.html#dask)
[ ] Testing using Pangeo Gallery examples (http://gallery.pangeo.io/)

Value / benefit
I will personally benefit as the instructor of my course.
Pangeo users will benefit from the upgraded environment.
2i2c will benefit by wrapping up this project, freeing staff to focus on other things.
Implementation details
No response
Tasks to complete
No response
Updates
No response

@rabernat I've updated to latest notebook and added a set of CPU / RAM options.

dask-gateway is already setup and should work the same as pangeo. Let's try it out?

Echoing what @yuvipanda said, I think that the easiest thing to do for authenticating the students will be to manually add them to the Hub's user list via the Admin UI, by following these instructions.
You might also consider adding a more trusted student / TA as an "Admin" user on the hub, so that they can add students as well.
This should be pretty easy to do for just 20 students. It won't scale but I hope that it would be an acceptable stop-gap.
I think that means that the "only" thing that we need to do is make sure that the production hub setup works as expected.

I think that the easiest thing to do for authenticating the students will be to manually add them to the Hub's user list via the Admin UI

Yes I approve this suggestion and will do it. I will just need a mechanism to gather github usernames from the students, which I will figure out myself.

@rabernat you could probably add them to a GitHub Team "as if" we were using the proper teams-based authentication, and then just dump that list of usernames into the hub via the GitHub API (https://docs.github.com/en/rest/reference/teams#list-team-members)?
That way, when teams-based membership was possible you could just switch the auth setup and it would automatically work with the same group of people

update: I've created issues for each of the major items that @rabernat described above. I've also added them to a project here so that we don't lose track of them: https://github.com/orgs/2i2c-org/projects/16
Could we re-scope this issue to just the first task list, and remove the others that are "next up"? I want to make sure that we don't lose focus on the most important things here to prepare @rabernat for his class on September 14th.

Picking up #655 today

Thanks to everyone working on this. I appreciate your efforts so much! 🤗
I have played around with staging.pangeo.2i2c.cloud.

✅  I tested that I could create, scale up, and scale down Dask Gateway clusters (xref #656)
✅  I ran some examples from Pangeo Gallery and they worked great! (xref #654)

While I wouldn't close those issues just yet, I am satisfied that the hub works as needed to get my course started.
I would recommend to deploy the current config to production and then continue to iterate the other issues on staging.

@rabernat if you could let us know what days of the week and times your classes are, I'll try to avoid merges during class time. (While we can iterate on staging separately, anything that gets merged will be deployed to all hubs through CI - that's why I'm thinking about avoiding your classes.)

Tuesday / Thurdsay 10am-11:30am ET.
However, the students may be using the hub at any hour of the day.

@rabernat new hub is available at prod.pangeo.2i2c.cloud

Reopening until we fix #677

new hub is available at prod.pangeo.2i2c.cloud

🎉  One small nit: could we just use the DNS name pangeo.2i2c.cloud?

When we actually migrate, I was going to point the DNS the project is currently using anyway, so our *2i2c.cloud address won't matter. But we need a way to distinguish between the prod and staging hubs as traffic for both are going through the same load balancer, and therefore the same IP address. So the short answer is, I don't think we can do that/I'm not sure of a way to do that given how our infrastructure is setup.

@sgibson91 if we create a DNS A record for pangeo.2i2c.cloud pointing to the IP, it should 'just work', regardless of the entry on staging.pangeo.2i2c.cloud.

Ok, this is not a dealbreaker, but just from a technical perspective, my understanding was that staging.pangeo.2i2c.cloud and pangeo.2i2c.cloud are distinct, fully qualified DNS names, so it should be possible.

I'll see if I have time to get to it after firefighting #677

The dedicated node pools are now up and working, and the hub is available at https://pangeo.2i2c.cloud

At the pangeo meeting today @sgibson91's update reminded me that I have not yet shared the following message.
:tada: :tada: Everything is working great with the new hub! :tada: :tada:
Thanks so much for your work pushing this forward. I sincerely appreciate the efforts on a tight timeline.

wohoo! I indeed was wondering this haha. @sgibson91 thanks so much for all of your hard work :-)

Sorry for not posting earlier. Been swamped with actually teaching the class. Can you get the hub to do that part too? 😆

It would not surprise me if @sgibson91 knew how to write a GitHub action that both teaches your class and writes a grant for you 🙂


Obtain the remote broker IP address corresponding to the sending message through Sarama

Using Sarama to send messages to Kafka cluster asynchronously and receive the returned message from the successes channel, how can I know which blocker received the message and responded to it (yes, I want to know the broker IP address of receiving each message);
At present, when sending messages to Kafka cluster, some of the responses are very late, and some of the responses are very small. We need to know which brokers are slow in response or network delay. So we plan to type out the broker IP address of the response in the Success channel to locate the specific broker conveniently. But, we don't see that Sarama has this function. Please tell me how to solve it

Please tell me how to solve it

Using Sarama to send messages to Kafka cluster asynchronously and receive the returned message from the successes channel, how can I know which blocker received the message and responded to it (yes, I want to know the blocker IP address of receiving each message);
At present, when sending messages to Kafka cluster, some of the responses are very late, and some of the responses are very small. We need to know which blockers are slow in response or network delay. So we plan to type out the blocker IP address of the response in the Success channel to locate the specific blocker conveniently. But we don't see that Sarama has this function. Please tell me how to solve it

请问这个问题解决了没

No,look at the Sarama source code, can't get the remote broker IP from the responses that from the success channel normally. Maybe you can set the timeout time a little bit smaller, so that requests that haven't responded for more than a little time will report an error（get error info from ERROR channel）. In this way, you can see which broker you are interacting with！

如果是把超时时间调小才能获取到ip，那就没有意义了。我希望获取到broker ip，然后进行上报。

Closing as assumed to be fixed by the above comment


feat(Typography): Expose Typography variables in JS and add font family typesets

Title
PR Checklist

[ ] Related to Abstract designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

Description

Merging your changes
When you are ready to merge to master and publish your changes, use the "squash and merge" button in GitHub, and follow the PR Title Guide to format your PR title and write your PR merge description.
IMPORTANT: If your PR contains breaking changes, please remember to follow the instructions for breaking changes!

📬Published Alpha Packages:@codecademy/brand-components@1.6.1-alpha.16c14e.0@codecademy/gamut-styles@3.3.2-alpha.16c14e.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://5ebc3f8d4fea0be2422ef7e1--codecademy-styleguide.netlify.appDeploy Logs


Out of date grahpics

Step 3 under Create a service connection is an outdated graphic.

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

ID: 72b90dd0-49f9-4ed4-3010-9a64dde6ae5a
Version Independent ID: 6e679d50-4e94-eee3-8793-af884cc909ca
Content: Service connections in Azure Pipelines and Team Foundation Server - Azure Pipelines
Content Source: docs/pipelines/library/service-endpoints.md
Product: devops
Technology: devops-cicd
GitHub Login: @alexhomer1
Microsoft Alias: ahomer

@bbob55 I was reviewing this issue, and I just verified that this dialog is the most current version displayed on Azure DevOps Services. If you are on an earlier TFS version, yours may be different, and there are also differences based on your authentication, and there is also a full version of the service connection dialog, so that may explain the differences as well. I will add a note to clear this up.
Thank you for your feedback.


Integrate real AIS data

"""
The API instructions PDF was sent by Richard (check email). If you can read over it and implement it, that'd be great! Any technical questions you can directly ask the exactEarth folks (Richard and Zach)
"""
From Simon

exactAIS Geospatial Web Services Specification Document v. 3.1.pdf

From the PDF:
[The URL below] provides a JSON output for 10 vessels within a specific area of interest from the
latest vessel information data set.
https://services.exactearth.com/gws/wms?service=WFS&version=1.1.0&request=GetFeature&typeName=exactAIS:LVI&outputFo
rmat=json&maxFeatures=10&filter=<Filter
xmlns:gml="http://www.opengis.net/gml"><Intersects><PropertyName>position</PropertyName><gml:Polygon
xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326"><gml:exterior><gml:LinearRing><gml:posList>-55 -8 -55 8 55 8
55 -8 -55 -8</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></Intersects></Filter>

The posList consists of 5 coordinate tuples, where the first and last must be coincident

Esri ArcMap 10.3.1 - WMS Setup Guide.pdf
exactAIS Geospatial Web Services Specification Document v. 3.1.pdf
Quantum GIS - Setup Guide.pdf

Username, Password, GWS Token information is on Slack #general-software channel

Implementation completed by @haakov in #225 :)
roslaunch local_pathfinding all.launch AIS_token:=<token> to use exactAIS or just roslaunch local_pathfinding all.launch to run with default


(MODULES-1834) Be less strict when changing template1 encoding

We currently use: UTF8 != UTF-8
We should instead use: pg_char_to_encoding(UTF8) == pg_char_to_encoding(UTF-8)

:+1: from me!

cool!

Thanks @sathieu !


Create conf.py

Subject: Create conf.py
Feature or Bugfix

Feature

Purpose

Build document in RTD

Detail

None

Relates

None

As said in https://github.com/readthedocs/readthedocs.org/issues/1951#issuecomment-486453150, it is hard to fix X-server error in RTD. I will upload pages to gh-pages.

https://github.com/readthedocs/readthedocs.org/issues/7365


The connection to the server openshift-master.rdocloud:8443 was refused - did you specify the right host or port?

Immediately after I solved #5 and ansible-playbook playbooks/deploy_cluster.yml had (finally) completed successfully, an e.g. oc get nodes failed with:
The connection to the server openshift-master.rdocloud:8443 was refused - did you specify the right host or port?

I'm not entirely sure what was missing:
[centos@openshift-master ~]$ ps auxwww | grep 8443
1000220+  16573  0.9  0.2<PHONE_NUMBER>2 ?        Ssl  20:35   0:01 /usr/bin/template-service-broker start template-service-broker --secure-port=8443 --audit-log-path=- --tls-cert-file=/var/serving-cert/tls.crt --tls-private-key-file=/var/serving-cert/tls.key --v=0 --config=/var/apiserver-config/apiserver-config.yaml

After a simple sudo reboot now, the master magically worked!!! (See output in #5.)

For a moment I thought that it comes and goes, and I wasn't dreaming, see below; but it's seems stable now....
[centos@openshift-master ~]$ oc get nodes
NAME                        STATUS    ROLES           AGE       VERSION
openshift-master.rdocloud   Ready     master          2d        v1.11.0+d4cacc0
openshift-node1.rdocloud    Ready     compute         2d        v1.11.0+d4cacc0
openshift-node2.rdocloud    Ready     compute,infra   2d        v1.11.0+d4cacc0

[centos@openshift-master ~]$ logout
Connection to <IP_ADDRESS> closed.

[centos@openshift-ansible ~]$ ssh <IP_ADDRESS>
Last login: Wed Dec 12 20:34:40 2018 from host-192-168-0-10.rdocloud

[centos@openshift-master ~]$ oc get nodes
The connection to the server openshift-master.rdocloud:8443 was refused - did you specify the right host or port?

For a moment I thought that it comes and goes, and I wasn't dreaming

nope, I wasn't; this keeps happening - somehow my apiserver seems to keep crashing... :sob:
How does one debug this?


bitstream generation is not permitted

When I tried to generate bitstream, i got error like this:
[Common 17-69] Command failed: This design contains one or more cells for which bitstream generation is not permitted:
bd_wrapper_i/bd_i/Interfaces/cmac_wrapper_0/inst/cmac_connector_i/cmac_wrapper_i/cmac_0/inst/i_cmac_uplus_0_top (<encrypted cellview>)
If a new IP Core license was added, in order for the new license to be picked up, the current netlist needs to be updated by resetting and re-generating the IP output products before bitstream generation.

I tried the operation suggested by  official：
https://www.xilinx.com/support/answers/58758.html
https://www.xilinx.com/support/answers/57264.html
1.Add  ip repository to settings

2.reset the output products of a block design
But error still, how can i fix this?

Hi @Tyux, it seems that you generated the IP with an older Vivado version and are trying to implement the project with a newer Vivado version.
My recommendation is to start from scratch the build, clone repo again, and only use the supported Vivado version, 2018.3.

I changed my license and then issue solved. Thank you @mariodruiz .


Automated cherry pick of #9243: fix(region): azure reset windows os password

Cherry pick of #9243 on release/3.6.
#9243: fix(region): azure reset windows os password

Codecov Report

Merging #9244 (81b31b2) into release/3.6 (b9d30c0) will increase coverage by 10.98%.
The diff coverage is 8.77%.

@@               Coverage Diff                @@
##           release/3.6    #9244       +/-   ##
================================================
+ Coverage         5.86%   16.85%   +10.98%
================================================
  Files              828       85      -743
  Lines           129133     8900   -120233
================================================
- Hits              7577     1500     -6077
+ Misses          120876     7268   -113608
+ Partials           680      132      -548

Flag
Coverage Δ

aFlag
16.85% <8.77%> (+10.98%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/monitor/alerting/conditions/nodataquery.go
0.99% <0.00%> (ø)

pkg/monitor/alerting/conditions/suggestquery.go
2.00% <2.00%> (ø)

pkg/mcclient/modules/monitor/suggestsysrule.go
100.00% <100.00%> (ø)

pkg/compute/models/hostschedtags.go

pkg/multicloud/aws/image.go

pkg/cloudcommon/db/sharablevirtual.go

pkg/compute/models/inter_vpc_network.go

pkg/keystone/models/groups.go

pkg/multicloud/esxi/monitor.go

... and 670 more

Continue to review full report at Codecov.

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


Test: Detach and attach terminal sessions

Refs: #118276

[x] macOS @egamma
[x] linux @TylerLeonhardt
[ ] Windows @DavidKutu

Complexity: 3
Authors: @Tyriar, @meganrogge
Create Issue

Previously we've had the feature to attach to remote terminal session for example in a codespace and a window was closed. This iteration we implemented manual detaching from a session and support in local windows via the command palette.

Test that it's possible to detach and reattach terminal processes in both local and remote and that you can detach in one window and reattach the terminal in a different window.

Works on windows, both locally and remotely. Tyler's issue doesn't seem to repro on Windows.


API to efficiently draw a visual to an externally provided framebuffer

Is your feature request related to a problem? Please describe.
Creating this issue out from this discussion: https://github.com/AvaloniaUI/Avalonia/discussions/11593#discussioncomment-6090317
There are use cases for drawing an Avalonia visual to a framebuffer or exposing as a Skia image, e.g. for graphics applications.
Describe the solution you'd like
A way to (somewhat) efficiently draw a visual to an externally provided framebuffer.
In WPF this could be done by RenderTargetBitmap - https://stackoverflow.com/a/5189179
and then something like targetBitmap.CopyPixels(new Int32Rect(0, 0, xres, yres), bufferPtr, bufferSize, stride); to copy the pixels into a buffer.
Describe alternatives you've considered
Prior to Avalonia 11.0 we could use hacks to extract the SKImage from an Avalonia visual.
e.g.
RenderTargetBitmap rtb = ... init ...;
rtb.Render(this.Child);

IRenderTargetBitmapImpl item = rtb.PlatformImpl.Item;
IDrawingContextImpl drawingContextImpl = item.CreateDrawingContext();
var leaseFeature = drawingContextImpl.GetFeature<ISkiaSharpApiLeaseFeature>();
using var lease = leaseFeature.Lease();
using SKImage skImage = lease.SkSurface.Snapshot();
destinationCanvas.DrawImage(skImage, new SKPoint(0, 0));

or in Avalonia 0.x we could simply do
ImmediateRenderer.Render(visual, context);

As of Avalonia 11.0 these are no longer possible as the interfaces are now internal, and there is no alternative way to structure this.
Additional context
Related discussion:

https://github.com/AvaloniaUI/Avalonia/discussions/10386

Example code which need this functionality and can't be updated to Avalonia 11.0

https://github.com/Oaz/AvaloniaUI.PrintToPDF/blob/c27d3f052d580c63e49ad241cc0e9143c0694ae5/src/Print.cs#L23
https://github.com/navhaxs/AvaloniaNDI/blob/d5340a2a1d05a0960b50d302c7f29c128e0e4d64/AvaloniaNDI/NDISendContainer.cs#L577C13-L577C13

I also have need of this for the use case of rendering a UI using Avalonia which is then sent to a USB device.

If I am understanding correctly, RenderTargetBitmap.CopyPixels has been implemented in the latest Avalonia 11.x release (see https://github.com/AvaloniaUI/Avalonia/issues/12329) which I believe actually solves this issue?
I just tried out CopyPixels and it is working in the latest Avalonia 11.0.2 🎉 - for example see
https://github.com/navhaxs/AvaloniaNDI/commit/e6706bd4422308a99ce2817f3ba425f4ade49fb6
@pixsperdavid would I be correct in saying this issue has a resolution?
Been getting my head around Skia and Avalonia, it's been lots of learning 😅 But also very cool being able to start building apps using this awesome framework!

@navhaxs  Looks good, I will test and verify with my use case!

I also saw DrawingContextHelper.RenderAsync(...) was recently added which "Renders Avalonia visual into a SKCanvas instance."
https://github.com/AvaloniaUI/Avalonia/blob/master/src/Skia/Avalonia.Skia/Helpers/DrawingContextHelper.cs#L14
Going to close this issue. Thanks for your awesome work Avalonia team! ❤


Pass props to slides

How would I pass an isActive slide prop to a component inside of a slide?

Should be possible now in 6.1.0 http://localhost:3000/react/#swiperslide-render-function


[WIP] Upgrade examples to terraform-google-vm and add test automation

[x] Upgrade module to work with terraform-google-modules/terraform-google-vm
[x] Upgrade simple example to use managed instance group in terraform-google-modules/terraform-google-vm
[x] Replace existing test automation with new test automation using kitchen terraform
[x] Write a test to hit endpoint created
[x] Review README/documentation (having trouble getting make generate_docs to work correctly)

@morgante at long last, here's the (significant) PR that includes the change to use the new terraform-google-vm managed instance group examples. This included some refactor of the module in addition to adding the example. I also added the test automation that we have on the other newer modules, with a simple test for now that checks for the presence of the forwarding rule. We might want to include a test that checks for the presence of the backend.
I'll squash commits on an approval
closes #12
closes #14

Requested changes I think should be resolved, and I opened a few additional issues where there are external dependencies. Added an additional test for presence of load balancer endpoint that gets created. Also updated README documentation to the same standards as some of the other CFT modules.
I'll touch base separately about where I am on adding CI.

The integration test I had to test the presence of the load balancer by hitting the endpoint fails for what it seems like the failure of the docker build container to access the internet. The basic functionality of the load balancer in GCP tests for the presence of the backend, but I think to complete an integration test we'd want to test the presence of the front end and forwarding rules.
Are we doing any tests for Internet-facing endpoints like this anywhere else?
control "http" do
  title "http"
    describe http("http://#{attribute("load_balancer_ip")}") do
      its('status') { should eq 200 }
  end
end

Step #3 - "verify":   Ã—  http: http
Step #3 - "verify":      Ã—  HTTP GET on http://<IP_ADDRESS> status
Step #3 - "verify":      execution expired

@zefdelgadillo We had some full integration tests like what you're describing in other modules, but they've since (to my knowledge, entirely) been removed or commented out because they were "flappy" -- even when they worked, there was no way to guarantee they worked consistently.

@morgante or @Jberlinsky thank you both again for the reviews. would like to get a final once over and an approval if all looks good


keep interface of build_model in line with spec

probably a nitpick, but when building a model I ran into an unexpected type for the mandatory cite field/argument to build_model:
https://github.com/bioimage-io/core-bioimage-io-python/blob/902262bdce60a4c905f7b4a3b5646dc9ae68122f/bioimageio/core/build_spec/build_model.py#L528
relevant code in spec
the spec states that this should be a list of dicts, but the build_model expects a single dict.
Otherwise, awesome how convenient building a model now is!

Yes, I agree that the interface for build_model needs some clean up to keep it in line with the spec. I have some other things to fix first and then will tackle it. Will ping you once I have time to work on it for feedback.

I came across with this one too, the cite field for build_model should be a list of dict (with text, url, doi).
Also I think there are some misunderstanding on what the citations should be like.
In the notebook example in bioimage.core, I saw:
cite = {cite_entry.text: cite_entry.url for cite_entry in model_resource.cite}
Which suggests that dict of url indexed by the text, and I also saw the model uploaded by @constantinpape with something like this rendered in the model info page:

training library [link]
architecture [link]
segmentation algorithm [link]
data [link]

While this is not an issue by itself, the intended use of the text field to render something like this (instead of the type of citations such as training library):

Falk, T., Mai, D., Bensch, R. et al. U-Net: deep learning for cell counting, detection, and morphometry. Nat Methods 16, 67–70 (2019). [link]

So the entire document will read like a proper referenced documentation and the user won't need to click on the link to see the actual paper.

I came across with this one too, the cite field for build_model should be a list of dict (with text, url, doi).

Yes I agree. Similar issue is true for pre/post-processing. I will have a look into this next week.

training library [link]

architecture [link]

segmentation algorithm [link]

data [link]

While this is not an issue by itself, the intended use of the text field to render something like this (instead of the type of citations such as training library):
* Falk, T., Mai, D., Bensch, R. et al. U-Net: deep learning for cell counting, detection, and morphometry. Nat Methods 16, 67–70 (2019). [[link]](https://doi.org/10.1038/s41592-018-0261-2)

I don't see much value in writing out the full citation, but do see much value in giving context to the citations.
If you just give the bullet lists to the papers it will be very hard to understand why exactly a given paper is cited.
And users can click on links to get the exact citation info; if one uses dois these are very stable.
Anyway, that's an unrelated style issue.


Waypoint Generate random whole numbers

Waypoint: Generate Random Whole Numbers within a Range
var min = 0;
var max = 9;
function myFunction() {
return Math.random();
Math.floor(Math.random() * (max - min + 1)) + min
}
I need to generate an integer not a decimal.

@europaradise thanks for posting this issue!
Actually you're returning Math.random(); and not the correct value so you're getting decimals instead of whole numbers.
Closing this issue. Feel free to reopen if you still experience problems.
If you have problems with your code, please, post a message in our Gitter chat room first, thanks.

Please review the Guidelines for Contributing, thank you!.


google-github-actions/auth@v1 works but v2 doesn't

TL;DR
google-github-actions/auth@v1 works but v2 fails with:
"{"error":"invalid_target","error_description":"The target service indicated by the \"audience\" parameters is invalid. This might either be because the pool or provider is disabled or deleted or because it doesn't exist."}

Expected behavior
Run google-github-actions/auth@v2
Created credentials file at "/home/runner/work/blah/blah/gha-creds-74181985507fbc95.json"
Observed behavior
Error: google-github-actions/auth failed with: retry function failed after 4 attempts: failed to generate Google Cloud federated token for //iam.googleapis.com/projects/388216187562/locations/global/workloadIdentityPools/identity-pool/providers/identity-pool-gh-provider: {"error":"invalid_target","error_description":"The target service indicated by the \"audience\" parameters is invalid. This might either be because the pool or provider is disabled or deleted or because it doesn't exist."}

Action YAML
name: Backup snapshot
on:
  schedule:
    # Every day at 4:20 AM AEST
    - cron: "20 18 * * *"
  push:
    branches:
      - development
      - main
    paths:
      - .github/workflows/backup-snapshot.yml

jobs:
  backup:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        project:

          - projectd
          - projectc
          - projectb
          #- projecta
          #- projectc-v2
          - projectb-v2

        exclude:
          # Exclude backing up staging and dev projects when running on Org1
          # organization. This will work because the excluded project will evaluate
          # to empty string branch expression evaluates to `false`
          - project: ${{ github.repository_owner == 'Org1' && 'projectc' || '' }}
          - project: ${{ github.repository_owner == 'Org1' && 'projectb' || '' }}

          # Exclude backing up production project when running on Org1
          # organization. This will work because the excluded project will evaluate
          # to empty string branch expression evaluates to `false`
          - project: ${{ github.repository_owner == 'OrgA' && 'projectd' || '' }}
    permissions:
      contents: 'read'
      id-token: 'write'

    steps:

      # Need to check out code to get firebase config
      - uses: actions/checkout@v3

      - uses: actions/setup-node@v3
        with:
          node-version: 18
          cache: 'yarn'
          cache-dependency-path: |
            functions/yarn.lock
            functions-ts/yarn.lock
            web-app/yarn.lock

      # yarn global add firebase-tools@latest
      # Changing to last version that worked
      - name: Install global NPM tools
        run: |
          yarn global add<EMAIL_ADDRESS>          firebase --version

      ###############
      ## START: PROJECT SPECIFICS

      - if: matrix.project == 'projecta'
        run: |
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo "WORKLOAD_IDENTITY_PROVIDER=projects/674656007155/locations/global/workloadIdentityPools/identity-pool/providers/identity-pool-gh-provider" >> $GITHUB_ENV

      - if: matrix.project == 'projectd'
        run: |
          echo "SA_FIREBASE=${{ secrets.FIREBASE_SA_DEFIPLATFORM }}" >> $GITHUB_ENV
          echo "SA_GCP_BACKUP=${{ secrets.BACKUP_SA_DEFIPLATFORM }}" >> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo "WORKLOAD_IDENTITY_PROVIDER=projects/857213089688/locations/global/workloadIdentityPools/identity-pool/providers/identity-pool-gh-provider" >> $GITHUB_ENV

      - if: matrix.project == 'projectc-v2'
        run: |
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo "WORKLOAD_IDENTITY_PROVIDER=projects/398450691122/locations/global/workloadIdentityPools/identity-pool/providers/identity-pool-gh-provider" >> $GITHUB_ENV

      - if: matrix.project == 'projectc'
        run: |
          echo "SA_FIREBASE=${{ secrets.FIREBASE_SA_projectc }}" >> $GITHUB_ENV
          echo "SA_GCP_BACKUP=${{ secrets.BACKUP_SA_projectc }}" >> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo "WORKLOAD_IDENTITY_PROVIDER=projects/320854465469/locations/global/workloadIdentityPools/identity-pool/providers/identity-pool-gh-provider" >> $GITHUB_ENV

      - if: matrix.project == 'defiplatformsandbox'
        run: |
          echo "SA_FIREBASE=${{ secrets.FIREBASE_SA_projectc }}" >> $GITHUB_ENV
          echo "SA_GCP_BACKUP=${{ secrets.BACKUP_SA_projectc }}" >> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo "WORKLOAD_IDENTITY_PROVIDER=projects/282426236812/locations/global/workloadIdentityPools/identity-pool/providers/identity-pool-gh-provider" >> $GITHUB_ENV

      - if: matrix.project == 'projectb'
        run: |
          echo "SA_FIREBASE=${{ secrets.FIREBASE_SA_projectb }}" >> $GITHUB_ENV
          echo "SA_GCP_BACKUP=${{ secrets.BACKUP_SA_projectb }}" >> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo "WORKLOAD_IDENTITY_PROVIDER=projects/140165331335/locations/global/workloadIdentityPools/identity-pool/providers/identity-pool-gh-provider" >> $GITHUB_ENV

      - if: matrix.project == 'projectb-v2'
        run: |
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo<EMAIL_ADDRESS>>> $GITHUB_ENV
          echo "WORKLOAD_IDENTITY_PROVIDER=projects/388216187562/locations/global/workloadIdentityPools/identity-pool/providers/identity-pool-gh-provider" >> $GITHUB_ENV

      ## END: PROJECT SPECIFICS
      #########################
      - id: auth
        name: Authenticate to Google Cloud
        uses: google-github-actions/auth@v2
        with:
          create_credentials_file: 'true'
          workload_identity_provider: ${{ env.WORKLOAD_IDENTITY_PROVIDER }}
          service_account: ${{ env.FIREBASE_SERVICE_ACCOUNT }}
          project_id: ${{ matrix.project }}

      - name: Set up gcloud Cloud SDK environment
        uses: google-github-actions/setup-gcloud@v2
        with:
          version: '>= 363.0.0'
          project_id: ${{ matrix.project }}
          #service_account_key: ${{ env.GOOGLE_APPLICATION_CREDENTIALS }}

      - name: Show configuration
        run: gcloud config list

      # The variable `SA_FIREBASE` must be a base64 encoded string
      # of the service account JSON to avoid problems with quote escaping and
      # conversion of '\n' characters generating invalid JSON
      #- name: Set service account for Firebase CLI
      #  run: |
      #    echo "GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/service_account.json" >> $GITHUB_ENV
      #    echo ${{ env.SA_FIREBASE }} | base64 -d - > service_account.json

      ##########################################################################
      ## BACKUP FIRESTORE

      # Turns out that rm -rf fails with error if there are no files
      # Which is inconvenient since sometimes if a job fails, we end up
      # in states where we can't re-run a job if it has previously failed.
      - name: Add dummy file to bucket so that rm -rf doesn't fail
        run: |
          touch dummy.txt
          gsutil -m cp dummy.txt gs://${{ matrix.project }}-backups/firestore/__snapshot__/

      - name: Remove previous snapshot backup
        run: gsutil -m rm -rfa gs://${{ matrix.project }}-backups/firestore/__snapshot__

      - name: Export Firestore to Cloud Storage bucket
        run: gcloud firestore export gs://${{ matrix.project }}-backups/firestore/__snapshot__ --async

      ##########################################################################
      ## BACKUP AUTH
      - run: firebase --debug use ${{ matrix.project }}

      - run: firebase auth:export __snapshot__.json

#      - id: authBkp
#        name: Authenticate to Google Cloud with Backup SA
#        uses: google-github-actions/auth@v1
#        with:
#          create_credentials_file: 'true'
#          workload_identity_provider: ${{ env.WORKLOAD_IDENTITY_PROVIDER }}
#          service_account: ${{ env.BACKUP_SERVICE_ACCOUNT }}
#          project_id: ${{ matrix.project }}

      - name: Upload to Cloud Storage Bucket
        run: gsutil -m cp __snapshot__.json gs://${{ matrix.project }}-backups/auth/__snapshot__.json

      ##########################################################################
      ## BACKUP RTDB

      - name: Download RTDB data
        run: firebase database:get --output __snapshot__.json /

      # Make sure your backup bucket is named: {project-id}-backups
      - name: Upload to Cloud Storage Bucket
        run: gsutil -m cp __snapshot__.json gs://${{ matrix.project }}-backups/rtdb/__snapshot__.json

      ##########################################################################
      ## BACKUP STORAGE
      ##
      ## Make sure to adjust this step if you are having more than just the
      ## default bucket named: {project-id}.appspot.com

      # Using rsync for delta updates of the backup
      # https://cloud.google.com/storage/docs/gsutil/commands/rsync
      - name: Sync storage bucket with backup
        run: >-
          gsutil -m
          rsync -r -d
          gs://${{ matrix.project }}.appspot.com
          gs://${{ matrix.project }}-backups/storage/__snapshot__/${{ matrix.bucket }}/

Log output
Error: google-github-actions/auth failed with: retry function failed after 4 attempts: failed to generate Google Cloud federated token for //iam.googleapis.com/projects/388216087510/locations/global/workloadIdentityPools/fame-identity-pool/providers/-fame-identity-pool-gh-provider: {"error":"invalid_target","error_description":"The target service indicated by the \"audience\" parameters is invalid. This might either be because the pool or provider is disabled or deleted or because it doesn't exist."}
##[debug]Node Action run completed with exit code 1
##[debug]CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE='/home/runner/work/blah/blah/gha-creds-f37995ac5c58bf86.json'
##[debug]GOOGLE_APPLICATION_CREDENTIALS='/home/runner/work/blah/blah/gha-creds-f37995ac5c58bf86.json'
##[debug]GOOGLE_GHA_CREDS_PATH='/home/runner/work/blah/blah/gha-creds-f37995ac5c58bf86.json'
##[debug]CLOUDSDK_CORE_PROJECT='projectb-v2'
##[debug]CLOUDSDK_PROJECT='projectb-v2'
##[debug]GCLOUD_PROJECT='projectb-v2'
##[debug]GCP_PROJECT='projectb-v2'
##[debug]GOOGLE_CLOUD_PROJECT='projectb-v2'
##[debug]CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE='/home/runner/work/blah/blah/gha-creds-f5b2a5c1f9bfc5cb.json'
##[debug]GOOGLE_APPLICATION_CREDENTIALS='/home/runner/work/blah/blah/gha-creds-f5b2a5c1f9bfc5cb.json'
##[debug]GOOGLE_GHA_CREDS_PATH='/home/runner/work/blah/blah/gha-creds-f5b2a5c1f9bfc5cb.json'
##[debug]CLOUDSDK_CORE_PROJECT='projectb-v2'
##[debug]CLOUDSDK_PROJECT='projectb-v2'
##[debug]GCLOUD_PROJECT='projectb-v2'
##[debug]GCP_PROJECT='projectb-v2'
##[debug]GOOGLE_CLOUD_PROJECT='projectb-v2'
##[debug]CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE='/home/runner/work/blah/blah/gha-creds-13498d2b2d423d8d.json'
##[debug]GOOGLE_APPLICATION_CREDENTIALS='/home/runner/work/blah/blah/gha-creds-13498d2b2d423d8d.json'
##[debug]GOOGLE_GHA_CREDS_PATH='/home/runner/work/blah/blah/gha-creds-13498d2b2d423d8d.json'
##[debug]CLOUDSDK_CORE_PROJECT='projectb-v2'
##[debug]CLOUDSDK_PROJECT='projectb-v2'
##[debug]GCLOUD_PROJECT='projectb-v2'
##[debug]GCP_PROJECT='projectb-v2'
##[debug]GOOGLE_CLOUD_PROJECT='projectb-v2'
##[debug]CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE='/home/runner/work/blah/blah/gha-creds-bb0f4bff66427dae.json'
##[debug]GOOGLE_APPLICATION_CREDENTIALS='/home/runner/work/blah/blah/gha-creds-bb0f4bff66427dae.json'
##[debug]GOOGLE_GHA_CREDS_PATH='/home/runner/work/blah/blah/gha-creds-bb0f4bff66427dae.json'
##[debug]CLOUDSDK_CORE_PROJECT='projectb-v2'
##[debug]CLOUDSDK_PROJECT='projectb-v2'
##[debug]GCLOUD_PROJECT='projectb-v2'
##[debug]GCP_PROJECT='projectb-v2'
##[debug]GOOGLE_CLOUD_PROJECT='projectb-v2'
##[debug]Set output credentials_file_path = /home/runner/work/blah/blah/gha-creds-f37995ac5c58bf86.json
##[debug]Set output project_id = projectb-v2
##[debug]Set output credentials_file_path = /home/runner/work/blah/blah/gha-creds-f5b2a5c1f9bfc5cb.json
##[debug]Set output project_id = projectb-v2
##[debug]Set output credentials_file_path = /home/runner/work/blah/blah/gha-creds-13498d2b2d423d8d.json
##[debug]Set output project_id = projectb-v2
##[debug]Set output credentials_file_path = /home/runner/work/blah/blah/gha-creds-bb0f4bff66427dae.json
##[debug]Set output project_id = projectb-v2
##[debug]Finishing: Authenticate to Google Cloud

Additional information
Can share the full debug logs on a safely manner (e-mail?)
I've anonymised some details in the YAML file, but the original structure is the same. Ok to share it over a safer place too.
I can also share the working v1 logs.
Cheers.

Hi @josekasna - you can find instructions for sharing the complete logs and YAML files in the TROUBLESHOOTING guide. Do you have a smaller/shorter action.yml that reproduces the issue?

Hi @sethvargo , thanks for the quick response. The full YAML is already here, just a bit anonymised. I did just sent the original one + logs to the referred e-mail.
Let me know if that's enough or if you want me to create a new one that's shorter, I can test it out as well.
Cheers!

While reviewing it here, but I don't know the internals of the auth action:
noticed we are using actions/checkout@v3 while the docs mention Run actions/checkout@v4 ?
Could that be a problem ?
Thanks!

I think this may less to do with the action, but more to do with the Workload Identity Federation config side of things.
I noticed a change, where, you could "Grant access" => "CONNECTED SERVICE ACCOUNTS" and would select "all users from the pool" and now, it seems, svc account needs filter at their level and I may be missing a mandatory attribute in that ?
Will copy from the provider's config and try again.

This "Entire Pool" used to be there, but it's not anymore (this is from a previous environment where the setup was done).

I'll close this for now until I can make sure the environments configs between the working and not working actions are the same.
Sorry for the confusion.

@josekasna what was your solution here? Having the same issue


Updating exec to support passed in parameters like the other functions do.

This should fix https://github.com/kriasoft/node-sqlite/issues/154

Thanks!


FR: Update existing data

Hi, great plugin, thanks for that.
Is it possible to add an option to update rows based on the ID?
or to import a csv in "Update Mode" (don't create new rows but only update if found)?
Thanks
Roy

@webteamseo This is great feature request and definitely something I'd find useful. I don't have time to build it myself just yet, but if anyone fancies giving this a go, I'd love to review a solid PR for this.

@simonhamp Do you still plan on implementing this feature? I would really love to have this.

@basserd yes I do

Do you have any idea of when this could be?

@basserd when I get some time to pick it up 😊

@simonhamp Haha Fair Enough, I'll keep an eye on the issue. Thanks for the quick responses :)

Hi I would like to recommend, that you have a choice when updating an existing record.  updateOrCreate, or Update. you can have more like first or create etc.,
I think this feature will be more practical than just Update.
Thanks


Move github examples into services/github

Warnings

:warning:
This PR modified service code for github but not its test code. That's okay so long as it's refactoring existing code.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

:book:
Thanks for contributing to our documentation. We :heart: our [documentarians](http://www.writethedocs.org/)!

  Generated by :no_entry_sign: dangerJS

Have labeled this a blocker, as it will lead to merge conflicts in all-badge-examples.js and is necessary for #2320.


[SDK BUG] Enter key doesn't work in WebView if another window outside the Game Bar is active

Describe the bug
I'm not entirely sure if this is an issue with Game Bar or how I have implemented WebView but if a window is already selected, the Enter/Return key is not passed into the widget's WebView.
To Reproduce
Steps to reproduce the behavior:

Go to your desktop and select any window (taskbar will highlight it).
Open a widget that contains a WebView and go to a site like bing.com.
Press Enter/Return in the search box.

Expected behavior
The Enter key should be passed into the WebView and start the search.
Desktop:

OS version: Windows 10 1909 build 18363.720
Game Bar version 5.120.4062.0
SDK version: XboxGameBar.5.1.200402003

This is a known limitation with WebView. At this time we don't support using a WebView in a widget. We're currently investigating support for the chromium based WebView2, but don't have an estimated timeline for when that might be available.


MM-25014: Set GroupMention Name if null when toggled

Summary
A group name will now be null if AllowGroupReference is false. When AllowGroupReference is toggled, this PR will create the GroupMentionName based off the Display Name.
It will be checked for uniqueness when saved.
Ticket Link
https://mattermost.atlassian.net/browse/MM-25014
https://mattermost.atlassian.net/browse/MM-25446
Related Pull Requests
https://github.com/mattermost/mattermost-server/pull/14651
Screenshots

/update-branch


Introduce TPU Pod launching to accelerate launch

Proposed API:
accelerate launch now allows for a configured pod setup through three new params/config items:

use_cluster, whether to use a TPU cluster
vm, this mimics xla_dist's vm argument and is a list of single compute VM names if you are not using an instance group. (generally not needed)
env, this is a list of environment variables to set on each of the compute VM instances

Currently we only support non-Docker, as GCP doesn't support docker yet on the larger pods.
To launch a script on a TPU pod, the API will look like such:
Fully configured:
accelerate launch myscript.py --arg1 --arg2 ...

No configuration:
accelerate launch --tpu --use_cluster myscript.py --arg1 --arg2 ...

Note that if file permissions are given on your GCP cluster, there is a --tpu_use_sudo flag for this, and I recommend also doing sudo accelerate launch ... plus sudo pip install git+https://github.com/huggingface/accelerate. On my specific configuration it was needed, but other users reported they didn't so it's optional.
Closes https://github.com/huggingface/accelerate/issues/501 and closes https://github.com/huggingface/accelerate/issues/471

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


AutoGrowingTextInput's overlap one another when too much text

I have two AutoGrowTextInput's:
<AutoGrowingTextInput onChange={(event) => this._onChange(event)}
    style={styles.textInput}
    placeholder={'Your Message'}
    maxHeight={200}
    ref='test1'/>
<AutoGrowingTextInput onChange={(event) => this._onChange(event)}
    style={styles.textInput}
    placeholder={'Your Message'}
    maxHeight={200}
    ref='test2'/>

If I enter a lot of text in the first input it eventually overlaps the second:

Is there any way to fix this?

I am getting the same bug as well! Any aid with this?


fix(HelpText): helptext´s content not reachable with NVDA screenreader

Changed role to tooltip for help-text in order to make its content accessible for NVDA screenreader when the content does not contain interactable elements.

Is this good aria though? HelperText now always has role tooltip, even when there is interactive content in it?

Did you test this using the NVDA reader?
Using the mac voiceover it did not read out the content of the popover.
It was only read out when I used aria-describedby. It still read our the HelperText as a button with popup and not a tooltip 🤷♂
<HelpText
  title="help text"
  aria-describedby='helper-text'
>
   Lorem ipsum dolor sit amet...
</HelpText>

Evening! 👋
I just tested using the mac voiceover and it did not read out the content of the popover. 🤔
Did you test this using the NVDA reader? Did it work there??
It was only read out when I used aria-describedby. It still read our the HelperText as a button with popup and not a tooltip 🤷♂
<HelpText
  title="help text"
  aria-describedby='helper-text'
>
   Lorem ipsum dolor sit amet...
</HelpText>

It worked for me using mac screenreader. Focus button -> space -> ctrl + option + right-arrow.

Tested NVDA on a colleagues windows machine using "down-arrow" insead of "ctrl + option + right-arrow" which had a similar effect.

Evening! 👋
I just tested using the mac voiceover and it did not read out the content of the popover. 🤔
Did you test this using the NVDA reader? Did it work there??
It was only read out when I used aria-describedby. It still read our the HelperText as a button with popup and not a tooltip 🤷♂
<HelpText
  title="help text"
  aria-describedby='helper-text'
>
   Lorem ipsum dolor sit amet...
</HelpText>

It worked for me using mac screenreader. Focus button -> space -> ctrl + option + right-arrow.  Tested NVDA on a colleagues windows machine using "down-arrow" insead of "ctrl + option + right-arrow" which had a similar effect.

Sweet!
It worked for me to now. I had one case where it skipped it (like last night) but I was not able to reproduce it. 🤔  Safari and Chromium also behave very differently in terms of what they read out...


[4.1] Session::put() not working when storing to an array (in some cases)

I store all my variables in an array in the session so that I can unset that parent array without messing with other Laravel session stuff.
As a protection from direct object referencing when selecting a user to edit, I store their actual IDs in the session (as an array) and send dummy IDs back to the view. When a user clicks a specific user to edit, I fetch the user's actual ID from the array, put it back in the session with a different name and then return the edit view for that user.
The very simplified code (just session stuff) looks something like the following:
public function getEdit($id)
{
    $id = Session::get('array.users.' . $id, false);
    if ($id !== false) {
        Session::put('array.user_id', $id);
        return View::make('pages.edit_user')->with($user);
    }
}

public function postEdit()
{
    $id = Session::get('array.user_id', false);

    if ($id !== false) {
        //Proceed with edit
    }
}

What happens though is that $id = Session::get('array.user_id', false) in postEdit() consistently returns false. I can get the users array from the session (in getEdit()) so it's not a global problem with arrays in the session.
I works in two scenarios:

If I Session::put('user_id', $id); and $id = Session::get('user_id', false);
If I echo Session::get('array.user_id', $id); after Session::put('array.user_id', $id);

I'm not joking about the echo there, yes it echos the ID to the HTML so I get 5<!DOCTYPE html> but then it is available in postEdit(). It doesn't work if I omit the echo.
I've tried with artisan serve (I'm running OS X Mavericks and PHP 5.4.30) and Homestead using both file and redis session handlers. What's weird is that it runs fine on our Selenium test box which runs Windows 7 and XAMPP 1.8.3 (PHP 5.5.11) so this might be a PHP problem actually. Unless I'm doing something wrong?

$items = collect(["john", "simon", "neal", "teena"]);
Session::push('cart', $items);