fix gateway validation for tcp termination

Gateway validation incorrectly rejects TCP protocol with TLS settings.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

The following gateway definition fails with validation error server cannot have TLS settings for non HTTPS/TLS ports which I think is incorrect because TCP can have TLS certs for termination.
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: ingressgateway
  namespace: ns`
  resourceVersion: "2761351996"
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - '*'
    port:
      name: tcp-secure-2222
      number: 2222
      protocol: TCP
    tls:
      caCertificates: /server-certs/ca.pem
      mode: SIMPLE
      privateKey: /server-certs/server/keys/server-key.pem
      serverCertificate: /server-certs/server/certificates/server.pem

@howardjohn can you PTAL?

So that is intentional. if you want TLS settings, mark the port as a TLS port (termination or otherwise). Is that breaking something for you?

@rshriram Thank you. I did not try with setting protocol as TLS because the TLS port says it does not terminate. I can try setting to TLS and will close this PR.
Thanks again

@rshriram Changed to TLS and ingress gateway config seems to be generated correctly. Have n't tested the flow, but I think we are good. Will reopen if there is any other issue.


Allow user to choose encryption method for IPSec

There is a NULL Encryption method available in IPSec which disables encryption when encapsulating the packets. (https://github.com/rancher/strongswan/blob/310b583925ab12c91976eec9813252b190f319be/src/libstrongswan/crypto/proposal/proposal_keywords_static.txt)
Under certain circumstances, for example AWS VPC or some private cloud, encryption is not necessary or user prefers network/CPU performance more than the encryption.
Thus instead of sticking with "aes128gcm16-sha256" method, it could be nice if Rancher could let user choose which encryption method user wants for IPSec when add a new host and instantiate a new Network Agent.

The really odd thing is that NULL encryption is typically slower than AES.  AES is offloaded to the CPU using AES-NI.  What we'd rather prefer to do is use vxlan for non encrypted network traffic.

Hmmmm... never expected that, according to this paper from Intel (Page 18):
http://www.intel.ca/content/dam/www/public/us/en/documents/white-papers/aes-ipsec-performance-linux-paper.pdf
NULL cipher is indeed faster than other encryption method.
I cannot test NULL cipher on Rancher since I'm not sure how I could configure it manually (how does Rancher-Net component fit in Network Agent? Seems not exist in Network Agent dockerfile...), but by testing current AES-NI cypher on digital ocean, the network performance indeed reduced from 1Gb/s to 180Mb/s.

This would be convenient for network debugging purposes. Currently our two options are:

Decrypt the IPSec traffic (which is a pain when dealing with several hosts)
Capture the traffic from within (special container privileges required)

Closing due to inactivity, please reopen if you think this is still relevant to current releases & important. This is a chicken and egg problem. We won't be offering this for our ipsec solution as as suggested, vxlan is now an alternative.


Update Registry DetailsSubInfo to include Dev Rewards for Agents & Components

Proposed changes
Update Registry DetailsSubInfo to include Dev Rewards for Agents & Components

No rewards comp
Rewards comp
Rewards agent

Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

tests are failing on registry as there's no textencoder for viem in tests, so there a preferred formatter i should be using here @mohandast52 @Tanya-atatakai ?

there a preferred formatter i should be using here
@truemiller I don't think there is, I've got this error too. I think the problem is in the messed up here and there jest configs + ts configs, I'm gonna look into it today and hopefully find a solution. I'd tried to specify the text encoder but then new issues appeared, so no luck

Have included TextEncoder in jest setup to get around the errors thrown by viem.

 They should be up to date and at least cover the details and list page.

quite a few, including ones that seem unfinished.
happy to resolve but would prefer to do this in another ticket as this one's been open for quite a while for a small feature now


Counterexamples

Add support for counterexamples. Also fixes a few bugs and exercises some significant code paths.

Ended up being rolled into #7.


Ripme lost my history

Ripme version: 1.7.58
Java version:  (java is not a recognized command)
Operating system:  [Version 10.0.17134.165]

So rip me just lost my history file. No warning, nothing. The file is just blank.

Is there a way to prevent this in the future?
Is there some way for rip me to automatically backup every time it rips?
I still have the url file; is there anyway to reverse engineer my history?

Is there a way to prevent this in the future?

Keep a backup of your history file

Is there some way for rip me to automatically backup every time it rips?

Not at the moment but it could be added at some point

I still have the url file; is there anyway to reverse engineer my history?

Not as far as I know

OK, well consider this a feature request for ripme to save your history every time you rip and save, I dunno, up to 3 files at a time?

Figurer out why it didn't react when I copied the backup, location of
history.json changed recently to %appdata%/ripme/  ...
Le jeu. 11 oct. 2018 à 06:23, cyian-1756<EMAIL_ADDRESS>a
écrit :

How to re import lost history if I have a save of the history.json?
Close ripme if it's open, delete history.json and copy over your backuped
history.json
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/RipMeApp/ripme/issues/804#issuecomment-428816112, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AChBK0JuLESpjBmYV_fyJmKFhMO7yVHyks5ujsfKgaJpZM4VPKH5
.

This just happened to me again. (I actually found this thread by searching for my issue, I forgot it had happened to me.)
I'd like to 1)reiterate that this is an issue and 2) propose a model for solution:
Chrome not only keeps current tabs, but also last session. How hard would it be to implement something similar? I don't want to manually save my history every time. That's why I have ripme in the first place, to avoid doing manual work.


Add the OIDC provider ARN to outputs

PR o'clock
Description
Please explain the changes you made here and link to any relevant issues.
This PR adds the OICD Provider ARN to outputs when enable_irsa = true. This needed when creating IAM policy documents/roles for Service Accounts, an example of which can be seen here.
Note: The output is conditionally generated only when enable_irsa = true. When enable_irsa = false no output will be given, which is preferable to it returning a bad value, such as the empty string, which could then lead to misconfigured downstream resources.
Checklist

[ ] Change added to CHANGELOG.md. All changes must be added and breaking changes and highlighted
[ ] CI tests are passing
[ ] README.md has been updated after any changes to variables and outputs. See https://github.com/terraform-aws-modules/terraform-aws-eks/#doc-generation

hi. did you see this ?  https://github.com/terraform-aws-modules/terraform-aws-eks/pull/651

hi. did you see this ? #651
I personally like your usage of var.enable_irsa better. i can close mine.

@ jonathancolby-olx Apparently I missed it. I'm OK closing my PR as well. Let me know which you'd prefer.

what do you think about naming the output cluster_oidc_connect_provider_arn to make it appear next to cluster_oidc_issuer_url

I've been pondering the same thing. The issue is that nearly every output starting with cluster_ - including cluster_oidc_issuer_url - is referring to attributes associated with and output from the actual aws_eks_cluster resource. It ultimately comes down to two things:

Is the fact that it's related to the cluster implicit given what this module is?
If it isn't implicit, then would we rather have clarity (starts with cluster_), or precision (leave as above since it's not output from the aws_eks_cluster resource)?

hi. did you see this ? #651
I personally like your usage of var.enable_irsa better. i can close mine.

@ jonathancolby-olx Apparently I missed it. I'm OK closing my PR as well. Let me know which you'd prefer.

@eytanhanig - Let's go with yours.  Your case for using conditional with enable_irsa is completely valid.   I will close mine.

what do you think about naming the output cluster_oidc_connect_provider_arn to make it appear next to cluster_oidc_issuer_url

I've been pondering the same thing. The issue is that nearly every output starting with cluster_ - including cluster_oidc_issuer_url - is referring to attributes associated with and output from the actual aws_eks_cluster resource. It ultimately comes down to two things:

Is the fact that it's related to the cluster implicit given what this module is?
If it isn't implicit, then would we rather have clarity (starts with cluster_), or precision (leave as above since it's not output from the aws_eks_cluster resource)?

@eytanhanig - after thinking about this, I also tend to agree that the cluster_ prefix is redundant.  I'm OK with how you did it too.


res.clearCookie API underdocumented

Currently the res.clearCookie API documentation leaves a lot to be desired, as it does not explain what "clearing a cookie" means and what the various options giving it to will actually result in. We need to hammer that out and provide some enhanced docs 👍
This is in ref to https://github.com/expressjs/express/issues/4252#issuecomment-619222441

I can help out with this!

https://github.com/expressjs/express/blob/master/History.md#4200--2024-09-10


Mix values from different sessions ???

Hi
I try parse sdk express ejs layouts with passport auth.
when try to show pages that must show for logged in users,
the header section of page shows another user profile ,
but the body of page shows correct value,
how it can happen, please help me

Issues in this repo are for specific problems or requests for the documentation on http://expressjs.com/.
Please ask your question on the Google Group - https://groups.google.com/forum/#!forum/express-jsor the Gitter chatroom - https://gitter.im/expressjs/express. You may also want to try Stack Overflow.


In Android it's not working

In IOS it's working fine but in Android(Chrome) unable to start typing.
Have a look - https://drive.google.com/file/d/1Fceyk1Gi8wVBzaSso_D6w2y8GX87aLSx/view?usp=sharing
If I came from another focused input then it works else not.
I am using version - "2.0.11"

Hi @debotos, unfortunately I don't have an Android phone to troubleshoot. If anyone would like to tackle this issue, PRs are much appreciated.
Did you try upgrading? I upgraded to @mapbox/mapbox-gl-geocoder v4.7.0 in react-map-gl-geocoder v2.0.14. Also, make sure that you are memoizing all non-primitive prop values besides mapRef and containerRef. The geocoder gets re-initialized if object or function prop references change between renders.

Hello, @SamSamskies - Thanks for the quick response.
Yes, I tried via upgrading but no luck. From default behavior perspective v2.0.11 is perfect for me. The weird thing is just a couple of months back it was working fine as far as I can remember.
Here is the implementation -
<div ref={this.geocoderSecondContainerRef} id='geoCoderSecondContainer' />
<Geocoder
  mapRef={this.mapRef}
  containerRef={this.geocoderSecondContainerRef}
  onViewportChange={this.onViewportChange}
  mapboxApiAccessToken={TOKEN}
  language={language.toLowerCase() === 'cn' ? 'zh' : language.toLowerCase()}
  inputValue={searchInputText}
  placeholder={`${translate(website, 'textLanguageList', 'search-city', language)}`}
  onResult={(e: any) => {
    const { place_name, center } = e.result
    console.log('Searching jobs in coords: ', center)
    if (this._mounted) {
      this.setState({ searchInputText: place_name })
    }
    this._searchJobsAroundCoords(center)
  }}
/>

Hey @SamSamskies - You're right!
It was happening because of re-render. After I isolated the component everything is back to normal.
Here is the implementation -
/* eslint-disable react/display-name */
import React from 'react'
import { Spin } from 'antd'
import dynamic from 'next/dynamic'

import keys from '@config/keys'
import { translate } from '@utils/translationHelper'

/* Module only avail only client side because they depend on 'window' */
const Geocoder: any = dynamic(() => import('react-map-gl-geocoder'), {
  ssr: false,
  loading: () => <Spin size='small' />,
})

const { TOKEN } = keys

function MapGeocoder({ mapRef, containerRef, onViewportChange, language, inputValue, website, onResult }: any) {
  return (
    <Geocoder
      mapRef={mapRef}
      containerRef={containerRef}
      onViewportChange={onViewportChange}
      mapboxApiAccessToken={TOKEN}
      language={language.toLowerCase() === 'cn' ? 'zh' : language.toLowerCase()}
      inputValue={inputValue}
      placeholder={`${translate(website, 'textLanguageList', 'search-city', language)}`}
      onResult={({ result }: any) => {
        const { place_name, center } = result
        console.log('Searching jobs in coords: ', center)
        onResult(place_name, center)
      }}
      onError={({ error }: any) => console.log(error)}
    />
  )
}

export default React.memo(MapGeocoder, (prevProps: any, nextProps: any) => {
  const { inputValue: prevInputValue } = prevProps
  const { inputValue: nextInputValue } = nextProps
  // console.log({ prevInputValue, nextInputValue })

  const inputValueIsSame = prevInputValue === nextInputValue

  const propsAreSame = inputValueIsSame
  // true -> props are equal
  // false -> props are not equal -> update the component
  if (!propsAreSame) {
    console.log('Re-rendering Geocoder!')
  }

  return propsAreSame
})

Another solution would be to memoize the onResult and onError prop values. The Geocoder component is a Pure Component, so as long as none of the references change, it won't re-initialize the geocoder. This trips a lot of people up. Even tripped myself up once 😂. One of these days I plan to sit down and re-architect this component to get rid of this constraint.


Module import does not import the module specific settings

Description of bug
When a module has the IPortable interface implemented, and you export the module, after importing it to a new module, the specific settings are ignored.
Steps to reproduce

Add a new HTML module on a page that is visible for all users.
Go to the module settings
Change something on each tab, e.g. the module title to "Test module", the View permissions to Registered Users only, the module container to something that is not in the host/portal standards and check the Replace Tokens option in the HTML module settings (I call this tab the module specific settings, just to be clear).
Add some text, and include some tokens, e.g. [Module:ModuleID], then save the content.
Export the module.
Delete the module, and also remove it from the recycle bin if you want.
Add a new HTML module on the page. Import from the exported file.

Current result
Most of the things work as expected. The title is set correctly, also the module permissions and the container. But the Replace Tokens checkbox remains unchecked, therefore you see the text "[Module:ModuleID]" in the content of the module.
Expected result
Also the module specific settings should be imported correctly. The string
<modulesetting><settingname>HtmlText_ReplaceTokens</settingname><settingvalue>True</settingvalue></modulesetting>
can be found in the exported file, so it gets exported, but it seems that the specific settings are not imported back to the module.
Error log
(nothing)
Additional context
There seems to be something missing in the import routine. This happens to all module specific settings of any module.
Affected version

[x] 9.4.1
[x] 9.4.0
[x] 9.3.2
[x] 9.3.1
[x] 9.3.0
[x] 9.2.2

Affected browser

[X] Chrome
[X] Firefox
[X] Safari
[X] Internet Explorer
[X] Edge

I don't think it is a browser issue.

I have faced this before and I am wondering if this is not something that was half modified (only in import and not in export) so that module developers handle the module specific setting themselves instead of all of them being imported. Maybe this is more flexible since as a module developer may want to power to decide exactly which settings make sense to port and which do not make sense. For instance if your module settings have relations to site specific stuff like tabs and users, etc. You may not want to port that over to another site ?
Thoughts on this ?

hasn't this already been fixed in DNN 9.4.x?

I am not sure, @MaiklT can you still reproduce this issue ?

It is not fixed yet (DNN 9.4.1).

Ok, assigned it as a bug


How to query for an element from the root document

Let's consider this example:
{
  "name": {"first": "Tom", "last": "Anderson"},
  "age":37,
  "children": ["Sara","Alex","Jack"],
  "fav.movie": "Deer Hunter",
  "friends": [
    {"first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "tw"]},
    {"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]},
    {"first": "Jane", "last": "Murphy", "age": 47, "nets": ["ig", "tw"]}
  ]
}

I want to check if there's an age with the value of 37. I've tried things like this but none worked.

age==37
age=37
age=="37"
@this.age=="37"

etc. How can I do it using jsons?

Queries are for arrays. But you can "wrap" the root document in an array and then do a query like:
[@this].#(age==37)

ok, it looks like it works! Thank


Updated plot_avg_density_2D

Description of changes:
Updated plot_avg_density_2D function to work properly with parallelized batches

Contents and feedback from this PR have been implemented in #206 😃


KAFKA-7192 Follow-up: update checkpoint to the reset beginning offset

When we reinitialize the state store due to no CHECKPOINT with EOS turned on, we should update the checkpoint to consumer.seekToBeginnning() / consumer.position() to avoid falling into endless iterations.

Fixed a few other logic bugs around needsInitializing and needsRestoring.

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@bbejeck @mjsax calls for reviews.

Triggers system tests: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/1875.

While working on the state manager layer, I felt the code has become more and more messy and we'd probably do https://issues.apache.org/jira/browse/KAFKA-6721 sooner.

Retriggered https://jenkins.confluent.io/job/system-test-kafka-branch-builder/1877 for the newest update.

Cherry-picked to 2.0


FilterBy with TreeViewAsync - Example

Hi,
Can you create an example of TreeViewAsync with filtering using FilterBy attribute?
I'm struggling on this!
Thanks.

Hi @Joni-Torrado,
it works the same way the synchronous tree view does it. Here's a demo page: The difference to the normal async tree view page is that the item C1 is filtered.
Stefan

Hi @stefanloerwald,
Thanks for the example..
But I need an example when having a input text on the page to filter the treeview based on the value text.
Can you do that?

Sorry, but that's out of scope for this project.


Unable to obtain ACME certificate for domains

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
I'm attempting to use the acme certificatesResolver, using a dnsChallenge with dnsimple.
I have configured the resolver and my router correctly and ensured that the dnsimple environment variables are available to the traefik docker container. I have 2 dns A records configured for this domain in dnsimple: example.com and *.example.com.
I'm expecting that when traefik starts up, and the router configured to get a certificate or example.com will be able to add the correct TXT record to dnsimple and proceed with the acme challenge.
What did you see instead?
Instead, I'm seeing the following error:
2024-06-05 13:29:24 2024-06-05T17:29:24Z ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:396 > Unable to obtain ACME certificate for domains error="unable to generate a certificate for the domains [example.com]: error: one or more domains had a problem:\n[example.com] [example.com] acme: error presenting token: dnsimple: could not find zone for FQDN \"_acme-challenge.example.com.\": [fqdn=_acme-challenge.example.com.] unexpected response for '_acme-challenge.example.com.' [question='_acme-challenge.example.com. IN  SOA', code=SERVFAIL]\n" ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["example.com"] providerName=default.acme routerName=example@file rule=Host(`example.com`)

I looked through the go-acme/lego and the miekg/dns libraries to try to determine I'm configuring anything wrong, and I can't seem to find what is causing this. When I saw the SERVFAIL code and that the miekg/dns library deprecated the function that would show that code about 4 years ago, I made sure to update my traefik image to the latest, but I'm still seeing that error.
I've also run dig commands using the same settings that are used in go-acme/lego, and the responses look like they would be able to get past the error.
I'm opening an issue here since I'm not familiar with actually testing out those libraries with go, so this is my only entry point.
Another note... I had a certificate that was previously issued in my acme.json file, but it expired. I'm not sure what I did to get it to work before (I haven't made any other traefik configuration changes), so I attempted manually adding a TXT record for _acme-challenge.example.com, but that still failed.
What version of Traefik are you using?
From docker
Version:      3.0.1
Codename:     beaufort
Go version:   go1.22.3
Built:        2024-05-22T13:12:16Z
OS/Arch:      linux/arm64
What is your environment & configuration?
[entryPoints]
  [entryPoints.http]
    address = ":80"
  [entryPoints.https]
    address = ":443"
[providers]
  [providers.docker]
    exposedByDefault = false
    network = "example.com"
  [providers.file]
    directory = "/etc/traefik/configs"
    watch = true
[api]
  dashboard = true
  insecure = true
[certificatesResolvers.default.acme]
  email =<EMAIL_ADDRESS>  storage = "/etc/traefik/certificates/acme.json"
  [certificatesResolvers.default.acme.dnsChallenge]
    provider = "dnsimple"
    delayBeforeCheck = 0
[log]
  level = "DEBUG"

Add more configuration information here.
[http]
  # Add the router
  [http.routers]
    [http.routers.example]
      rule = "Host(`example.com`)"
      entryPoints = ["https"]
      service = "example"
      [http.routers.example.tls]
        certResolver = "default"
  [http.services]
    [http.services.example.loadBalancer]
      [[http.services.example.loadBalancer.servers]]
        url = "http://host.docker.internal:3000/"

If applicable, please paste the log output in DEBUG level
2024-06-05 13:29:24 2024-06-05T17:29:24Z ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:396 > Unable to obtain ACME certificate for domains error="unable to generate a certificate for the domains [example.com]: error: one or more domains had a problem:\n[example.com] [example.com] acme: error presenting token: dnsimple: could not find zone for FQDN \"_acme-challenge.example.com.\": [fqdn=_acme-challenge.example.com.] unexpected response for '_acme-challenge.example.com.' [question='_acme-challenge.example.com. IN  SOA', code=SERVFAIL]\n" ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["example.com"] providerName=default.acme routerName=example@file rule=Host(`example.com`)

Hello @doowb,
Thanks for reaching out!
To keep the repository focused, we ask that all questions be asked in the community forum. It is pretty active, so you might find that your question has already been answered there.  If not, you can ask and get help from other community members pretty quickly


Add dox feature to suppress probing native packages

Helps build build docs for all platform for https://crates.io/crates/cairo and https://crates.io/crates/cairo-sys.
Part of https://github.com/gtk-rs/gir/pull/467
Inspired by https://github.com/rust-lang/rust/pull/43348
In https://github.com/gtk-rs/ we try document all functions with configs like #[cfg(any(target_os = "macos", target_os = "ios", feature = "dox"))] or https://github.com/gtk-rs/cairo/blob/master/cairo-sys-rs/src/lib.rs#L541-L547

@Daggerbot Thanks for fast merge, can you publish next version of crate?

@Daggerbot Thanks again.


Unable open taskmodule popup in ms teams bot

Hello ,
I am running with issue we are using task module with deep link for upload link in adaptive card .once click that link it will open upload popup in teams bot but it is not opening in web browser teams and desktop teams app.
the below URL used to redirecting on upload link click.
https://teams.microsoft.com/l/task/6132add7-9049-472d-a329-de6290441c00?url=https%3A%2F%2Ficebreaker-y5l22i4ytireq.azurewebsites.net%2FUpload%2FUpload&height=450&width=510&title=Upload&completionBotId=6132add7-9049-472d-a329-de6290441c00
Note : it is working for some of the users but not for all.
can you please help me to get the resolution .Is it issue with users or teams app access related permissions. if you need more details please let me know
Thanks
Raveendra

Duplicate of https://github.com/MicrosoftDocs/msteams-docs/issues/840


[BUG] Autocomplete always adds the first using

From vscode-dotnettools created by RobertOstermann: microsoft/vscode-dotnettools#298
Describe the Issue
When using the autocomplete feature selecting an option adds a using statement to the top of the file. If there are multiple options with the same name, it is adding the using statement for the top option.

Steps To Reproduce
Attempt to autocomplete something with multiple options of the same name. In my example I attempted to add the JsonIgnore annotation and even though I selected the second option (Newtonsoft.Json) the using System.Text.Json.Serialization statement was added.
Expected Behavior
The correct using statement should be added.
Environment Information

VSCode Version: 1.81.0-insider
C# Dev Kit Version: v0.3.18
Windows 10 using WSL

@genlu that solved the issue. Thanks!


Fix crashes in l2 and l3 validators when IPAM data is not present

Coverage increased (+0.2%) to 75.524% when pulling 36d389352782709b413411eb25a0d7e93ac35e0c on jmedved:netctl into f18aa7100ca2289bb42977eeb58f96fd3dc32a11 on contiv:master.


Typos

[ACCROSS]: FOUND: 3 - https://github.com/microsoft/TypeScript/search?q=accross&type=code
[SUCCES]: FOUND: 13 - https://github.com/microsoft/TypeScript/search?q=succes&type=code
[OVERRIDEN]: FOUND: 16 - https://github.com/microsoft/TypeScript/search?q=overriden&type=code
[UNKOWN]: FOUND: 6 - https://github.com/microsoft/TypeScript/search?q=Unkown&type=code
[STING]: FOUND: 4 - https://github.com/microsoft/TypeScript/search?q=sting&type=code
[INTANCE]: FOUND: 4 - https://github.com/microsoft/TypeScript/search?q=intance&type=code
[INTIALIZATION]: FOUND: 5 - https://github.com/microsoft/TypeScript/search?q=intialization&type=code
[DEFINTION]: FOUND: 1 - https://github.com/microsoft/TypeScript/search?q=defintion&type=code

@MartinJohns, Hi!
This is a problem and not a PR, the purpose is just to alert the team that there are typos.

It's okay to have a few typos here and htere

@RyanCavanaugh, It sounds strange to keep typos in a language that is mainly used for writing aids and corrections / methods and typing.

Our time is a finite resource and we want to deploy it to useful ends, instead of talking about typos. No one reading the TypeScript source code is going to be confused by seeing the word 'INTIALIZATION'.

You won't be confused, but you'll know it's a mistake.
A wrong thing is still a mistake and it always will be, if for you the culture of keeping typos in the repository is normal, that's fine, go for it :)

the purpose is just to alert the team that there are typos.

Do you think the team is not aware of this, when they explicitly mention typos in the PR template?

the purpose is just to alert the team that there are typos.

Do you think the team is not aware of this, when they explicitly mention typos in the PR template?

?


[DNM] install: make extra_packages distro-agnostic (in a limited way) and support extra_system_packages option

Fixes: http://tracker.ceph.com/issues/25020
Fixes: http://tracker.ceph.com/issues/25026

@gregsfortytwo Based on my understanding of the current state of this code, I cannot see how qa/suites/samba/install/install.yaml could work. The latest run of the samba suite I could find is:
http://pulpito.ceph.com/teuthology-2017-05-15_03:50:04-samba-master---basic-smithi/
All jobs failed. And samba was removed from the nightlies around that time.
I suppose another way to approach this would be to change the apt-get install command in task/install/deb.py so it no longer forces a particular package version. That would make the second commit in this PR much simpler. On the other hand, since all Ceph packages are built together it makes some sense to force the package version on Ceph packages.
Anyway, once this PR lands we could fix the samba suite :-)

@gregsfortytwo I could not find any instance of the ganesha in qa/
extra_packages is being used to install:

rbd-nbd
rbd-mirror

But these are part of the Ceph packaging monolith.

Hmm, maybe the extra_packages got more broken then.
Though now that you mention it like that I do remember we had to pick one OS to do the samba testing on (when it worked) because of the package names. It's really the version strings that I'm surprised about. shrug

Anyway, this all seems fine, I was just confused by it apparently not working at all.
Reviewed-by: Greg Farnum<EMAIL_ADDRESS>

I will do some ad-hoc testing.

Another thing that occurred to me is that this patchset doesn't fix exclude_packages - in other words, we'll need to be able to give a {'deb':..., 'rpm': ...} dictionary to that as well.

OK, so the consensus seems to be that this PR needs the following for merge:

do get(system_type, [])
fix exclude_packages so it also optionally takes a deb/rpm dict

@zmc @gregsfortytwo Done. Please re-review.

retest this please

The Jenkins tox failure appears to be reproducible on master.

retest this please.

the issue on master was fixed by #1199

Thanks, @tchaikov, for unblocking the unit tests. Now I see there are some that will need tweaking as part of this PR.

Noting that this PR would be nice to have for: https://github.com/ceph/ceph/pull/23551#issuecomment-412579492

Tests tweaked.

@batrick Thanks. I found the problem and opened https://github.com/ceph/teuthology/pull/1202 to fix it. BTW the "compiled" yaml of your test looks weird:
  tasks:
  - install:
      extra_packages:
      - python3-cephfs
  - ceph: null
  - ceph-fuse: null
  - install:
      extra_system_packages:
        deb:
        - bison
        - flex
        rpm:
        - bison
        - flex

(i.e. install task is run twice, once before deployment and again after)
But it should work, and hopefully will, once #1202 is merged.

@batrick Since the package names are the same for rpm and deb, your yaml could look like this:
tasks:
- install:
    extra_packages:
    - python3-cephfs
    extra_system_packages:
    - bison
    - flex

@smithfarm I was hoping to have bison/flex installed only when running the kernel_untar_build task which is why there's a second install task.

@batrick Got it - it should start working once #1202 is merged. You didn't make any mistake that I can see.

It appears to work. Thanks @smithfarm !


Component Action

Hi Wang,
Congrats on the great tool, nicely done !! I was wondering what's your plan for providing actions for components, like Button, swipe, tap, or anything? Blockable actions?

Thanks a lot for the kind words, really glad to hear. 😀
For the moment, LeeGo support such kind of Action as IB files. Which means you can find and link the instance of component directly with lg_viewForOutletKey method, just as IBOutlet do.
// Retrieve target view from hierarchy based on a configured key in `Brick`,
// then either manipulate object directly or keep it into a class property with
// weak reference, just as `IBOutlet`
let likeButton = tweetView.lg_viewForOutletKey("likeButton")
likeButton.addTarget(...)

Since this approach let people manipulate directly instance which could introduce easily more mutable states and complexity, which isn't encouraged by LeeGo's philosophy, so we may use declarative blockable actions to replace it in the future release.
What you think?

Exactly. I would think declarative blocks should be the way to go. I and my colleague would be happy to contribute some as we love the work and the concept you've done so far. I believe we could make this one of the best componentKit out there.
Sent from my iPhone

On 2 Jun 2016, at 6:52 PM, WANG Shengjia<EMAIL_ADDRESS>wrote:
Thanks a lot for the kind words, really glad to hear. 😀
For the moment, LeeGo support such kind of Action as IB files. Which means you can find and link the instance of component directly with lg_viewForOutletKey method, just as IBOutlet do.
// Retrieve target view from hierarchy based on a configured key in Brick,
// then either manipulate object directly or keep it into a class property with
// weak reference, just as IBOutlet
let likeButton = tweetView.lg_viewForOutletKey("likeButton")
likeButton.addTarget(...)
Since this approach let people manipulate directly instance which could introduce easily more mutable states and complexity, which isn't encouraged by LeeGo's philosophy, so we may use declarative blockable actions to replace it in the future release.
What you think?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Yeah, totally cool. It would be great if you'd like to contribute, PR is always welcomed. 👍


HTTP header parameters encoding

I tried to use mitmproxy between a client and a server in HTTPS. The server is a tomcat server configured in French with a Java web application running. When I use mitmproxy, I got a HttpSyntaxException.
HttpSyntaxException('Non-ascii characters in first line: HTTP/1.1 401 Non-Autoris\xe9',)
This is because the Response-Phrase of the HTTP response is "Non-Autorsié".
I read some RFC related to HTTP but I found nothing related to the allowed encoding for HTTP header parameters. Because web browser doesn't seem to encounter a problem with this, I guess it is a mitmproxy (or netlib) issue. Converting all source files into utf-8 encoding and using the "# coding: utf-8" should solve this case.
EDIT:
I have located the issue in netlib/http/http1/read.py line 223:
line.decode("ascii")
My fix is to do a .decode("latin1"), if it fails do a .decode("ascii"), if it fails, raise the error.
Don't know if it's correct...

IIRC it must be ASCII, but I should have known that the French would spoil us :wink:
Thanks for the report, will fix that. :smile:


Icons missing from the @mui/icons-material folder

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example:
Steps:
npm install @mui/icons-material @mui/material @emotion/styled @emotion/react
// contains all icons and the associated package.json
"@mui/icons-material": "5.14.1"

// missing most icons, it starts with ShopTwo.d.ts
"@mui/icons-material": "^5.15.2"

Current behavior 😯
Icons are missing from v5.15.2
Expected behavior 🤔
All Icons should be included as illustrated by the MUI Docs found  here
Context 🔦
Trying to use import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
Your environment 🌎
Standard VITE project.

It doesn't look like this bug report has enough info for one of us to reproduce it.
Please provide a CodeSandbox (https://material-ui.com/r/issue-template-latest), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve.


Scratchpads: Dynamic position and size, depending on monitor

Hello. I have two monitors with different sizes and currently scratchpad's windows don't change it's size accordingly. So I've added an option to resize and move window depending on monitor size. In my config it looks like this:
{
  "pyprland": {
    "plugins": [
      "scratchpads"
    ]
  },
  "scratchpads": {
    "term_quake": {
      "command": "wezterm start --class term_quake",
      "position": "0% 0%",
      "size": "100% 50%"
    }
  }
}

So on each monitor the position of terminal is at top left corner and it always a half of screen's height. Would you mind adding these options?
I've also add a nix flake, it will allow Nix users to install it directly.

The description of new parameters:
size (optional)
string in format "X% Y%", where X and Y is percentage of monitor's width and height accordingly. Every time scratchpad is shown, window will be resized depending on the monitor size, it displayed on.
For example on monitor of size 800x600 and "size": "80% 80%" in config scratchpad always have size 640x480, regardless of which monitor it was first launched on.
position (optional)
every time scratchpad is shown, window will be moved to specified position relative to top left corner. For format and example see size.
example of scratchpad that always occupy top half of the screen:
"scratchpads": {
    "term_quake": {
        "command":"wezterm start --class term_quake",
        "position":"0% 0%",
        "size":"100% 50%"
    }
}

Nice, I'll look into it later this week.
One small question, size is currently achievable using windowrules in hyprland.conf isn't it ?
In the past I wondered if I should add support for such in pypr to make it more convenient to configure or not... I guess the current way can be improved if you felt the need for it.

The problem with windowrules is that it's calculating once, when the window created. I didn't manage to find a way to force recalculation. For me personally it's more convenient to keep those two options in the same place, as this is more the property of scrathpad itself.


Initial SCOOBE Spec added

Summary of the Pull Request
What is this about:
Publishing the functional spec for update dialogs, aka second chance out of box experience (SCOOBE), which highlight noteworthy additions and improvements to PowerToys.
What is include in the PR:
SCOOBE Spec for public review/feedback
To view draft: click here
Tracking issue: #10979
How does someone test / validate:
N/A
Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

@dedavis6797
LGTM!

@dedavis6797 what needs to be done here

@dedavis6797 what needs to be done here

إلغاء تجسس
في الخميس، ٩ سبتمبر ٢٠٢١ ١١:٠٨ م Deondre Davis @.***>
كتب:

Closed #10978 https://github.com/microsoft/PowerToys/pull/10978.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/pull/10978#event-5280755717, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AVQJAXQJDGJWLLAVYU3I2GDUBEH3ZANCNFSM43VKWSHQ
.


Consider returning an error on duplicate keys by default

Parsing duplicate JSON keys (as in {"qty": 1, "qty": -1}) can be dangerous if the parsing behavior is inconsistent. (See here for a detailed discussion.) Some parsers will give for {"qty": 1, "qty": -1} the same result as for {"qty": -1} (i.e. serde_json's current behavior), others will give the same result as for {"qty": 1}. For some applications, this inconsistency may be exploited by attackers.
Therefore, it may be more prudent for serde_json to return an error for duplicate keys by default.

I think I'd prefer to stick with the current behavior. Someone who needs the other behavior can use their own Map type or Value enum with a Deserialize impl which behaves that way.


gapi client not loaded

package doesn't actually load in the gapi.client object
could be fixed by just adding and exporting a function to load the client object in index.js
const loadClientAuth2 = async function (clientId, scopes) {
    return new Promise(resolve => {
        gapi.load('client', () => {
            resolve(gapi.client.init({
                client_id: clientId,
                scope: scopes
            }));
        });
        gapi.load('auth2', () => {
            resolve(gapi.client.init({
                client_id: clientId,
                scope: scopes
            }));
        });
    });
}

Magic, thank you

I think you can load multiple parts of the API at once, like so:
gapi.load('client:auth2', () => {
  // init client...
});

I added that function @natalieh235, thank you! (sorry for the delay)


Deprecate tests.helpers

Move tests.helpers into (and combine with) testing.helpers.
Related to this (and especially if it makes deprecating tests.helpers easier) rename tests to _tests to discourage public use but still allow for testing of the installed/built package.

Opening a new issue for tests renaming


Feature: Change dfBounds$Metric to dfBounds$Rate?

Feature Details
@samussiah @lauramaxwell  Worth updating to standardize? https://github.com/Gilead-BioStats/gsm/wiki/Data-Model-(⚠Work-in-Progress⚠)#dfbounds
Example Code

Possible Implementation

Additional Comments

Would we be changing all Metric columns to Rate across the dfs? Or is this standardization targeted at widgets/rbm-viz, specifically? Maybe I'm missing something, but I'm not seeing Rate used anywhere else in gsm.

You're right. Being silly. Closing.


Remove items from Purchase History

Is your feature request related to a problem? Please describe.
It just bothers me to see some of my past purchases.
Describe the solution you'd like
I would like to be able to remove individual items from (or, less ideally, clear the entire) purchase history.
Describe alternatives you've considered
I was told blocking a channel will hide the purchases from that channel. However, I do not wish to block a channel just for this purpose.
Additional context
I am not capable of implementing the feature.

Thanks for filing. This probably won't happen anytime soon and it would rely on https://github.com/lbryio/lbry-sdk/issues/3024


Upgrade omnibus dependencies

What does this PR do?
Upgrade some omnibus dependencies.
Motivation
Additional Notes
Describe your test plan

Superseded by #6514.


Document CkLoop caller function

Original issue: https://charm.cs.illinois.edu/redmine/issues/1432

This API change is not reflected in the manual:
~~https://charm.cs.illinois.edu/gerrit/#/c/947/~~ https://github.com/UIUC-PPL/charm/commit/294d0d8de422077099e72153d28856d944403f39

Original date: 2017-04-13 15:36:06

This should be quick/easy, so bumping priority.


Crash on flutter upgrade

Attached is the error report
flutter_01.log

I think it's best to tie production projects to a certain version of flutter. @passsy's flutter_wrapper helps. I couldn't upgrade flutter for my app because the refactoring effort is too high.

Command exited with code -9: git log -n 1 --pretty=format:%ad --date=iso
Standard error

It seems resulted from a broken flutter build which is expected to be a good git repo. Try get a clean copy of the flutter, it would help.
@StorminGorman

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 descriptions what happens, logs and the output of ' flutter doctor -v'  please.
All system setups can be slightly different so its always better to open new issues and reference related issues.


curly brackets in a new line

it would be great if there was an option to put an opening curly bracket in a new line in .scss/.less/.css files, like so
.class
{
  ...

  .nested-class
  {
    ....

    &:after
    {
      ...
    }
  }
}

Hi, @lukassero
Have you found the solution for this? I've been searching and trying different ways, still unable to find the option. Have you found it? Can you kindly point me to the right direction?

The appropriate option is has been in Pretty Diff for quite a while now.  If this Pretty Diff option is not available in Atom Beautify then add it and submit a pull request.

I don't see the braces option for Pretty Diff beautifier in Atom-Beautify: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/prettydiff.coffee#L10-L44

@lukassero and @jackywongcw please add a link to a Gist with your debugging information so we can help without guessing your configuration. Thanks!

Please follow the issue template provided. More specifically, adding a link to the required debug.md Gist which includes debugging information that answers our most commonly asked questions.
Thank you.

For reference:  http://prettydiff.com/documentation.xhtml#braces


Build or build+test dependencies

Hi
I'm wondering how many of the 12 devdeps are strictly needed for building? How many are needed if we want to test it too?
We are trying in Guix to figure out how to package npm-libraries in a reproducible way.
See also: https://lists.gnu.org/archive/html/guix-devel/2018-11/msg00201.html
I'm using a guile-script to make a graph of this package and the devdependencies and all recursive dependencies of those. It is still running and has 85 levels and 160 packages and counting.
This means that if we are to package async with all the devdeps (unlikely needed I hope so) we need first to package 160+ other packages to build the devdeps.
This is a lot.
Cheers
swedebugia

Does this help?
  "devDependencies": {
    "coveralls": "^2.11.2", // NOT NEEDED: Posts coverage reports to converalls.io
    "docco": "*", // NOT NEEDED: Builds docs
    "eslint": "1.10.x", // Needed for linting (not sure if you think of linting as part of testing)
    "gzip-size-cli": "^1.0.0", // NOT NEEDED
    "karma": "^0.13.13", // Needed for testing
    "karma-qunit": "~2.0.1", // Needed for testing
    "karma-sauce-launcher": "^1.2.0", // Needed for testing
    "nyc": "^2.1.3", // Needed for testing
    "pretty-bytes-cli": "^1.0.0", // NOT NEEDED
    "qunit-cli": "~0.2.0", // Needed for testing
    "qunit": "^2.6.0", // Needed for testing
    "uglify-js": "3.3.21" // Needing for building
  },

Yes! Thanks to this we can reduce the dependencies drastically if we choose to leave out the tests.


Add Slovakia Short numbers starting with 1

Slovakian regional short numbers

Coverage increased (+0.0007%) to 99.179% when pulling 17034d8e5a93e30bb6ec59e05f75614ee7402b58 on radeno:master into fd09a14ced90dde1316b988b5001a78665632559 on floere:master.

@radeno Very nice PR, thank you! 😄 Released in 2.15.46 🚀

you are welcome :)


Invocation Screenshot with Rewards Off Cropped Incorrectly

I created a fresh RuneLite profile with only your plugin to try to rule out any other plugin incompatibilty. When I turn off "Show Rewards Section" and take an invocation screenshot the image appears to be cropped. I included screenshots with this setting both on and off.

This appears to be a bug specific to macOS. It works fine using the same profiles on Windows.


ES5 compilation

Hi guys,
I sadly discovered that Jimple is not compatible with "create-react-app". It make the build fail with the following error :

Failed to minify the code from this file:
   ./node_modules/jimple/src/Jimple.js:45

Read more here: http://bit.ly/2tRViJ9

Any idea about how to fix it ?

@Poyoman39 The problem is that it's requiring the version on the src folder, which is not ES5. A quick fix that may work is instead of doing require('jimple'), change it to require('jimple/dist/Jimple.js').
Now, the weird thing is that create-react-app uses webpack, and from the documentation and my own experience (I use Jimple + webpack quite a lot), webpack automatically knows whether to use the ES5 or ES6+ version. Maybe create-react-app is doing something weird behind the curtains :P.
I hope this helps!

Nice ! Thank you it fixed my problem 👍  ... it will be cleaner than puting the jimple.js file in my src folder :D

Hey.
Sorry for the delay in the answer.
@Poyoman39 was the resolve.mainFields correctly configured on your webpack config? I'm a bit curious for what happened on your project.
By the way, thank you all for using this project. =)

Hey :)
Sorry for the delay of my answer too  ;)
Since i'm using create-react-app the webpack configuration is hidden ... and i've no idea about how it may looks like :D
Maybe this may help you : i'm using this version of "react-scripts": "1.1.0" which contains hidden all the webpack config. As i can see inside the webpack files of this node module, there is no trace about any "mainFields"
Hope this helps you :)
By the way too ... thanks for sharing this nice project, and make ioc simple ;)

Oh. I see.
 Feel free to open new issues if you have doubts, problems or suggestions. )


Consider adding Handlebars-Net NuGet org as additional package owner

Hello @StefH
Recently I've added you as Handlebars-Net NuGet org administrator so that you can manage packages through the org. Consider adding the org as additional package owner.
Why now? Recently we got "Reserved prefix" for "Handlebars.Net" name and prefix ownership is assigned to the org.

@zjklee
Can you check if the NuGet permissions are correctly defined for you?

@StefH, unfortunately, I'm not sure what you're asking about. I see you joined the org, but org is still not mentioned as one of the packages owners.

@zjklee
I see this:

And I see this:

I did send a new email to NuGet account support to add you also as an owner to the prefix.

@StefH,
Probably you've misunderstood me.
The org owns Handlebars.Net prefix and I do have access to it.
I was talking about adding the org as an additional package owner to packages owned by you: Handlebars.Net.Helpers.*. This way prefix will be applied to them.

I've sent email to NuGet, and I get this response:
To qualify for your ID prefix reservation, please consider the following actions:

  • The rexm account needs to have 2FA enabled before we can make changes to the reservation owned by Handlebars-Net (all members of an organization need 2FA, and rexm is a member of Handlebars-Net).

  • The rexm account needs to have 2FA enabled before we can add it as an owner to the prefix reservation.

@rexm, can you please enable 2FA on your GitHub account?

@StefH, we already have ID prefix reserved.
In order to get it applied to Handlebars.Net.Helpers* packages you need to add Handlebars-Net org as an additional packages owner.

That’s odd. I’ve had 2FA for years (and also a personal thing to reveal to someone else!) - try what @zjklee suggested.

@rexm and @zjklee
I did send an email some week(s) ago to NuGet support, however no reply yet (I think).
But can you check again if the permissions are correct for you now?

Hello @StefH
It's not about our permissions.
It's about adding Handlebars-Net NuGet org as a second owner to the package (on the NuGet portal).
This way packages will get "verified" badge as the prefix is owned by Handlebars-Net org.
You do not need any help from NuGet support. You, as package owner, can update owners yourself.

@zjklee
As a test, I did add Handlebars-Net as owner to:

Note that only the main package is verified it seems? Or will that change once you accept as owner?

Oh, I've just noticed that you've added org as an owner to Handlebars.Net.Helpers. Yes, you need to do the same with other packages.
I do not need to accept anything as you're the org admin as well 😉

All my packages are updated.


Fix memory errors

This PR fixes the memory leaks identified by using valgrind on the Unity tests, as well as incorrect allocation types for some arrays.
Originally, the output of valgrind running on the tests reported:
definitely lost: 16,908 bytes
indirectly lost: 1,990,281 bytes

The changes in this PR now reduces them to:
definitely lost: 80 bytes
indirectly lost: 68 bytes

These final lost bytes are to do with sprintf and a memory leak in the UnityPrint function in Unity. I'll continue to have a look at these.

There's more to do on master, but this is still worth merging.


fix: check order before restore from backup

When categories have the same order in the database, the export feature and the restore feature won't work because they use order as the key for manga categories.
Close #632

Merged as 119bcbf8ed2415664922ea77fadf0da1165d1732


HADOOP-17963. Replace Guava VisibleForTesting by Hadoop's own annotation in hadoop-yarn-project modules

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 31s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  6s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
pathlen
0m  0s
/results-pathlen.txt
The patch appears to contain 2 files with names longer than 240

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 2 new or modified test files.

_ trunk Compile Tests _

+0 :ok:
mvndep
12m 46s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
27m  9s

trunk passed

+1 :green_heart:
compile
10m 22s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
8m 39s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
checkstyle
1m 56s

trunk passed

+1 :green_heart:
mvnsite
16m 18s

trunk passed

+1 :green_heart:
javadoc
11m 35s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

-1 :x:
javadoc
0m 13s
/branch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-timelineservice-hbase_hadoop-yarn-server-timelineservice-hbase-server_hadoop-yarn-server-timelineservice-hbase-server-1-jdkPrivateBuild-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10.txt
hadoop-yarn-server-timelineservice-hbase-server-1 in trunk failed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10.

-1 :x:
javadoc
0m 12s
/branch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-timelineservice-hbase_hadoop-yarn-server-timelineservice-hbase-server_hadoop-yarn-server-timelineservice-hbase-server-2-jdkPrivateBuild-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10.txt
hadoop-yarn-server-timelineservice-hbase-server-2 in trunk failed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10.

+0 :ok:
spotbugs
0m 25s

branch/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests no spotbugs output file (spotbugsXml.xml)

+1 :green_heart:
shadedclient
21m 44s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 22s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
14m  8s

the patch passed

+1 :green_heart:
compile
9m 34s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
9m 34s

the patch passed

+1 :green_heart:
compile
8m 37s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
javac
8m 37s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 49s

the patch passed

+1 :green_heart:
mvnsite
13m 52s

the patch passed

+1 :green_heart:
xml
0m  2s

The patch has no ill-formed XML file.

+1 :green_heart:
javadoc
10m 15s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

-1 :x:
javadoc
0m  9s
/patch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-timelineservice-hbase_hadoop-yarn-server-timelineservice-hbase-server_hadoop-yarn-server-timelineservice-hbase-server-1-jdkPrivateBuild-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10.txt
hadoop-yarn-server-timelineservice-hbase-server-1 in the patch failed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10.

-1 :x:
javadoc
0m  8s
/patch-javadoc-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-timelineservice-hbase_hadoop-yarn-server-timelineservice-hbase-server_hadoop-yarn-server-timelineservice-hbase-server-2-jdkPrivateBuild-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10.txt
hadoop-yarn-server-timelineservice-hbase-server-2 in the patch failed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10.

+0 :ok:
spotbugs
0m 21s

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests has no data from spotbugs

+1 :green_heart:
shadedclient
21m 46s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
238m 13s
/patch-unit-hadoop-yarn-project_hadoop-yarn.txt
hadoop-yarn in the patch passed.

+1 :green_heart:
unit
1m  8s

hadoop-yarn-api in the patch passed.

+1 :green_heart:
unit
4m 48s

hadoop-yarn-common in the patch passed.

+1 :green_heart:
unit
2m 55s

hadoop-yarn-server-common in the patch passed.

+1 :green_heart:
unit
4m  9s

hadoop-yarn-server-applicationhistoryservice in the patch passed.

+1 :green_heart:
unit
1m 40s

hadoop-yarn-server-timelineservice in the patch passed.

+1 :green_heart:
unit
1m 19s

hadoop-yarn-server-web-proxy in the patch passed.

+1 :green_heart:
unit
114m 55s

hadoop-yarn-server-resourcemanager in the patch passed.

+1 :green_heart:
unit
22m 53s

hadoop-yarn-server-nodemanager in the patch passed.

+1 :green_heart:
unit
3m 23s

hadoop-yarn-server-tests in the patch passed.

+1 :green_heart:
unit
27m 24s

hadoop-yarn-client in the patch passed.

+1 :green_heart:
unit
0m 54s

hadoop-yarn-server-sharedcachemanager in the patch passed.

+1 :green_heart:
unit
5m 20s

hadoop-yarn-server-timeline-pluginstorage in the patch passed.

+1 :green_heart:
unit
0m 47s

hadoop-yarn-server-timelineservice-hbase-client in the patch passed.

+1 :green_heart:
unit
0m 32s

hadoop-yarn-server-timelineservice-hbase-server-1 in the patch passed.

+1 :green_heart:
unit
2m 41s

hadoop-yarn-server-router in the patch passed.

+1 :green_heart:
unit
0m 57s

hadoop-yarn-server-timelineservice-documentstore in the patch passed.

+1 :green_heart:
unit
22m 26s

hadoop-yarn-applications-distributedshell in the patch passed.

+1 :green_heart:
unit
20m 21s

hadoop-yarn-services-core in the patch passed.

+1 :green_heart:
unit
2m 13s

hadoop-yarn-services-api in the patch passed.

+1 :green_heart:
unit
0m 41s

hadoop-yarn-server-timelineservice-hbase-server-2 in the patch passed.

+1 :green_heart:
asflicense
0m 52s

The patch does not generate ASF License warnings.

763m 43s

Reason
Tests

Failed junit tests
hadoop.yarn.csi.client.TestCsiClient

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3541/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/3541

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell xml

uname
Linux 57b3f75b2e07 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 878cfe5ee0afb655214df9e0533c558ea2618e99

Default Java
Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3541/1/testReport/

Max. process+thread count
955 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-sharedcachemanager hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-client hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1 hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-documentstore hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-2 U: hadoop-yarn-project/hadoop-yarn

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3541/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.


compiler: add support for allocating multiple constants

This fixes #110

Codecov Report

Merging #118 into master will increase coverage by 0.34%.
The diff coverage is 95.34%.

@@            Coverage Diff            @@
##           master    #118      +/-   ##
=========================================
+ Coverage   84.15%   84.5%   +0.34%
=========================================
  Files          35      35
  Lines        2702    2743      +41
=========================================
+ Hits         2274    2318      +44
+ Misses        345     343       -2
+ Partials       83      82       -1

Impacted Files
Coverage Δ

compiler/parser/node.go
9.75% <0%> (-0.25%)
:arrow_down:

compiler/compiler/compiler.go
91.19% <100%> (+0.11%)
:arrow_up:

compiler/parser/parser.go
85.79% <100%> (+1.33%)
:arrow_up:

compiler/compiler/alloc.go
90% <100%> (+1.42%)
:arrow_up:

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 bf2b688...95a6de7. Read the comment docs.


Generate *.pyi stub files and py.typed for extensions

Having text_signature is not sufficient to get ides to offer code completion. Most of them will not load modules to offer suggestions and only parse them. SInce there's nothing to parse for a native module there's no type hints available.
However, since we generate text_signature we can create a simple python script that would load the build library code and use inspect module to produce type stub files. Additionally we need to include py.typed file in the generated package.
If/When https://github.com/python/cpython/pull/101872/files merges we could offer type hints and not only argument hints.
We should skip generation of stub file if there exists a *.pyi file with the name of the module

fixed in #150, we might want to investigate something more powerful that works during compilation


Toc sync fix

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit 2f36a2ce840e69f5183243ad02aebf3833ea5231
https://deploy-preview-9808--docsdocker.netlify.com

Deploy preview for docsdocker ready!
Built with commit 2f36a2ce840e69f5183243ad02aebf3833ea5231
https://deploy-preview-9808--docsdocker.netlify.com

Deploy preview for docsdocker ready!
Built with commit 2f36a2ce840e69f5183243ad02aebf3833ea5231
https://deploy-preview-9808--docsdocker.netlify.com

Deploy preview for docsdocker ready!
Built with commit 2f36a2ce840e69f5183243ad02aebf3833ea5231
https://deploy-preview-9808--docsdocker.netlify.com


fix: race condition causing .status.accessmessage to not be setup

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

25 of 60 (41.67%)  changed or added relevant lines in 6 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.5%) to 37.055%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

controllers/pod_access_request_controller.go
4
5
80.0%

controllers/exec_access_request_controller.go
0
2
0.0%

controllers/builders/exec_access_builder.go
0
8
0.0%

controllers/base_controller.go
12
24
50.0%

controllers/builders/pod_access_builder.go
0
12
0.0%

Files with Coverage Reduction
New Missed Lines
%

controllers/exec_access_request_controller.go
1
0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.5%

Covered Lines:
614

Relevant Lines:
1657

💛  - Coveralls


[Feature] Gym 'vectorized' envs compatibility

cc @matteobettini @albertbou92

On my mcbook, I get to 14-16K fps with 4 async collectors x 8 envs/collector

should we add a "_reset" key too?

Without that how would you be able to do a reset?
you need to do a batched env as soon as it is done no? or does gym take care of that internally?
what does it use to know whats done?

should we add a "_reset" key too?

Without that how would you be able to do a reset? you need to reset a batched env as soon as it is done no? or does gym take care of that internally? what does it use to know whats done?

Without that how would you be able to do a reset? you need to reset a batched env as soon as it is done no? or does gym take care of that internally? what does it use to know whats done?

@matteobettini
I think in most of the code base we define the reset at the point where we read the done. It's internal facing (hence the _ prefix). So I don't think it should be part of the output here. Any idea where it would break?

Any idea where it would break?

I have now read the docs at https://gymnasium.farama.org/api/vector/.
It seems that the vector env auto resets the done sub_envs internally.
Given this, we might need to be careful about a few things:
- any call to env.reset() in a gym vectorised env will reset all the sub_envs in it and does not take any flag to ask which ones to reset.
- our calls to env.reset() https://github.com/pytorch/rl/blob/147de71d090d5705182bfabd24a99f3b2ee4cec9/torchrl/collectors/collectors.py#L828
are passing the internal _reset flag that contains the sub_envs to reset. It seems to me that in the wrapper for gym vector envs we should call env.reset() only if all the _reset dimensions are set. This is because it seems that all the other cases for partial resets are handled internally.
Does it make sense? I might be missing some gymnasium knowledge but this is what i gathered from the docs

Any idea where it would break?

I have now read the docs at https://gymnasium.farama.org/api/vector/. It seems that the vector env auto resets the done sub_envs internally.

This isn't great IMO: does it mean that we must tell collectors to ignore done states then? I was hoping to deprecate that feature in the next release haha.
For the GymWrapper, regarding this line I think we can just do an assertion of whether or not all reset are true or all false, and if it isn't the case we raise an exception saying that it isn't supported (ie, cannot partially reset a vectorized env).
What about frame-skip? Because we can't control the reset, and we can't avoid doing steps in some sub-envs, that prevents any implementation of frame-skip at our level, right? I think both the internal frame-skip and the transform will not be able to handle that...
@albertbou92 want to chime in and share your thoughts?

EDIT: It's actually even worse than that. Say one user wants to use a data collector, with or without async gym env. She needs to dig into both classes to understand that the auto-reset of the collector conflicts with the one of the env. So many silent bugs can arise from this! It isn't really about torchrl but about any loop like

One possible solution is to have (yet another!) attribute within the env like env.auto_reset that tells the collector if the env is or isn't resetting automatically. That could also be used to determine if frame-skip can be used.

Another issue is that the auto-reset screws up the next observation of the last step of the env, which can be found in info["terminal_observation"]. I'm not convinced that this is easier to handle for the users than gathering that obs as they always do and call reset on their own but I don't have any agency on these design choices.
So we also need a custom info reader to swap the next obs in these cases, but I'm not sure of how we're supposed to write the actual obs at the root...

The fact that gymnasium vector environments auto-reset makes frame-skipping behave differently does not change the behavior that much IMO. It will apply the same action N time with or without a reset in between, as opposed to the normal behavior of finishing the loop if end of episode is reached. However, I agree it seems to complicate the code here and there and messes up with with the current code.
Ideally I would think about implementing our own version and allowing for manual reset of subsets of environments, but maybe it is overkill.

Currently, Gym and Gymnasium async and sync vector implementation have autoreset enabled with no way of disabling it.
It would be possible to add a parameter to the implementation to disable and I wouldn't have an issue. Very happy to accept a PR. An alternative solution would be for you to implement this yourself but I understand this is a lot of work.
For the frameskipping, to me, I don't think doing this at the vector level is a good idea but rather it should be done at the sub-environment level. You should be able to apply wrappers to any of the sub-environments used in our async and sync vector environment.
Now for the interesting news, in v1.0.0, we have separated the Env and VectorEnv, (previously VectorEnv inherited from Env which made it difficult for type checking and some wrapper work with a vector env and some did not, by separating this clears it up).  This shouldn't cause any strong issues for you I suspect. The annoyance is more that we are strongly considering modifying how the autoreset is achieved (and most likely doing it, unless there is a reason not considered already). See https://github.com/Farama-Foundation/Gymnasium/pull/694 for all of the details, in short, we are moving from autoresetting happening within the same step from when an episode has ended to resetting in the next step. I'm not sure how much this effects the current conversation but I thought I would note it.
I find vector environment complex to work out what is happening and I'm happy to talk about this on discord otherwise I go up to London fairly regularly if it is easier to talk in person.

Thanks for this @pseudo-rnd-thoughts that's very useful.
My very personal view is that auto-reset isn't as desirable as that. It hampers flexibility and things like knowing what is the actual observation resulting from my action or implementing frame-skip is harder. It also breaks the consistency one could hope for between single and multi-processed envs (ie it feels weird that CartPole executed on 2 processors does not behave like CartPole on one).
I also noticed that info["terminal_observation"] can return a list of None + the final observation or just a plain None, again introducing some inconsistency that is hard to deal with without some appropriate control flow that makes code bases harder to test and generalize. For instance, an observation space encoded as a Dict (like in gymnasium-robotics) gives you a Dict with batched numpy arrays in the values. But the final observation is a list of dicts, so the nesting order is flipped. This is another example of inconsistency that is hard to foresee without running the env for yourself.
I can see the convenience and speedup it can bring but the price to pay seems a bit high.
I've made the workaround in this PR and now torchrl sort of "ignores" the auto-reset by caching the data resulting from the reset and delivering the data from the info. When calling reset with the appropriate mask, you will get the cached data.
Our goal is that if you do GymEnv('CartPole-v1') or GymEnv('CartPole-v1', num_envs=2) the only thing that will differ is the batch size (you data in the second case has a leading dim of 2). All the rest (structure of the data, calls to reset etc) will be unchanged. That way you can hopefully swap one with the other without much effort. Is there anything we're not considering?
I am probably missing some important things in the API design of gymnasium and I'd be happy to know more and understand why the vectorized envs are written that way.
Happy to meet in person when you're in London!

I understand what you intend with GymEnv(CartPole-v1, num_envs=2), this seems like a good idea. I would just note that you might want to consider if / how you would incorporate projects like EnvPool or SampleFactory that provide ~1 million atari fps and ~3 million mujoco fps.

Thanks for the suggestion. Have a look at this

For the "final_observation", I'm a bit surprised by your issues, my understanding is that "final_observation" should contain a list of observation for the last observation for a given sub-environment. Therefore, with 3 environments where the first two terminate then the final observation should be [env 0 obs, env 1 obs, None].

Why not an observation that matched the one found in the first element of the tuple returned by step, with 0 value for all obs that are not final? What puzzles me is that the data is presented in 2 different ways. But the root "problem" is the choice of auto-resetting the env IMO so any patch to that is going to be unsatisfactory for some users. I personally would have expected for final_observation to match the data structure of the env such that I can simply mask things and update my data accordingly.

I'm what is the function type of GymEnv.step? Do you use NumPy array for rewards and terminated / truncated (done) signal?

GymEnv.step always returns a tensordict. All data is presented as pytorch torch.Tensor which facilitates integration in training loops, storage and device casting, as well as distributed communications.
We make sure that the data is always presented in a uniform, unsurprising way. So far, we have not really seen any use case where this choice was more restrictive than allowing for arrays, tuples, dictionaries and the like. The only one is when an observation is a tuple of very heterogeneous stuff (like tuple(tuple(dict, dict), dict)) but at that point one is looking for trouble IMO as the data is presented in a way where ordering is a proxy to semantic functionality differences (simply put, they should be using dictionaries to make sure that they know what they're working with rather than lists of values that are semantically different). @smorad had an issue about that recently.

@pseudo-rnd-thoughts I guess the hope of users such as me for vec-env is that it behaves like pytorch dataloaders.
If you specify num_workers=0 or num_workers=16 this will not affect your training loop in any way (except for a possible if __name__ == "__main__" decorator).
The use case is different, as dataloaders will deliver the exact same datastructure than vec envs (ie you won't get 16 batches at a time if you ask for 16 workers) but sill, the fact that speeding up my code minimanlly disrupts how I code is an amazing feature. It means I can just ask for more resources and test things locally without being surprised at any point.
If I want to achieve the same thing with gymnasium, I either have to always build a vectorized env (like in cleanrl) even if I just have 1 copy to run, or i need a bunch of if/else everywhere in the code. The first option is what I would assume many people do, which I don't think facilitates app development (it's adding a "useless" wrapper and makes debugging harder as checkpointing multiprocessed code isn't easy).
I'm afraid that the choice of creating 2 different classes for single and vec envs in gymnasium 1.0 goes even further away from the interchangeability we're hoping for. Simply look at the amount of effort it takes for us to cover single and mp envs within a single class in TorchRL. Having 2 different env classes for these will be even more difficult.
At the age of jax and functorch, why do we still need to differentiate single and multiprocessed envs? Why can't we vectorize all ops? Like you were saying with envpool, if we were relying on modern solutions we could just tell an env what its batch size is and execute ops in a vectorized way and call it a day. This is the direction that many people want to see (take Isaac or VMAS for instance).

Good questions particularly about scaling to vmapping over stuff and the problem of scaling code.
@RedTachyon might have some helpful thoughts here.
I think the primary answer would be backward compatibility and this is the way that gym was designed, back in the today when people were just trying to get RL to work with a single environment. But I agree that in the modern age (5 years later), Gym is starting to show its limitations.
One of our aims was to separate out Env from VectorEnv is to make the changes between the two more consistent as previously there were a number of small changes that made the change unreliable.
Otherwise designing your algorithm to use vector environment to begin with, then I don't think it is easy to scale in the way that you are discussing but I certainly agree that this is an important area of research

Merging with the following failing tests:

MacOs (unrelated)
RoboHive (unrelated)
Habitat (unrealted)

Awesome!🚀🚀 Any pointers to how to use this feature?


Feature 28/pull gfs data

Expected Differences

[ ] Do these changes modify the system output in any way? [Yes or No]
If yes, please describe:

Pull Request Testing

[x] Describe testing already performed for these changes:

On Cheyenne, I ran the run.py script for several initialization start times using the Caribbean-based namelist. Tests included changing the initialization time to test functionality to pull from NOMADS or S3 based on data availability. I also modified the input_freq_sec to test different input frequencies as well as testing 00 and 12 UTC initializations.
To pull data from NOMADS or S3, I modified the yml file to have an empty string for local_data.
Note 1: I did have to add several Python packages to the wrfcloud conda environment (e.g., boto3).
Note 2: Additional warning and error checking will need to be implemented.

[x] Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:
@hahnd - Can you please do a review of the code changes to offer any Python-related suggestions as needed?
@fossell - Can you please run a couple new tests not using local_data? Running a time available on NOMADS as well as one not available would exercise the new functionality. The retention period of NOMADS is ~10 days.

To run (assuming your experiment is called 'test'):
git clone -b feature-28/pull_gfs_data https://github.com/NCAR/wrfcloud
cd $PATH_TO_CLONED_REPO/wrfcloud/python/src/wrfcloud/runtime
ln -sf /glade/p/ral/jntp/CCproject/wrfcloud/WRFV4.4_intel_dmpar/ WRFV4
ln -sf /glade/p/ral/jntp/CCproject/wrfcloud/WPSV4.4_intel_serial_large-file/ WPSV4

cp /glade/p/ral/jntp/CCproject/wrfcloud/wpsprd/geo_em.d01.nc $PATH_TO_CLONED_REPO/wrfcloud/python/src/wrfcloud/runtime/domains/test
Set up your test.yml in $PATH_TO_CLONED_REPO/wrfcloud/python/src/wrfcloud/runtime to have correct dates, intervals, and set local_data to be an empty string
Set up your namelist.wps in $PATH_TO_CLONED_REPO/wrfcloud/python/src/wrfcloud/runtime/domains/test
In $PATH_TO_CLONED_REPO/wrfcloud/python/src/wrfcloud/runtime:
python run.py --name test

[ ] Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [No]
No documentation was added for these mods. There should likely be some high-level description of where data is pulled from, if not provided locally.

[ ] Do these changes include sufficient testing updates? [Yes or No]

[ ] Will this PR result in changes to the test suite? [Yes or No]
If yes, describe the new output and/or changes to the existing output:

[ ] Please complete this pull request review by [12 August 2022].

Pull Request Checklist

[x] Review the source issue metadata (labels, project, and milestone).
[x] Complete the PR definition above.
[x] Ensure the PR title matches the feature or bugfix branch name.
[x] Define the PR metadata, as permissions allow.
Select: Reviewer(s)
Select: Project
Select: Milestone as the version that will include these changes
Select: Development to link to the original development issue.
[ ] After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
[ ] Close the linked issue and delete your feature or bugfix branch from GitHub.

@hahnd, @fossell, @mkavulich -- I made a number of mods based on the helpful comments and suggestions above:

I pulled out the remote grib data acquisition and put it in tools/get_grib_input.py.
Moved NOMADS and AWS URLs to resources/env_var.yaml, so they aren't hardcoded (environment vars are initialized in run.py).
Removed duplicate download issue.
Some other code clean-up (e.g., only one section of code for linking)

@michelleharrold - GitHub wasn't letting me make comments on the PR, so I put some comments into a new branch: origin/feature-28/pull_gfs_data_codereview_hahnd.

Here are the changes from David's branch, in case anyone else was having trouble finding them: https://github.com/NCAR/wrfcloud/commit/671c4b48d450960da15780277025f9dd7f03bc2e

@hahnd If we pull in these changes will the PR be okay to merge?

Yes, I think it is ok to merge.

I pulled in all of David's suggestion (sorry about all the typos, yikes!). I reran a couple quick tests. All is good.


Add Opentelemetry Integration to Python SDK

Adds a approzium.opentelemetry.instrument() method that instruments Opentelemetry modules to add Approzium-specific tags to Approzium connections (those tags are populated from authclient.attribution_info).
For demo purposes, this adds a Jaeger service to docker-compose.yml
View example

Example end result (using Jaeger exporter for Opentelemetry):

Added automatically adding EC2 instance metadata to the AuthClient.attribution_info. Currently, we collect the the public hostname, public ipv4 and instance_id. Based on feedback, we can add more. The full available options can be viewed here.


Fix banner

When the resolution is bigger than 1620px the background repeat and page banner will be shown incorrectly.
https://imgur.com/a/db1sZDG

YES THANK YOU I MEANT TO FIX THIS

No problem :)

Ups I wrote wrong the property name :( center and should be cover


Add Tables

Sets different fork defaults, adds tables for migration 3, a DT migration. DT is still up-to-date with charm latest version 2.
|Charm|DT-Charm|DT|
|2|2|3|
Migration0003_DT_Passwords_And_Keys is a db migration script.
This migration adds the following tables:
- connection
- hash_public_key
- text_public_key
- private_key
The tables are used to store passwords and keys.
One can get the public key for a given hash or text.
Certain public keys can have their private key stored and shared.
Connections have their details stored in the connection table.

instead of using build tags and muddying up the build command, i kind of prefer actually adding driver into the migration process. make rename sql 'sql-up' and make it a string map where key is driver. but unfortunately this isnt exactly what is needed here because libsql behaves like sqlite in local vs remote where you can use random rowid  https://github.com/tursodatabase/libsql-client-go/issues/104


French translation

Hello,
I want to contribute to mhabit with a French translation. If there is another French speaker here, it would be nice to check the result !
I also corrected a typo in the documentation "Add new locale support".
Best regards

Thanks for the translation you contributed!


TiledClass break bevy native compoment.

#[derive(TiledObject, Bundle, Default, Reflect, Debug)]
struct PlayerBundle {
    p:Player,
}

#[derive(TiledClass, Reflect, Debug, Default, Component)]
struct Player;

I register this type and I want create an system to spawn player when compoment spawn
.add_systems(Update, spawnplayer.run_if(any_with_component::<Player>))

Then the compiler was angry!
error[E0599]: the method `run_if` exists for fn item `fn(&mut Commands<'b, 'c>, Query<'d, 'e, &Transform, With<Player>>) {spawnplayer}`, but its trait bounds were not satisfied
  --> src/main.rs:21:42
   |
21 |         .add_systems(Update, spawnplayer.run_if(any_with_component::<Player>))
   |                                          ^^^^^^ method cannot be called due to unsatisfied trait bounds
   |
   = note: the following trait bounds were not satisfied:
           `for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: IntoSystem<(), (), _>`
           which is required by `for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: bevy::prelude::IntoSystemConfigs<_>`
           `for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: SystemSet`
           which is required by `for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: bevy::prelude::IntoSystemSetConfigs`
           `&for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: IntoSystem<(), (), _>`
           which is required by `&for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: bevy::prelude::IntoSystemConfigs<_>`
           `&for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: SystemSet`
           which is required by `&for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: bevy::prelude::IntoSystemSetConfigs`
           `&mut for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: IntoSystem<(), (), _>`
           which is required by `&mut for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}:
bevy::prelude::IntoSystemConfigs<_>`
           `&mut for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}: SystemSet`
           which is required by `&mut for<'a, 'b, 'c, 'd, 'e, 'f> fn(&'a mut bevy::prelude::Commands<'b, 'c>, bevy::prelude::Query<'d, 'e, &'f bevy::prelude::Transform, bevy::prelude::With<Player>>) {spawnplayer}:
bevy::prelude::IntoSystemSetConfigs`

What can i do?

My fault, system param has some typo.


Second alpha

I noticed that I needed constraints. And then one thing lead to the other and now I think almost everything is implemented :shrug:
New:

Create and manage constraints
Logging and saving states
Set physics engine parameters
Collision Detection Queries
Deformables and Cloth
all other connections methods.

Still missing:

Everything MultiDOF related
Virtual Reality
Plugins
a few very small things

You dont need to review it right now as I am going to merge it anyway :sweat_smile: . Hope this is fine for you. All the methods are written in the style we agreed on. One thing I havent spend too much time on was naming the "PhyiscsServer". We can rename it later to something that reflects better what it does.

Merge away! If I have opinions on anything, I'm more than happy to let them sit until I'm actually contributing.


Test container not picking up migration file.

Hey 👋,
I am working on a Scala project and would like to use Testcontainers to test database migration.
The problem I am currently facing is that the migration file is not being picked up by Testcontainers.
  Class.forName(container.driverClassName)
  val connection = DriverManager.getConnection(
    container.jdbcUrl,
    container.username,
    container.password
  )

Do I need any special config for this to happen?

Hi @SarpongAbasimi
Could you give more details? How do you create your containers? Where are your migrations? How do you expect them to work?

@LMnet I create my containers using
  Class.forName(container.driverClassName)
  val connection = DriverManager.getConnection(
    container.jdbcUrl,
    container.username,
    container.password
  )

Maybe I am not clear on how Testcontainers works, If you could explain it to me that will be great.

@SarpongAbasimi this code does not seem related to the testcontainers and to your question. At this moment I could only suggest you read the documentation of testcontains-scala and testcontainers-java.

@LMnet  the code is from here
Link - https://github.com/testcontainers/testcontainers-scala
Have a look at the Postgres section.
I have also gotten testcontainers to work this morning.


Attempt to provide correct API for multipart resources management

The problem itself was described in #431.
Here is an implementation of another approach. Each chunk of decoded request now has :release closure that should be called by the end user after chunk is used. Looks somewhat clumsy to me but at least it's fair enough in terms of handling resources allocated earlier. I tried really hard to emphasize the idea in docs and cover with tests. Not sure if it's clear enough tho'.
Decoder automatically takes care of those chunks that we not "used" which might be a problem too. Let's say I got a request with 2 files from the client but my handler actually does (stream/take! chunks) to deal with 1 of them. The underlying decoder will eventually read the entire input stream and parse that to HttpData that will be removed from cleaning procedure right after chunk was read from the chunks stream. Potentially it's a situation of another race: either d/chain callback or release wins. But I think it's better to try to release the same resource twice instead of not trying at all. Also not sure about performance penalties here, seems like a lot of juggling with callbacks is required here (see read-attributes implementation) @ztellman

I want to think about this API once again as I personally find it a bit clumsy... Resource cleanup for multipart is a mess in Netty by itself (e.g. some thoughts here). The necessity to call release closure manually will possibly introduce even more problems in applications code. Maybe we need to consider callback API, so the implementation here will be responsible for taking parts, passing them to callback and releasing after?

@kachayev Other than memory uploads/attributes not being completely cleaned up, I have a working solution implemented in Micronaut. We have the requirement of taking the data produced by netty and converting it into a method signature for example Publisher<Part> file so the user can process the data chunk by chunk and control the flow. The work to retrieve and release the uploads per chunk is mostly done here. https://github.com/micronaut-projects/micronaut-core/blob/master/http-server-netty/src/main/java/io/micronaut/http/server/netty/HttpDataReference.java

@jameskleeh Thanks a lot for the reference, I'll take a look shortly!

Among the first option variants I think Closable is the best, particularly because it's consistent with http/start-server. Do you have any particular reason to use vector as the return value instead of map?

because it's consistent with http/start-server

Actually, only because it's consistent with the server. I don't see any other good reasons. We have with-open macro in a standard library, but it doesn't understand async context. Ideally, we need something like Python's async with.

Do you have any particular reason to use vector as the return value instead of map?

That's how it's done internally, e.g. for websockets server handler. Map would be okay too.

As of now, merging into 1.0.0 branch to accumulate pre-release changes there.
We might also consider to remove deprecated function for the sake of keeping 1.0 clean. More of a style question.


docs: Automated Changelog Update for v5.0.1-beta2-higress-2.0.1

copilot:all
Automated changes by create-pull-request GitHub action

🤖 Generated by lychee action
Summary

Status
Count

🔍 Total
2169

✅ Successful
497

⏳ Timeouts
0

🔀 Redirected
0

👻 Excluded
1670

❓ Unknown
0

🚫 Errors
0

Full action output
Full Github Actions output


WIP: function bind

Not done yet. But basic support is implemented.
Parser understands :: syntax and has tests.
It is not yet guarded behind esproposal.function_bind.
actual usage still has some rough edges. (Complaining about undefined context and stuff like that)

My start on this is way to naive. Gonna need more time & a fresh start.


Adding Invoke-Robocopy to internal commands

I mostly wanted to restart the conversation around Move-DbaDbFile
Let's just use robocopy, and not try 43 different ways to Sunday for v1
This can be simple and we can pile on later. @ClaudioESSilva had some old code that we can explore, perhaps.
We use Invoke-Command2 -Raw and the definition of Invoke-Robocopy within the scriptblock
http://www.smattie.com/2016/05/02/how-to-use-robocopy-to-move-sql-files/ which shows active output (unsure if it'll work with the way we call it)
refs
Robocopy e:\mssql\backup\bkAP.bak \\DestinationServer\f$\mssql\backup\bkAP.bak /MIR /SEC /Log:c:\temp\bkAP.log
so /MIR /SEC by default? Retry and wait that are settable /R:1 /W:5
http://www.sqlservercentral.com/articles/Disaster+Recovery+(DR)/75860/

Use copy-item, not robocopy. Please.
Il gio 27 set 2018, 16:49 Chrissy LeMaire<EMAIL_ADDRESS>ha
scritto:

I mostly wanted to restart the conversation around Move-DbaDbFile
Let's just use robocopy, and not try 43 different ways to Sunday for v1
This can be simple and we can pile on later. @ClaudioESSilva
https://github.com/ClaudioESSilva had some old code that we can
explore, perhaps.
We use Invoke-Command2 -Raw and the definition of Invoke-Robocopy within
the scriptblock
http://www.smattie.com/2016/05/02/how-to-use-robocopy-to-move-sql-files/
which shows active output (unsure if it'll work with the way we call it)
refs
Robocopy e:\mssql\backup\bkAP.bak
\DestinationServer\f$\mssql\backup\bkAP.bak /MIR /SEC /Log:c:\temp\bkAP.log
so /MIR /SEC by default? Retry and wait that are settable /R:1 /W:5
http://www.sqlservercentral.com/articles/Disaster+Recovery+(DR)/75860/
You can view, comment on, or merge this pull request online at:
https://github.com/sqlcollaborative/dbatools/pull/4088
Commit Summary

adding Invoke-Robocopy to internal commands

File Changes

A internal/functions/Invoke-Robocopy.ps1
https://github.com/sqlcollaborative/dbatools/pull/4088/files#diff-0
(209)

Patch Links:

https://github.com/sqlcollaborative/dbatools/pull/4088.patch
https://github.com/sqlcollaborative/dbatools/pull/4088.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/pull/4088, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAHdB-Ji5cr3bmVGcYHs5WM-OSrE9ZZGks5ufOV0gaJpZM4W81Xk
.

copy-item blows, why do you like it

I love robocopy because it retries and it just works. I moved some files around tonight by using robocopy source destination /MIR /Z /SEC /XE "System Volume Information" and it worked so well. I even got interrupted by some file perm issues (hence System Volume Information) and I resumed just like that. The whole experience was so fast.

I guess we'll agree on disagreeing
Il gio 27 set 2018, 20:39 Chrissy LeMaire<EMAIL_ADDRESS>ha
scritto:

I love robocopy because it retries and it just works. I moved some files
around tonight by using robocopy source destination /MIR /Z /SEC /XE
"System Volume Information" and it worked so well. I even got interrupted
by some file perm issues (hence System Volume Information) and I resumed
just like that. The whole experience was so fast.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/pull/4088#issuecomment-425199948,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHdB22r7oQTRyUCr3IM8GMMTKtwDGQhks5ufRtigaJpZM4W81Xk
.

Robocopy is a great tool but it's Windows only. What happens when serious thought is given to porting dbatools to non-Windows platforms?

we can add it at that time, or detect by os and use rsync or copy-item. rsync has that resiliency i like about robocopy, tho i dont recall if it's zippy.

convincing argument that bums me out ;)

collect requirements 2) choose the best tool for the job


v7: Perform more strict checks for existence of "Cargo.lock" files

Ensure that all Cargo.lock files are present (including the one in the Cargo workspace).
Ensure that, after build, no Cargo.lock files have been created or altered.

Fixed by #64 and #62.