Proposal: Allow a name bound to a class value to be used in a type position to reference the class's instance type

Proposal: Allow a name bound to a class value to be used in a type position to reference the class's instance type
What?
In TypeScript, when a class is created and bound to a name via a class declaration, the name can be used in both value and type positions. In contrast, when a class is bound to a name via const, let, or var, the name can only be used in value positions.
I propose that when a class is bound to a name via const, let, or var, the name should be usable in both value and type positions, and that when such a name is used in a type position, it be interpreted as the instance type of the bound class value.
More formally:

A name should be deemed a ClassValueName if:

It is declared via a const, let, or var statement, and
Its type is assignable to new (...args: any[]) => any, and
Its type is not any

A ClassValueName should be usable in any type position that a class declaration name could be used in, and
A ClassValueName used in a type position should be interpreted as the instance type of the class value, in the same way that a class declaration name used in a type position is interpreted as the instance type of the class declaration

Examples of proposed behaviour
// `Foo` is of type `new () => {}`
const Foo = class {};

// `Foo` can be used in a type position here, and `foo` is of type `{}`
const foo: Foo = new Foo();

// `Foo` is of type `new <T>(value: T) => { value: T }`
const Foo = class <T> { constructor(public value: T) {} };

// `Foo` can be used in a type position here (and is generic), and `foo` is of type `{ value: number }`
const foo: Foo<number> = new Foo(42);

function newFooClass() {
  return class <T> { constructor(public value: T) {} };
}

// `Foo` is of type `new <T>(value: T) => { value: T }`
const Foo = newFooClass();

const foo: Foo<number> = new Foo(42);

const classes = {
  Foo: class <T> { constructor(public value: T) {} }
};

// `Foo` is of type `new <T>(value: T) => { value: T }`
const { Foo } = classes;

const foo: Foo<number> = new Foo(42);

const withBrand =
  <B extends string>(brand: B) =>
    <C extends new (...args: any[]) => {}>(ctor: C) =>
      class extends ctor {
        brand: B = brand;
      };

const Foo = class <T> { constructor(public value: T) {} };
// `FooWithBrand` is of type `new <T>(value: T) => ({ value: T } & { brand: 'Foo' })`
const FooWithBrand = withBrand('Foo')(Foo);

// `FooWithBrand` can be used in a type position here (and is generic), and `fooWithBrand` is of type `{ value: number } & { brand: 'Foo' }`
const fooWithBrand: FooWithBrand<number> = new FooWithBrand(42);

Why?
Unlike a class declaration, a class value requires a separate type declaration to expose the class's instance type
For class declarations, we can simply use the name of the class in a type position to reference its instance type:
class Foo {}

const foo: Foo = new Foo();

But for class values, a separate type declaration is required:
const Foo = class {};

type Foo = InstanceType<typeof Foo>;

const foo: Foo = new Foo();

Requiring a separate type declaration has a few issues:

It's inconsistent with class declarations (which don't require a manual type declaration)
It doesn't work for generic classes (see next section)
It's boilerplate (which adds up, especially with multiple classes in the same file)

With this proposal however, we wouldn't need a separate type declaration, and all of the following would just work:
const Foo = class {};

const foo: Foo = new Foo();

function newFooClass() { return class {}; }

const Foo = newFooClass();

const foo: Foo = new Foo();

const classes = { Foo: class {} };

const { Foo } = classes;

const foo: Foo = new Foo();

There is currently no way to access the generic instance type of a generic class value
None of the following work:
const Foo = class <T> { constructor(public value: T) {} };

const foo: Foo<number> = new Foo(42);
// => Error: 'Foo' refers to a value, but is being used as a type here.

const Foo = class <T> { constructor(public value: T) {} };

type Foo = InstanceType<typeof Foo>;

const foo: Foo<number> = new Foo(42);
// => Error: Type 'Foo' is not generic.

const Foo = class <T> { constructor(public value: T) {} };

type Foo<T> = InstanceType<typeof Foo<T>>;
// => Error: '>' expected.

const foo: Foo<number> = new Foo(42);

const Foo = class <T> { constructor(public value: T) {} };

type Foo<T> = InstanceType<typeof Foo><T>;
// => Error: ';' expected.

const foo: Foo<number> = new Foo(42);

With this proposal however, we could simply use the name of the class value in a type position to reference its generic instance type:
const Foo = class <T> { constructor(public value: T) {} };

const foo: Foo<number> = new Foo(42);
// => No error

It enables a potential workaround for #4881
This doesn't work:
const withBrand =
  <B extends string>(brand: B) =>
    <C extends new (...args: any[]) => {}>(ctor: C) =>
      class extends ctor {
        brand: B = brand;
      };

@withBrand('Foo')
class FooWithBrand<T> {
  constructor(readonly value: T) {}
}

type FooBrand<T> = FooWithBrand<T>['brand'];
// => Error: Property 'brand' does not exist on type 'FooWithBrand<T>'.

But with this proposal, we could do this:
const withBrand =
  <B extends string>(brand: B) =>
    <C extends new (...args: any[]) => {}>(ctor: C) =>
      class extends ctor {
        brand: B = brand;
      };

const FooWithBrand = withBrand('Foo')(
  class <T> {
    constructor(public value: T) {}
  }
);

type FooBrand<T> = FooWithBrand<T>['brand'];

While this wouldn't be type support for actual decorators, it would at least provide a means of class decoration that's reflected at the type level.
Flow supports this (there is prior art)
The following all work in Flow:
const Foo = class {};

const foo: Foo = new Foo();

const Foo = class <T> {
  value: T;
  constructor(value: T) { this.value = value; }
};

const foo: Foo<number> = new Foo(12);

function newFooClass() { return class {}; }

const Foo = newFooClass();

const foo: Foo = new Foo();

function newFooClass() {
  return class <T> {
    value: T;
    constructor(value: T) { this.value = value; }
  };
}

const Foo = newFooClass();

const foo: Foo<number> = new Foo(42);

const classes = { Foo: class {} };

const { Foo } = classes;

const foo: Foo = new Foo();

const classes = {
  Foo: class <T> {
    value: T;
    constructor(value: T) { this.value = value; }
  }
};

const { Foo } = classes;

const foo: Foo<number> = new Foo(42);

While feature parity with Flow is obviously not one of TypeScript's goals, Flow supporting this behaviour means that there's at least a precedent for it.
Why not?
It may be a breaking change
Depending on the implementation approach, this may be a breaking change.
For example, if this proposal were to be implemented by having the compiler automagically generate a separate type name whenever it encountered a ClassValueName, the generated type name may clash with an existing type name and break that currently working code.
On the other hand, if it were possible to implement this proposal using some kind of fallback mechanism (such as preferring any existing type name over using a ClassValueName in a type position, for instance), then the change would be backwards compatible.
It is currently unclear whether or not the proposed change can be implemented in a backwards compatible manner.
It "muddies" the separation between the value and type namespaces
TypeScript maintains separate namespaces for values and types. While this separation is fairly core to the language, there are already several exceptions in the form of class declarations, enums, and namespaces.
This proposal would introduce a new exception to that separation. This exception is particularly notable, as it would mark the first time a const, let, or var-declared name would be permitted in a type position. This is in contrast to all current exceptions, which each have construct-specific declaration syntax that differentiates them from standard variable declarations.
This proposal's "muddying" of the separation between the value and type namespaces may be confusing and/or surprising for both new and existing TypeScript users.
Next steps

[ ] Get feedback from both the TypeScript team and the community
[ ] Investigate potential implementation strategies

Checklist
My suggestion meets these guidelines:

[ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code (unclear at this stage)
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

Aah, so this is what biting me with my mixins!
I have the following code (Playground):
class BaseClass {

}

type Constructor<T = {}> = new(...args: any[]) => T;

function getMyCoolClass<T extends Constructor>(base: T) {
    return class extends base {

    }
}

const MyCoolClass = getMyCoolClass(BaseClass)

interface MyInterface {
    x: BaseClass
    y: MyCoolClass
}

And y is invalid because of this.
A possible solution for me is doing this:
class MyBetterClass extends getMyCoolClass(BaseClass) {}

But that seems a bit over the top...

I think this would definitely help with mixins.

@RyanCavanaugh This would obviously be a fairly niche feature, and one that would be difficult for the team to prioritise as a result. With that said, would the team be willing to accept a community PR for this?

@treybrisbane the presence/absence of a PR doesn't change our feature acceptance criteria in either direction. This would be straightforward to implement; the question is rather whether or not it's a good idea for the language to behave this way.
Looking at this again with fresh eyes, the bar is very high since it would effectively mean that adding any new type name to the global scope would start being a potential breaking change, since we would have to make global type names "win" over local value names for this change to itself not be an enormous breaking change.

It's especially problematic in that regard since there's really no way of predicting what global type names are going to come into your program through .d.ts files and their dependencies. We'd have to start applying a much stricter regime on DefinitelyTyped to enforce people to not create new global type names unless they absolutely had to. It'd be weird from a user perspective -- you upgrade some type defs from @types and a new global shows up and starts shadowing your local value-as-type name (since it has to), and there'd no straightforward way to work around that except for to apply the existing workaround of declaring a local type alias.

@RyanCavanaugh Thanks for taking the time to look at this again. 🙂
You raise some very good points. With them in mind, I agree with your assessment that this is a pretty tough sell.
I kinda wanna leave the issue open just on the off chance that it gains popularity and/or somehow becomes more feasible later, however given the implications of the change, I would totally understand if you want to decline and close it now. I'll leave that up to you to decide.
Again, thanks for taking the time to look at this and write out your thoughts. 🙂

but I'm struggling to find the real use cases

@RyanCavanaugh you need this if you use mixins
I use mixins a lot and cannot use them as types anymore. At the end of the day, they are perfectly fine classes but I can't be used as types?
So, this is not just an edge use case but it took mealso  half a day to understand what's wrong with my code. First, I had to refactor a lot to understand that the cause are mixins and then I had to find this thread to give this confusion a name. I'd say next some missing essential feature we add some unintuitive behavior which adds quite some confusion and a so-so dev experience to the mix. 😶
Check the last two lines for an example and to see the difference: https://stackblitz.com/edit/typescript-1czz7l?file=index.ts


can not get uri in ListView

this is something that I miss here.
I want to take a uri photo from my data.
const dataObjects = [
{
title: 'just a title',
photo: {uri: "http://google.com/picture.jpg"},
    },
]

and in the listView:
{rowData.title}
and the picture is not show. only if I use require('../images/....png') it is work.
can someone help to to get url picture to my data?
Thanks

same issue


TextField with variant "outlined" does not receive focus when clicking on label.

I have a TextField with variant "outlined" and when the user click exactly over the label, the control does not receives focus.
This behavior is not seen in Component Demos of official website, but I built an example to show it:
https://codesandbox.io/s/013yn872mp
If you click in the TextField exactly over the label, the control does not receive focus. In any other place, it works.

@arpontes I'm closing as a duplicate of #12997.

Sorry. I did a search some days ago, and didnt find anything. Days later, I opened this issue.

No problem, thanks for taking the time :)


Error when setting API Key. Seems like it just hangs when trying to configure provider.

It worked before, and then suddenly stopped working. Tried resetting the config, etc. I get an error when setting the API key. It seems like it just hangs when trying to configure the provider. Also, it shows 'Enter the openai.com API Key' even though I have chosen Azure OpenAI. Tested directly with curl, and this works fine.

I have the same issue using the openai.azure.com variant. It used to be working fine.
The log output shows it tries to connect to api.openai.com instead of the azure instance URL while this is chosen in settings and using the setup the correct URL is provided.
To reproduce:

Click the vscode-openai button in the bottom bar to setup.

Click openai.azure.com:

Enter instance URL and press enter

Enter instance Key, I noticed it says openai.com instead of azure

After entering the process hangs, this is shown in the logs. after hitting Esc the incorrect API key shows up:

2024-01-19 13:44:16.398 [error]		Error: 500 status code (no body)
2024-01-19 13:44:16.399 [error]		TypeError: Cannot read properties of undefined (reading 'status')
2024-01-19 13:47:21.072 [error]		Error: 401 Incorrect API key provided: ********************. You can find your API key at https://platform.openai.com/account/api-keys.
2024-01-19 13:47:21.075 [info]		setting_configuration - event properties
{
"vscode_version": "1.85.1",
"vscode_ui_kind": "desktop",
"vscode_language": "en",
"extension_version": "1.5.7",
"service_provider": "OpenAI",
"host": "api.openai.com",
"base_url": "https://api.openai.com/v1",
"inference_model": "setup-required",
"inference_deploy": "setup-required",
"embeddings_model": "setup-required",
"embeddings_deploy": "setup-required",
"az_api_version": "2023-05-15"
}
2024-01-19 13:47:56.133 [error]		Error: 500 status code (no body)
2024-01-19 13:47:56.134 [error]		TypeError: Cannot read properties of undefined (reading 'status')

hi @JorievSantvoort
sorry for the delayed response. i've changed country recently and that's taken up most of my time.
Are you still having issues? could you run the "reset..." and re-try the setup. I can replicate the issue your having with any of the services.

Ok, thanks. There were some bug fixes in the previous release. Will close the issue. But let me know if there are any other issues


feat(icons): add initial Icons package

feat(icons): add initial package

TASK:  #366
Description, Motivation and Context

When installing the dependencies, the icons package will parse all svg from assets and create its proper tsx. It will also index all of them and place them on the proper stories section.
All svgs from assets will be

optimized: reduces the commas to 4 max
pathified: converts all simple shapes to path
normalized

remove class
remove width
remove height
set fill 'currentcolor'
set stroke 'curretncolor'

a11y title label text added
componentized: converted to tsx
prettified
tested

Types of changes

[x] ✨ New feature (non-breaking change which adds functionality)

Screenshots - Animations

Is it ok to have to check svg's?

packages/components/icons/src/icons/Check.tsx
packages/components/icons/assets/check.svg

it looks good to easy track where component changes come from

Maybe we could add a README or something similar to explain the process to add icons to this package in the future ? wdyt ?
DONE. thanks. good idea.
https://github.com/adevinta/spark/pull/458/commits/29dc029e005e9ad283a2037484dc23b06df48ba5


frame contracts: expected associated type, found enum pallet::Event

i just tried building from latest 'master' branch and got the following error:
  error[E0308]: mismatched types
     --> /Users/me/code/paritytech/substrate/frame/contracts/src/exec.rs:914:30
      |
  914 |         <T as Config>::Event::from(event).into(),
      |                                    ^^^^^ expected associated type, found enum `pallet::Event`
      |
      = note: expected associated type `<T as frame_system::Config>::Event`
                            found enum `pallet::Event<T>`
      = help: consider constraining the associated type `<T as frame_system::Config>::Event` to `pallet::Event<T>` or calling a method that returns `<T as frame_system::Config>::Event`
      = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html

Do you use latest stable?

Do you use latest stable?

i actually tried using the latest 'master', maybe i should go back to using the latest stable :-)

i just tried building the latest stable release https://github.com/paritytech/substrate/releases/tag/v3.0.0 at commit 49a4103f4bfef55be20a5c6d26e18ff3003c3353
git fetch upstream v3.0.0:v3.0.0
git checkout v3.0.0
cargo build --release

but it gives the following error. maybe it's because i'm using an old version of rustc nightly-2020-10-06-x86_64-apple-darwin
   Compiling pallet-offences-benchmarking v3.0.0 (/Users/ls2/code/paritytech/substrate/frame/offences/benchmarking)
error[E0308]: mismatched types
   --> frame/offences/benchmarking/src/lib.rs:288:6
    |
288 |                     pallet_balances::Event::<T>::Endowed(reporter, (reward_amount / r).into())
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected associated type, found enum `pallet_balances::Event`
    |
    = note: expected associated type `<T as frame_system::Config>::Event`
                          found enum `pallet_balances::Event<T>`
    = help: consider constraining the associated type `<T as frame_system::Config>::Event` to `pallet_balances::Event<T>`
    = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.
error: could not compile `pallet-offences-benchmarking`

i was using a clone of an old fork i made of the substrate repo, and i'd updated it locally to the latest substrate master, then switched back to v3.0.0.
so i've now deleted that clone, and recloning directly from substrate's repo, then i'll switch to v3.0.0 branch, and try building that

hmm, we'll it just finished building after a fresh clone , and i got the same error.


Support multiple upstream settings

Is your feature request related to a problem? Please describe.
@upstream directive is used to define some settings for the upstream server that will affect all of the requests made by tailcall. Currently, it's only possible to define one upstream setup that will be shared by all of the resolvers. Current approach, doesn't allow to specify different settings for different upstream and the limits setup ability for cases of tailcall to multiple non-equivalent apis.
Describe the solution you'd like
Able to specify multiple @upstream directives for different apis that could be referenced by id for resolvers.
Or rethink the way the upstream settings are defined.
Describe alternatives you've considered
We can put all of the required settings to the resolver level, but it will require a lot of duplication in logic for multiple resolver operators and also duplication for settings for resolvers to the same upstream from different fields.

@meskill
Proposed solution, let me know your thoughts.

If only a single upstream is specified, it will be the default, and things will work as before.

schema
  @server(port: 8000, graphiql: true, hostname: "<IP_ADDRESS>")
  @upstream(baseURL: "http://jsonplaceholder.typicode.com", httpCache: true) {
  query: Query
}

type Query {
  # gets posts from http://jsonplaceholder.typicode.com
  posts: [Post] @http(path: "/posts")

  # gets a user from http://jsonplaceholder.typicode.com
  user(id: Int!): User @http(path: "/users/{{args.id}}")
}

Multiple upstream directives can be specified with different ids.
http and graphql directives will have an upstream attribute to specify the particular upstream id to get properties from.
An upstream directive without an id is considered the default, and http and graphql directives that do not specify an upstream attribute will get properties from the default.
There should be validation to check that there is only one upstream without an id

schema
  @server(port: 8000, graphiql: true, hostname: "<IP_ADDRESS>")
  @upstream(baseURL: "http://jsonplaceholder.typicode.com", httpCache: true)
  @upstream(id: "myupstream" baseURL: "http://myupstream.com", httpCache: true)  {
  query: Query
}

type Query {
  # gets posts from http://jsonplaceholder.typicode.com
  posts: [Post] @http(path: "/posts")

  # gets a user from http://myupstream.com
  user(id: Int!): User @http(upstream: "myupstream", path: "/users/{{args.id}}")
}

To keep things simple, upstreams will get default values for properties that are not specified, they do not inherit anything from the default upstream.

@meskill Proposed solution, let me know your thoughts.

If only a single upstream is specified, it will be the default, and things will work as before.

schema
  @server(port: 8000, graphiql: true, hostname: "<IP_ADDRESS>")
  @upstream(baseURL: "http://jsonplaceholder.typicode.com", httpCache: true) {
  query: Query
}

type Query {
  # gets posts from http://jsonplaceholder.typicode.com
  posts: [Post] @http(path: "/posts")

  # gets a user from http://jsonplaceholder.typicode.com
  user(id: Int!): User @http(path: "/users/{{args.id}}")
}

Multiple upstream directives can be specified with different ids.
http and graphql directives will have an upstream attribute to specify the particular upstream id to get properties from.
An upstream directive without an id is considered the default, and http and graphql directives that do not specify an upstream attribute will get properties from the default.
There should be validation to check that there is only one upstream without an id

schema
  @server(port: 8000, graphiql: true, hostname: "<IP_ADDRESS>")
  @upstream(baseURL: "http://jsonplaceholder.typicode.com", httpCache: true)
  @upstream(id: "myupstream" baseURL: "http://myupstream.com", httpCache: true)  {
  query: Query
}

type Query {
  # gets posts from http://jsonplaceholder.typicode.com
  posts: [Post] @http(path: "/posts")

  # gets a user from http://myupstream.com
  user(id: Int!): User @http(upstream: "myupstream", path: "/users/{{args.id}}")
}

To keep things simple, upstreams will get default values for properties that are not specified, they do not inherit anything from the default upstream.

Sound good for me. In implementation should add validation for uniqueness of the id and proper upstream referencing.

can't we use leverage enums here?

can't we use leverage enums here?

Do you mean for the upstream ids?

Yes.

Is this dead? is there a plan to add this feature?


service not started after run from Dockerfile

hi, im building Cerebro for a Dockerfile.
After i created my image and did the run command, the service is not started, even though i end my Dockerfile with the following:
CMD [ "./usr/local/bin/cerebro "]
I have also tried the following:
CMD ["nohup ./usr/local/bin/cerebro &"]
im running on Linux version 4.8.0-51-generic
Any help will be appreciated.

You can do it like that :
FROM java:openjdk-8u72-jdk
COPY ./bin ./cerebro
WORKDIR ./cerebro/cerebro-0.6.3
ENTRYPOINT ./bin/cerebro
You must have a ./bin/cerebro-0.6.3 folder at the same level as the Dockerfile

thank you @snuids


SAM functions give {"message":"Forbidden"}

Getting {"message":"Forbidden"} when accessing SAM endpoints on AWS. Here is the exact command:
$ curl `aws cloudformation describe-stacks --stack-name aws-compute-options-lambda --query "Stacks[].Outputs[?OutputKey=='GreetingApiEndpoint'].[OutputValue]" --output text`
{"message":"Forbidden"}

Steps are listed at https://github.com/aws-samples/aws-compute-options/#deploy-application-to-aws-lambda

API Gateway is case-sensitive for the URL.
Fixed by https://github.com/aws-samples/aws-compute-options/pull/27


Fixes development bootstrap command failing due to module not found

Added extra step to build dashboard before running bootstrap command

🎆


Enable dependabot on web app

Setup monthly dependabot runs on /app to update NPM packages.
Signed-off-by: SuperQ<EMAIL_ADDRESS>

@SuperQ you have a yaml linter issue. Otherwise looks good to me


feat(sbb-image): Round option

The aim is to be able to render sbb-image completely round by supplying an attribute.
Preflight Checklist

[x] I have read the Contributing Guidelines for this project.
[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the pull request tracker for a Pull Request (PR) that matches the one I want to submit, without success.

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)

See Review Guidelines for more information what is checked during review process.
Changes
Changes in this pull request:

Added attribute to make images round

Browsers
I tested the build on the following browsers:

[x] Firefox Desktop
[x] Chrome Desktop
[ ] Edge Desktop
[x] Safari Desktop
[ ] Chrome Mobile
[ ] Safari Mobile

Pull request type
Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Does this introduce a breaking change?

[ ] Yes
[x] No

Use case is for profile pictures.
This PR is however missing stories in Storybook.
It will be blocked until we get around to adding the missing stories.

Thanks for your contribution. Continued in #2401


Fix SOS slottype for Trumbeak/Toucannon

Toucannon only occupies the first 3 SOS slots in Route 11, and the first 4 in Poni Grove and Poni Plains.

Thank you!


Add INLINEABLE pragmas to bitmaskWithRejection*

Summary
It seems the local mask function in those two functions is sometimes not getting inlined. (Note changing those INLINEABLE pragmas to {-# INLINEABLE mask #-} also works, I'm not particularly familiar enough with the INLINEABLE pragma to really tell what's best practice here.)
TBH I don't have a full picture of what's happening, but I have some failing inspection tests to show. So, this patch works for me, but if you have any idea for a local test case to add before merging this I'd be happy to implement it.
How to reproduce the issue
The tests are available in this branch of generic-random: https://github.com/Lysxia/generic-random/pull/23
Try testing cabal new-test generic-random:inspect --flags=enable-inspect. When built with the currently released version of splitmix, the test cases fail, and you can see in the reported Core that the RHS have an extra mask definition. With this patch both cases succeed (as they did originally, before QuickChick moved to splitmix).

Ping.


Change the font size of heading 3

Is your feature request related to a problem? Please describe.
Heading 2 and heading 3 almost have the same font size. It's not easy to distinguish them clearly and users may misunderstand the content structure.
Describe the solution you'd like
Please decrease the font size of heading 3.
Describe alternatives you've considered
no.
Additional context
no.

(+1) It is really difficult to tell them apart (h2: font-size: 32px, h3: 28px).

cc @courtny


MuRP's implementation different from the paper

relation matrix R in equation (5) in the paper is a vector in the implementation, and the matrix-vector multiplication is changed to element-wise mulitiplication

The relation matrix R is diagonal, so a computationally efficient way to implement matrix multiplication is to represent it as a vector and multiply it elementwise with the subject embedding.


Add "Crowd-sourced Emotional Multimodal Actors CREMA-D" Dataset

🚀 Feature

CREMA-D is an audio-visual data set for emotion recognition coming from a variety of races and ethnicities.

The data set consists of facial and vocal emotional expressions in sentences spoken in a range of basic emotional states (happy, sad, anger, fear, disgust, and neutral).

The dataset consists of 7,442 clips of 91 actors (48 male and 43 male).

torchaudio should contain the audio stream from the original audio-visual recording.

Motivation

With the addition of CREMA-D,  torchaudio will have a dataset with sufficient race and ethnic diversity.
Researchers are using this dataset to uncover questions concerning the audio-visual perception of emotion.
As @vincentqb mentioned here, torchaudio should have representative datasets that could serve as templates for users, the addition of CREMA-D to torchaudio would be a step forward in that direction. CREMA-D is publicly available on git-lfs as preprocessed WAV files instead of single compressed file (e.g. Tar gz file).

Pitch
I have recently used this dataset in PyTorch in one of my projects.  Making sure the implementation follows the recent template changes, I'd be happy to open a pull request.
Additional context
This is the reference paper for CREMA-D.

Hi @HAMZA310
Thanks for the suggestion. The proposal sounds good to me. One question regarding the multimodal part; how do you propose to handle video in torchaudio? torchvision has ffmpeg binding that, I believe, can handle both audio and video. But torchaudio does not have such capability at the moment. So I am wondering this could better fit in torchvision.
cc @fmassa @datumbox @NicolasHug

Hi @mthrok
Thanks for your response. About the multimodal part, I'm proposing to add only the audio stream in torchaudio similar to this release.
The audio stream in CREMA-D is not dependent on the visual recordings by any means and could be considered a standalone audio dataset.


docs: update contribution guidelines project name

Proposed Changes

Changes Contributing Guidelines title, replacing the old project name (Divide & Conquer) with the current one (SPLIT)

@juniorboos, is this pr supposed to be reviewed? If so, you should ask for it :p

@all-contributors please add @juniorboos for code and docs


Deutschebank db contrib/waltz 5036 limiting assessment on measurable category

#5036

Thank you for your contribution and Welcome to our Open Source Community!
To make sure your pull request is successful, we need all our contributors to be identifiable, but we couldn't parse the GitHub details of the following people : David Watkins
Luckily, resolving the issue is straightforward and you can resolve it by following the instructions below.

Alternatively, use the slightly more complex git reset --soft and git rebase to checkout your changes, rewrite the commit history locally and (force) push changes to the downstream branch.
If you have any issues with the steps above, please email<EMAIL_ADDRESS>so we can help you resolve before reviewing and accepting your pull request.
Thanks once again for the contribution and understanding.
cc @finos-admin


Cmd line parser

Adding the parsing of a line, to detect options. Only with Mermaid for the moment

And argvester [1] is far better than picoli because it supports records :)
[1] https://github.com/forax/argvester

And argvester [1] is far better than picoli because it supports records :)
[1] https://github.com/forax/argvester

I used picocli according to the SPEC.md file. Do you still want me to change to argvester?

the failed test seems to come from picocli dependency.
ModuleScrapper tests that fail are :
[ERROR]   ModuleScrapperTest.scrapCore:46 » NullPointer
[ERROR]   ModuleScrapperTest.scrapModule:29 » NullPointer
We are checking how to fix these errors

It is now fixed with Esteban's recent pull request


[BugFix] Bugfix of lake service

ScopedAdoptTrace must be created and destroyed on the same thread, but LakeService::publish_version was
executed in a bthread, thread switching may occur.
Fixes #27129
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

@Mergifyio rebase

@Mergifyio backport branch-3.1

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)


Optimize base and shadow meshes for vertex cache

Previously, vertex cache optimization was ran for the LOD meshes, but was never ran for the base mesh or for the shadow meshes, including shadow LOD chain (shadow LOD chain would sometimes get implicitly optimized for vertex cache as a byproduct of base LOD optimization, but not always). This could significantly affect the rendering performance of geometry heavy scenes, especially for depth or shadow passes where the fragment load is light.
This PR unconditionally runs the optimization for base mesh before further processing, and for any generated shadow index buffers; if meshoptimizer module is not loaded, we silently skip the processing. Note that this is the same algorithm we already use for LOD index buffers.
I generally treat this optimization as "always on, do no harm" - it only changes the order of triangles, which is generally speaking indeterminate on import, and is fairly quick. For a sense of scale, this is ~6x faster than tangent generation, ~25x faster than LOD generation (before my previous optimization PR, so maybe ~10x after?), and consequently should not change the import time much. I've tested this with DragonAttenuation model (https://github.com/KhronosGroup/glTF-Sample-Models/tree/main/2.0/DragonAttenuation) and didn't see overall import time change in a statistically measurable way. The appearance of any model should be the same, this only changes the submitted triangle order within each mesh, which has no impact on opaque meshes and should not make transparent meshes worse in that the order of triangles on them could not be relied upon anyway.

As any hardware performance optimization, this is hard to measure well. On a scene with 28 clones of the model above, with some objects closer to camera (LOD 0) and some further away, my aggregate measurements on NVidia RTX 4090 make that scene ~17% faster in terms of full frame time to render. Most of the gains are just from the shadow mesh optimization (it's something like 11% for shadow mesh optimization and 6% extra on top from base mesh optimization) - depth pre-pass and shadow passes tend to be vertex/raster bound, and the shadow mesh is rendered multiple times, so that makes sense. Note that other meshes may display no performance gains (for example, if a mesh is fairly low-poly, or if the scene has been preprocessed with tools like gltfpack that generate optimal order, the gains will be small to non-existent), and could also display larger performance gains (as the original order can be more pathologically bad depending on the exporter). Realistically I would not expect a double digit performance improvement here on any realistic scenes, but the gains are free.

The measurements quoted above are with VSync disabled using full frame FPS, if we measure the GPU time on the individual passes (using Godot's Visual Profiler), the relative gains are more significant - note that I'm using the numbers as displayed by the profiler (2 decimal digits), my GPU is clearly too fast for this :stuck_out_tongue_closed_eyes::

Pass
Time (Before)
Time (After)
Improvement (%)

Depth Pre-Pass
0.09 ms
0.06 ms
~33%

Shadows
0.12 ms
0.09 ms
~25%

Opaque Pass
0.18 ms
0.15 ms
~16%

(Total) 3D Scene
0.44 ms
0.34 ms
~22%

Like create_shadow_mesh(), the method in ImporterMesh may be worth exposing to scripting, so that procedural geometry generation scripts can make use of it.

At this point, I expect to use both for procedural generation and .. csg, but I am in favour of this.

https://github.com/godotengine/godot/issues/68959 should be tested with this..

@mrjustaguy That issue should not be affected by this change in isolation for two reasons: 1) this PR only adds the relevant functionality to the glTF import path; adding it to .obj is a matter of adding this to the .obj importer but I'm worried this will cause conflicts with https://github.com/godotengine/godot/pull/94108 so I'd rather do that separately / as part of that change if this ends up getting merged first:
+       for (int i = 0; i < r_meshes.size(); i++) {
+               r_meshes.get(i)->optimize_indices_for_cache();
+       }

that issue has a geometry file which is basically a lot of cubes. Due to lack of vertex sharing, in general models with faceted shading - cubes or otherwise - are simultaneously inefficient to render, and mostly not affected by vertex cache optimizations. That said, I would assume #94108 helps somewhat as it adds shadow meshes which should accelerate depth pre-pass/shadow rendering and get a further small boost from this PR.

I mean that was really a Stress test to compare Godot 3 with Godot 4 primitive performance..
Though I think that there have been a few optimizations relevant to it since I've last looked at it so IDK how Godot 4 compares to 3 Today in that aspect.

Would procedural geometry use ImporterMesh or SurfaceTool? Asking because SurfaceTool already exposes optimize_indices_for_cache.

Procedural geometry generation is done with SurfaceTool, but ImporterMesh also exposes similar functions so that import scripts can make use of it.

Needs a rebase to resolve merge conflicts after some initial merges in 4.4.
Then it's in the queue for merging ASAP.

Rebased vs master.

Thanks!


ci: fix eks image pull flake

testing stuff

/ci-eks

/ci-eks

/ci-eks

/ci-eks

/ci-eks

/ci-eks

/ci-eks

/ci-eks

/ci-eks

/ci-eks

Changes only one workflow file, not reason to run all CI, setting read-to-merge

/test

The Conformance Ginkgo is hitting flake #30101, rest is good, merging now


typo: returnt he -> return the

OPS Build status updates of commit 18b6581:
:clock10: Preparing: average preparing time is 3 min(s) 17 sec(s)

OPS Build status updates of commit 18b6581:
:clock10: Incremental building: average incremental building time is 54 min(s) 18 sec(s)

OPS Build status updates of commit 18b6581:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

api/Access.Entity.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update Gopkg.toml manually

Looks good - to clarify, apparently this is the way to update a dep version: https://github.com/golang/dep/blob/master/docs/FAQ.md#how-do-i-change-the-version-of-a-dependency (we didn't realise this when updating fn_go).

Looks good - to clarify, apparently this is the way to update a dep version: https://github.com/golang/dep/blob/master/docs/FAQ.md#how-do-i-change-the-version-of-a-dependency (we didn't realise this when updating fn_go).


allow arrays of step, impulse responses for LTI systems

The current implementation of step and impulse responses for MIMO systems requires the specification of an input channel, so that you always get a SIMO (or SISO) time response.  As pointed out in #453, this is not symmetric with the frequency responses, where you can index the input and output channels.  There is no reason this couldn't be done consistently for step and impulse responses by just iterating over the set of all input channels.  This would help make time and frequency responses more consistent.
Note that one inconsistency will remain: when you compute a forced response, you have to specify the particular input.  So in that case you can't index the input channel, only the output channel.

Agree about consistency argument. If input=None , could just return eg step
response to each input on a separate “row”.
Could do the same with forced response too, though specified input u data
is more likely in that function to be only of interest for the specified
input # (eg aileron vs throttle will have much different magnitudes).
S
On Sun, Jan 17, 2021 at 12:49 PM Richard Murray<EMAIL_ADDRESS>wrote:

The current implementation of step and impulse responses for MIMO systems
requires the specification of an input channel, so that you always get a
SIMO (or SISO) time response. As pointed out in #453
https://github.com/python-control/python-control/issues/453, this is
not symmetric with the frequency responses, where you can index the input
and output channels. There is no reason this couldn't be done consistently
for step and impulse responses by just iterating over the set of all input
channels. This would help make time and frequency responses more consistent.
Note that one inconsistency will remain: when you compute a forced
response, you have to specify the particular input. So in that case you
can't index the input channel, only the output channel.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/python-control/python-control/issues/512, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AN74SSKMXKYG6V7GUBAV6H3S2NEMPANCNFSM4WGMQQ2A
.

--
Sawyer Fuller
Assistant Professor of Mechanical Engineering
Adjunct, Paul G Allen School of Computer Science
University of Washington
http://faculty.washington.edu/~minster/
(Typed with my thumbs)

Agree about consistency argument. If input=None , could just return eg step
response to each input on a separate “row”.
Could do the same with forced response too, though specified input u data
is more likely in that function to be only of interest for the specified
input # (eg aileron vs throttle will have much different magnitudes).
S
On Sun, Jan 17, 2021 at 12:49 PM Richard Murray<EMAIL_ADDRESS>wrote:

The current implementation of step and impulse responses for MIMO systems
requires the specification of an input channel, so that you always get a
SIMO (or SISO) time response. As pointed out in #453
https://github.com/python-control/python-control/issues/453, this is
not symmetric with the frequency responses, where you can index the input
and output channels. There is no reason this couldn't be done consistently
for step and impulse responses by just iterating over the set of all input
channels. This would help make time and frequency responses more consistent.
Note that one inconsistency will remain: when you compute a forced
response, you have to specify the particular input. So in that case you
can't index the input channel, only the output channel.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/python-control/python-control/issues/512, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AN74SSKMXKYG6V7GUBAV6H3S2NEMPANCNFSM4WGMQQ2A
.

--
Sawyer Fuller
Assistant Professor of Mechanical Engineering
Adjunct, Paul G Allen School of Computer Science
University of Washington
http://faculty.washington.edu/~minster/
(Typed with my thumbs)

I have coded up this change, including input=None handling (separate row for each input).  Just waiting on merge of #511 before sending a PR.
This change breaks some of the unit test code that was implicitly assuming that input=None would select the first input.  But changes are minor and everything is pretty much backward compatible.  I suggest we implement this change into 0.9.0, though, since it may require modification of user code.

I have coded up this change, including input=None handling (separate row for each input).  Just waiting on merge of #511 before sending a PR.
This change breaks some of the unit test code that was implicitly assuming that input=None would select the first input.  But changes are minor and everything is pretty much backward compatible.  I suggest we implement this change into 0.9.0, though, since it may require modification of user code.


rename index.md to readme.md

This lets us see the API index while browsing the directory on github:

You'd need to change the link on the docs site as well (the APIs link in the main navigation). I have a commit for that if you'll let me know which branch to make it to.

Hi, @bryanbraun! Thanks, good catch! Could you make this pull request to the dev branch?

Ok, the other PR is here: https://github.com/legomushroom/mojs-website/pull/20

Ok. Updated PR at https://github.com/legomushroom/mojs/pull/57. 👍


Magisch: Blacklist speedymz.com

Magisch requests the blacklist of the website speedymz\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Rejected by Ollie in Charcoal HQ. Reason: 'Insufficient justification, wrong regex shows TPs without that website in the post'


Vscode Fix-all auto fixable problem not working

Vscode(latest): 1.41.0
Vscode extension: Eslint 2.0.4
  "devDependencies": {
    "eslint": "^6.7.2",
    "eslint-config-airbnb-base": "^14.0.0",
    "eslint-plugin-import": "^2.19.1"
  }

Auto-update is turned on by default and i got the latest version too (2.0.4) which broke the
Fix-all auto-fixable Problems function. Every problem shows up correctly but it's unable to correct it.
It's on a hotkey for me but invoking directly from the console(F1->...) doesn't do anything either.
As a quick fix, you can navigate to the extension tab, disable auto-updates then downgrade to a previous build.

I am experiencing the same issue.  VSCode just updated and the extension along with it.  I've been monkeying around with the new settings that the extension provides and I've been able to get it to apply auto-fixes using the Format Document action, but explicitly running the auto-fix command or trying to setup auto-fix on save is not working.
I'm still running ESLint version 5.16.0, for reference.

@sgywzy @dracozombie19 my mistake and thanks for reporting. Reason is that I moved the fix all to the source action menu. You can now do

Context Menu > Source Action which should give you:

Executing the action will fix all ESLint errors.
You can also use Fix All from the command palette which works as well. I will think about what to do with the ESLint specific command. My current thinking is to show a notification that the command got integrated into the source actions. Preferences ?

I rebound the command to the new source action code.

Published 2.0.5


Move Block to primitives

This one is trivial - primitives feels close now.

Turns out yesterday I was being a wombat, the hard work is already done for block_hash.

Has a naughty patch up front adding missing transaction re-exports to primitives crate root.

Reviewed 4a38608034a90f6b7716a18d6a8c17dca81b0e41.
I see that you kept the check_merkle_root and check_witness_commitment methods back in the extension trait. This is reasonable because it's poor API design to have "sanity check" methods on a type. Instead we should enforce that the type cannot be constructed or modified in a way that violates its invariants.
In this case we have two invariants:

For all blocks, the merkle root of txdata should match the merkle root embedded in header
For all segwit blocks, i.e. blocks that contain witness-bearing transactions, the witness commitment embedded in the last output of the coinbase transaction must be consistent with the txdata. IOW the first item of txdata must be consistent with the remaining items.

All this to say that I don't think we can move this type over as a POD type. I think we need to close it and rethink the API.
Unfortunately this is going to block primitives on some new API design, and unfortunately(?) we will need to do this without Kix's help.

Ill get to work, thanks.

Since we haven't had any decent drama for a week or two: #3552

In this case we have two invariants:

hmm, enforcing invariants and closing the Block brings us back to the discussion on providing dummy types for test code.

What discussion is that?

Remember the whole "should we provide dummy test types" thing.
https://github.com/rust-bitcoin/rust-bitcoin/discussions/3568


TextArea widget parameter accept_handler does not pass buffer to callback

The parameter accept_handler is used during TextArea.__init__() with a lambda:
accept_handler=lambda buff: accept_handler and accept_handler())

I expected this to behave the same as the accept_handler parameter in the Buffer class and take the buffer as one of the arguments. However, the lambda above does not forward the buffer argument so the handler does not receive a copy of the buffer. Is this expected?

Hi @Arrowbox,
Good point. First, the main idea of TextArea was to abstract away all the underlying details of Buffer/Window/BufferControl, but I think this makes sense indeed. For consistency and because in that handler you need access to the text anyway.
Feel free to create a pull request for this. I know it's backwards-incompatible, but the widgets API is not set in stone yet, and is allowed to change. (Do git-pull first, I already did a recent change here.)

I've made a PR #650 with the changes including the shortcuts and example updates.

Closing this,  https://github.com/jonathanslenders/python-prompt-toolkit/pull/650 has been merged.


Compatibility issue with react-spring 8.x

The example https://codesandbox.io/embed/zq19y1xr9m does not seem to work with with the latest versions of react-spring and react; @see: https://codesandbox.io/s/j2nl5z3m45 . Any ideas?

ah, good catch, decay was an experimental feature i was working on. i will fix it ...

Any update?

I was so busy i couldn't look at it still. Just fixed it: https://codesandbox.io/s/zq19y1xr9m?from-embed


Backwards Compatibility Issue: 0.23+

So this is a strange one... Since the release of 0.23, my project no longer works with signaldb. Reverting down to 0.22 resolves that but thus doesn't include some of the more current optimizations. It appears that the build is slightly different than previously and for whatever reason I can utilize it within my codebase but then while using some of the storage mechanisms, the library cannot be found any longer.
I've attempted to completely blow away the node_modules folder and force reinstall everything but this has not worked. I updated my tsconfig to force an alias to the proper folder and simply everything I have attempted has not worked thus far.
This comes into play while using the oby reactivity adapter (as the maverick one never worked for me). Anyhow, will help to debug to help to solve this but unfortunately, I don't have a very easy way of determining what exactly is the root cause.
The compiler options of my tsconfig are as follows:
"compilerOptions": {
  "allowJs": true,
  "esModuleInterop": true,
  "jsx": "react-native",
  "lib": ["DOM", "ESNext"],
  "moduleResolution": "node",
  "noEmit": true,
  "resolveJsonModule": true,
  "skipLibCheck": true,
  "target": "ESNext"
}

I now got a similar issue in one of my projects. In a @renovatebot lockfile maintenance PR, a test with reactivity fails.
The packages that were updated in the lockfile were mostly things like vite, esbuild and rollup packages and dependencies. Nothing directly related to signaldb or @maverick-js/signals.
I digged don't a bit and found out, that the tests are passing if I upgrade to<EMAIL_ADDRESS>As they reverted the switch to vite@6 in this release, my codebase is also back to vite@5 after the version change.
So it seems like there is something wrong with vite@6 or the combination with signaldb. If you're at vite@6 try downgrading to vite@5 until we got the root cause and have a fix for it 🙂

So it seems like there is something wrong with vite@6 or the combination with signaldb. If you're at vite@6 try downgrading to vite@5 until we got the root cause and have a fix for it 🙂

Yeah, so unfortunately, using expo / react-native which utilizes babel (ugh), so I've actually attempted quite a few things through that but have not found a way to gain the existing behavior. What is really strange is how the build files are (check the dist of 0.22 vs. 0.23+ and you'll see it really changed things around which is where I think the root cause stems from).
If you're still in need of a reproduction test case, I can certainly create one but it would appear that you might not need it at this point. I'll likely be submitting a few PR's once I can get something functional so that I can add compatibility with things like react-native as the library is quite useful but certainly the reactivity has some odd drawbacks that I've found but should be able to resolve (been having to be pretty crafty with it at times but I think you may have fixed some of those in more recent versions and I've been unable to confirm).

If you're not using vite at all, then it might be really connected to #1144
You could check this by cloning signaldb locally, revert the mentioned PR and run npm run build && npm link in signaldb/packages/signaldb. Then link signaldb in your project with npm link signaldb and see if the issue goes away.
If that's the case, don't hesitate to open a PR. The goal with #1144 was to fix #988, but the error is still there.

@maxnowack so looks like part of it is that the package.json is incorrectly referencing the "main" module as the file index.umd.js no longer exists.

I missed the main field in package.json. This is resolved in v0.24.3


some question about create_topomap.py

Hi, i try to deploy it with carla,and i collect the .bag file, and  i use
./create_topomap.sh topomap_test_name /home/gahho/code/drive-any-robot/deployment/topomaps/bags/test202301191036_2023-01-20-10-53-19.bag
it occurs  some error
and i use default
python create_topomap.py
it occurs the same error

thanks for your reply

Hi @GaHooooo,
It looks like your version of python does not like how I am typing the input arguments. I think I fixed the issue, so try pulling from the main branch again. Let me know if the fix works!

it works,thank !!!


Introduce changes for problems in first round of on-the-fly training

Problems I found while training a potential in a different repo.

Pressure control was weird
It'd be great to know when a run finished in the log
Windows doesn't like ":" in directory names

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

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

Totals

Change from base Build<PHONE_NUMBER>9:
0.0%

Covered Lines:
644

Relevant Lines:
679

💛  - Coveralls


version selector collision with "Your feedback about this content is important. "

https://docs.asp.net/en/latest/index.html
scroll down until "Your feedback about this content is important. Let us know what you think. Yes No " is displayed. It's obscured by the version selector.

Repro's on FF/IE/Edge/Chrome

@terrimorton What's the status of getting this fixed and adding back the helpfulness UI?

This has been fixed.


Update font-support.md

Acrolinx Scorecards
A minimum total score of 80 is required.
Select the total score link to review all feedback on clarity, consistency, tone, brand, terms, spelling, grammar, readability, and inclusive language. You should fix all spelling errors regardless of your total score. Fixing spelling errors helps maintain customer trust in overall content quality.

Article
Total score(Required: 80)
Words + phrases(Brand, terms)
Correctness(Spelling, grammar)
Clarity(Readability)

:white_check_mark: globalization/fonts-layout/font-support.md
75
100
37
65

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx


[FLINK-15587][container] Initial container for OpenShift.

What is the purpose of the change
OpenShift needs a minimum set of file level rights to work. Thus use best-practise for OpenShift to minimize rights so an image can run inside of OpenShift.
Brief change log

Created new Dockerfile.openshift since changes are incompatible with default variant.
Set group rights to special group 0 (used by OpenShift container runtime).
Set user to 1001 since user will be generated at runtime.

Verifying this change
I have no idea how I am supposed to test this. Building the image seems quite complicated and not straight forward.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? not documented

Thanks a lot for your contribution to the Apache Flink project!
There seem to be some concerns in the JIRA ticket from this PR. I propose to close this PR until these concerns are resolved.
Also, Flink has recently moved the docker containers from the main repository to "flink-docker".
In general, I like the idea of making our docker images compatible with OpenShift-based environments!

Closing this PR because we no longer keep the Dockerfile in Flink's repository.


ERROR pip install -r requirements.txt 小白搞不懂

ERROR: Cannot install -r requirements.txt (line 3) because these package versions have conflicting dependencies.
The conflict is caused by:
icetk 0.0.5 depends on torchvision
icetk 0.0.4 depends on torchvision
icetk 0.0.3 depends on torchvision
icetk 0.0.2 depends on torchvision
icetk 0.0.1 depends on torchvision
To fix this you could try to:

loosen the range of package versions you've specified
remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

你没装pytorch，先跑个pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117

估计是你的python版本太高了。在kali（现在是2023.1的快照源）使用的是python3.11下，安装也和你有相同报错问题。在手动pip install torchvision 会告诉你没有合适的版本。最后我是用conda 创建 3.10的环境解决的，希望可以帮到你。


[FOLSPRINGB-138] Use more resilient method for translation module name extraction

Jira FOLSPRINGB-138
Purpose
The existing solution to extract module names from translation file paths would fail under certain conditions when run in JAR files.
Approach
This uses the more resilient resource description, as opposed to assuming a filename is present and able to be parsed.
In local testing, this description seemed to be the best option:

getFilename only returns the last part (e.g. en.json) which is useless for this
getFile assumes that a file exists, which may not be the case in JARs (our original error)
getURL and getURI seem promising, however, we originally tried this and it caused errors on Windows where Spring had trouble converting C:\ into a legal URI that could then be decoded, since technically : is not valid in a URI
This leaves getDescription

Here's what these looked like in our tests:
Unix-style paths, running locally/in maven
resource.getFilename(): es.json
resource.getDescription(): file [/Users/novercash/folio/folio-spring-base/folio-spring-i18n/target/test-classes/test-translations/test-multiple/mod-bar/es.json]
resource.getUri(): file:/Users/novercash/folio/folio-spring-base/folio-spring-i18n/target/test-classes/test-translations/test-multiple/mod-bar/es.json
resource.getUrl(): file:/Users/novercash/folio/folio-spring-base/folio-spring-i18n/target/test-classes/test-translations/test-multiple/mod-bar/es.json

Unix-style paths, running in a jar
resource.getFilename(): en.json
resource.getDescription(): class path resource [translations/mod-fqm-manager/en.json]
resource.getUri(): jar:file:/Users/novercash/folio/mod-fqm-manager/target/mod-fqm-manager-1.0.4-SNAPSHOT.jar!/BOOT-INF/classes!/translations/mod-fqm-manager/en.json
resource.getUrl(): jar:file:/Users/novercash/folio/mod-fqm-manager/target/mod-fqm-manager-1.0.4-SNAPSHOT.jar!/BOOT-INF/classes!/translations/mod-fqm-manager/en.json

Windows, running locally/in maven
resource.getFilename(): en.json
resource.getDescription(): file [C:\Users\Temp\Downloads\noah temp\folio-spring-support\folio-spring-i18n\target\test-classes\test-translations\test-multiple\mod-foo\en.json]
resource.getUri(): file:/C:/Users/Temp/Downloads/noah%20temp/folio-spring-support/folio-spring-i18n/target/test-classes/test-translations/test-multiple/mod-foo/en.json
resource.getUrl(): file:/C:/Users/Temp/Downloads/noah%20temp/folio-spring-support/folio-spring-i18n/target/test-classes/test-translations/test-multiple/mod-foo/en.json

Windows, running in a jar
resource.getFilename(): en_US.json
resource.getDescription(): class path resource [translations/mod-calendar/en_US.json]
resource.getUri(): jar:file:/C:/Users/Temp/Downloads/noah%20temp/mod-calendar/target/mod-calendar-2.6.0-SNAPSHOT.jar!/BOOT-INF/classes!/translations/mod-calendar/en_US.json
resource.getUrl(): jar:file:/C:/Users/Temp/Downloads/noah%20temp/mod-calendar/target/mod-calendar-2.6.0-SNAPSHOT.jar!/BOOT-INF/classes!/translations/mod-calendar/en_US.json

LGTM! I could not tell but were there existing tests that are still passing after this change?


Unclear output and cloud-effects

I ran tubes with credentials to an admin user, and it didn't seem to do anything on the cloud and the output isn't very obvious to me:
AWS_DEFAULT_REGION=us-east-1 AWS_ACCESS_KEY_ID=xxx AWS_SECRET_ACCESS_KEY='xxx'  ./tubes -n my-env up
Creating keypair...
Looking for latest AWS NAT box AMI...
Latest NAT box AMI is "ami-b0210ed8"
Upserting stack...
timed out waiting for stack change to complete (max 5m0s, UPDATE_COMPLETE_CLEANUP_IN_PROGRESS)

What happened here?

To see the effects, check out CloudFormation console.
But yeah, AWS was being slower than the code expects.  I've seen this timeout once in a blue-moon.
Here's the error line
If you trace CloudFormationWaitTimeout back up, you'll see this awesomeness.  You could just bump the default there to fix the problem.
BUT, above that is some config which doesn't explicitly set the value.
I think the right approach would be to extract the timeout as a config option on commands.AWSConfig and include the default there.  Then just pass one value through the  Config and into the AWSClient constructor.

Ok I see. In this particular case, there was nothing in the Cloudformation console, probably because it failed really early on.
I took a quick look over the links you provided above, and I agree that you probably want to expose a single default in a single place, and that commands.AWSConfig is a good place for that.
As a separate question, I'm trying to use this to make a bosh director in an existing VPC, and I assume this tool doesn't yet do that?

As a separate question, I'm trying to use this to make a bosh director in an existing VPC, and I assume this tool doesn't yet do that?

Right, and it'd be a discussion as to whether it ever should.  Part of the "magic" is that it "knows" (via hardcoded string constants) the logical names of certain resources in a CloudFormation stack that it itself created.  That's how it pulls in the correct subnet-id into a BOSH manifest, for example.  If the stack came from elsewhere, it's not clear how tubes should discover which resources belong where.

Also, the "creating key pair" line means that it created an SSH keypair in EC2.
And UPDATE_COMPLETE_CLEANUP_IN_PROGRESS doesn't mean failed.  It likely means it succeeded, just took a bit too long.
Which is an unfortunate case, because at that point, tubes could totally just generate the BOSH init manifest. But right now, it just hard fails (see here)

I took a further look and did in fact see the keypair. It's possible the stack was present - I think I was using the same name as an existing stack which would explain why I didn't see another stack.
As to whether tubes should ever work with an existing VPC, I think I agree it's quite expensive, but it also could be quite valuable, as it allows composition of resources, instead of tubes having to know about the entire state of the world. What I mean by that is instead of having tubes know about all possible states, you can feed tubes an existing state (e.g. cloudformation.json) and it can ensure that it builds upon that state. This allows e.g. starting from custom cloudformation, but then using tubes to add a bosh-director to the mix.
Tubes can support a standalone bosh director, and also a concourse instance, but what if I want to add a bosh director to some other, custom infrastructure? I'd love for tubes to make a valid bosh-lite manifest given a cloudformation script for existing VPC

I think the code in #4 helps address your primary issues with unclear output & timeouts, so I'm going to close this issue.
Feel free to continue the discussion about supporting existing VPCs either in a new issue.  I'd be curious to hear more about the use case -- for example why its important that the existing VPC stay in place, rather than being torn-down and replaced.  Also, what other resources, beyond the VPC itself, would tubes depend on rather than create?  (e.g. does tubes make its own subnets?  NAT box?   security groups?)


Added Vector Calculator

Description
This PR adds Vector Calculator to the Respository and closes #480
Screenshots :

Would be glad if you's merge this PR @Srijita-Mandal

@pooranjoyb there is some css issue in this calculator. Can you fix this? This PR #497  could be a hard labeled.

@pooranjoyb there is some css issue in this calculator. Can you fix this? This PR #497  could be a hard labeled.

Yes sure, onto it.
It seems like someone might have altered style.css @Srijita-Mandal


Parse config from RECERT_CONFIG file

This is an alternative to passing all the information through CLI flags
Solves MGMT-16150

/test ?

/test e2e-aws-ovn-single-node-recert-serial


Uncaught TypeError: Cannot read property 'execBinSimple$2' of null

Installed Atom & dartlang & linter
Packages > Dart > Create new Flutter project...
boom

Atom Version: 1.0.19
System: Mac OS X 10.10.5
Thrown From: dartlang package, v0.4.9
Stack Trace
Uncaught TypeError: Cannot read property 'execBinSimple$2' of null
At /Users/ianloic/.atom/packages/dartlang/web/entry.dart.js:27856

TypeError: Cannot read property 'execBinSimple$2' of null
    at PubApp.dart.PubApp.isInstalled$0 (/Users/ianloic/.atom/packages/dartlang/web/entry.dart.js:27856:92)
    at CreateProjectManager.dart.CreateProjectManager._createProject$1 (/Users/ianloic/.atom/packages/dartlang/web/entry.dart.js:25095:22)
    at [object Object].<anonymous> (/Users/ianloic/.atom/packages/dartlang/web/entry.dart.js:18226:32)
    at CommandRegistry_add_closure.dart.CommandRegistry_add_closure.call$1 (/Users/ianloic/.atom/packages/dartlang/web/entry.dart.js:20030:35)
    at [object Object].dart.Primitives_applyFunctionWithPositionalArguments (/Users/ianloic/.atom/packages/dartlang/web/entry.dart.js:17902:28)
    at dart._callDartFunction (/Users/ianloic/.atom/packages/dartlang/web/entry.dart.js:40492:31)
    at atom-workspace.<anonymous> (/Users/ianloic/.atom/packages/dartlang/web/entry.dart.js:40480:18)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:245:29)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:145:19)

Commands
     -0:00.6.0 dartlang:create-flutter-project (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "followSymlinks": false
  }
}

Installed Packages
# User
dartlang, v0.4.9
linter, v1.8.1

# Dev
No dev packages

Thanks for the report! It looks like we're not able to find your Dart sdk. I'll update to provide a check and a better error message. You can point the plugin to your sdk from the dartlang settings page, in the Dart SDK Location field.


Map search functionality (search by zip/address/etc)

Addresses #115. Here's a quick prototype I'm working on right now. Will soon tie in autosuggest capability as well as the functionality in search button, use location and finally reset. LMK thoughts so far @graemer @awong-dev @susanashlock @r-pop!
I'll pick this up either later this evening or tomorrow after work 😄
Desktop comp (latest):

Mobile comp  (latest):

TODO:

~Center on current location~
~Reset map~
~Document use of --unsafely-treat-insecure-origin-as-secure="http://local.findthemasks.com/"  flag when launching chrome to facilitate testing of navigator.geolocation locally.~
~Autosuggest~
~Geocoding (if not present in autosuggest)~
i18n of hard-coded components via https://github.com/wikimedia/jquery.i18n
Incorporation into index.html

Since the change is pretty big, here's a detailed change log:

Ability to define own maps key for dev: I added the ability to define your own Google Maps API key via mapsKey query string parameter. This appeared to be a common need among developers, particularly for me since I needed new API capabilities (see next bullet).
Auto-suggest: For the auto-suggest field to work, I will need @susanashlock to enable the Places API in GCP for the currently configured maps API key. Would that be possible, please?
Abstracted for reuse:

Refactored centerMapToNearestMarkers to centerMapToMarkersNearUser since that was tightly bound to user's current location (if even available) so that I could then use that well written code to instead center based on arbitrary input (i.e. the new text field).
Moved the initMap() variables map, markers, middle_of_us, and middle_of_us_zoom to the root module scope in order to reduce argument redundancy/complexity, as there is currently only one map.  Also because I added the new init_center and init_zoom vars which abstract initialization position as that needs to be reused in multiple spots now (on page load as well as in the "Reset map" link in the UI)

Cleanup: Performed some minor linting. In order to facilitate map integration, I needed to add event listeners in the initMap(...) function which was using 4 space indentation, so I reformatted that since it was confusing my editor (as it respects the project's .editorconfig).
Documentation:

Updated the README.md to convert the current Directory structure section into a more general Development containing a new section with helpful information for local development with Google Maps.
Provided instructions on how to easily enable the ability to use navigator.geolocation locally without having to push to production to test over SSL (i.e. use --unsafely-treat-insecure-origin-as-secure="http://local.findthemasks.com/" flag)

Validated params: I've validated that these query string parameters are still working as expected.

hide-map=true
state=ca
state=ca,wa
mapsKey=AIzaSyCVh7x85vFsElLwVQ2M18PtJynLOQ_E7Gw (my custom maps key that does allow places API).

Here's a demo of my latest version on my local development machine (use flags noted above to test yourself in Chrome). @awong-dev or @graemer would you be able to review this soon given the size of the change? I will try to rebase as needed but the sooner the better (I'm sorry it is a lot of work 😢).
I hope this is useful!

p.s. This is only missing updates to index.html; only working on give.html given the duplication of effort and the fact that give.html is a lot easier to work with (shorter page).

☝ rebased again to fix merge conflicts.

Thanks for all the refactor work! Some of the maps api stuff is a little beyond me. I left mostly style nits. I think Graeme's doing functionality checks so will level approval to him.

@patricknelson - I love this work, and I'm really excited to get it shipped.
When running locally I'm noticing that the "Use my location" link isn't showing up for me when I simply render give.html without any params. When I do use ?state=ca, I then see the "Use my location" link, but it doesn't do anything when clicked.
I do like it that we won't have to prompt the user for location immediately once we get the "Use my location" link wired up properly. It's better behavior from a privacy perspective.
My only other comments are purely aesthetic, and I'll either commit changes to your branch right before we merge, or will do a quick follow on afterwards.
Note that there's no use my location option...

In the morning, would it be possible to resolve conflicts and we'll look at getting this shipped asap.
Thank you!

Ok thanks @graemer on iPad right now but will review when I can in morning, maybe 10-11am PST.
Easy to miss but got a new about this above; you cannot use navigator.geolocation in insecure connections even on localhost without a hack in Chrome. See:

Start Chrome with the flag --unsafely-treat-insecure-origin-as-secure="http://local.findthemasks.com/" (this will allow geocoding on insecure connection)

Restart with that flat and it should work.  Also lots of the nits here are from code I didn’t write and I really wanted to tweak a lot of stuff here, but I was badly punished in my maintenance of this PR (why I was complaining so much earlier) due to the large amount of conflicts arising from my edits of white space (for example). So, definitely worthwhile to either address some quick stuff here or review code style and add tickets to document our official code style guidelines and then submit PR’s to make those changes! 😊

p.s. My code intelligently is removing that geolocation option if it’s not possible on your browser. This is to reduce confusion for users. 😊

Oh there are loads of other quality things that need addressing that I keep out of this huge ticket:

The flashing of the map heading while loading
Whitespace inconsistency problems (all need to follow my .editorconfig). Need documentation and guidance, maybe setup TravisCI config to run linter on this and other stuff
Inconsistent use of semicolons (reliance on ASI)
Inconsistent use of lambdas.
Look into supporting older browsers (introduces a build stage, see other tickets about this problem): https://github.com/r-pop/findthemasks/pull/211 and https://github.com/r-pop/findthemasks/issues/166
Maybe continue further with module pattern (which I didn’t start, learned about this support in browsers in this project) to facilitate more complex changes over time with lower likelihood of merge conflicts (everything in this site is in one file right now).
Research ways to reduce duplication in HTML and revisit why we don’t share a style sheet

That’s just from memory, I’m sure there’s plenty more to clean up.

p.s.s Will wanna coordinate a bit with @Shuhanhe1 or whoever is maintaining the <iframe> as well once this is setup given the forced set height. Will just need to adjust height and/or disable search field (😢) to prevent cropping the hap, due to a lack of flexible height (I made a ticket for that too w/ a proposed implementation that I’ve used in the past in prod, btw: https://github.com/r-pop/findthemasks/issues/170)

This shouldn't have been closed; ended up due to accidental deletion of the issue-115-map-search branch which was a result of me having to scrap everything to start over due to breaking changes introduced from merging #221  😞
Will open a new PR @graemer @awong-dev taking into account some of the critiques above.

Ok, see take 2 here: #246


[FR] Should a PurchaseOrder be marked as complete even if items are not received?

Problem
If a PO is marked as complete, the line-items are left as-is without warning (especially via API). It would be elegant to be able to prevent this. IE accept_incomplete is False, then prevent marking PO as complete if there are open items.
Going further:
Suggested solution
Similar to build orders, eg /api/build/{id}/finish/, there could be a flag to mark remaining items as received.
Examples of other systems
See build API.
Do you want to develop this?
Approach would be to copy-paste the flag called accept_incompletefrom BuildCompleteSerializer.

@SchrodingersGat what do you think about this? I think there are use cases where a PO is done but not all line-items are delivered so this has to be handled carefully.

@miggland a warning (which requires a checkbox override) to complete an order with outstanding items is a great idea.
There are valid instances where an order may be closed out without receiving everything!
Do you want to tackle this one?

Yeah, I'm on it.

I just realised that the SalesOrder prevents orders from being marked as completed, without the option to override.

@miggland yep sales orders should be updated accordingly too.

@miggland any progress on this? :) ping me if you need anything

Hi @SchrodingersGat - you might have to keep reminding me :). No progress yet, I have had too many other things to take care of. I have not made much progress, if anyone else wants to take over this issue that is perfectly fine with me... ;)


Add autoEnable for Grafana 7.5

Grafana 7.5 will introduce Plugin Auto enable: https://github.com/grafana/grafana/pull/31354/files

Waiting for 7.5 or v8:
The `autoEnabled` feature will be fully implemented for v8. In 7.5-beta1 panels are auto-imported and application enabled, but dashboards are missing.


Bootstrap autocomplete dropdown is not working on IOS Device on single click

When i click on input, autocomplete dropdown open but i select on item on autocomplete dropdown it works as a focus event not click event pls provide me solution for this

Please provide a JS Bin or other live example that demonstrates the problem.

Hey there!
We're automatically closing this issue since the original poster (or another commenter) hasn't yet responded to the question or request made to them 14 days ago. We therefore assume that the user has lost interest or resolved the problem on their own. Closed issues that remain inactive for a long period may get automatically locked.
Don't worry though; if this is in error, let us know with a comment and we'll be happy to reopen the issue.
Thanks!
(Please note that this is an automated comment.)


Improved folder structure and added/removed metas

Seperated code base in Node_Editor/Framework into Core, CoreExtensions, Interface and SaveSystem subfolders
Put default code into Node_Editor/Default, including default calculation canvas&behaviour routines, graph canvas&behaviour example and runtime examples
Default nodes are still located under Node_Editor/Nodes
Added missing script metas and removed unnessessary folder metas

If this is necessary is debatable, but it will certainly increase structural readability in the long run. Do you think this should be merged or not?

Great job on improving the structure 👍

Thanks:) Finally someone daring to give feedback lol
Because with this comes quite alot of trouble regarding updating, but IMO this has to be done at some point... so I'd like to hear other's opinion.
Will merge at the end of the week at latest.

Resolved merge conflicts. Due to the recent transfer to my account the link to this PR has probably been broken and instead it pushed directly to the main repo so it's not updating here unfortunately. But changes have been correctly merged in b6f12a8 and 597f0aa. Sorry for that inconvenience!


update to latest zio-schema - looks like there may be breaking changes

closed by https://github.com/zio/zio-dynamodb/pull/437


Loading checkpoints initializes solver

This seems to be unintended and seems to contradict the Solver::init documentation:

This is executed before any iterations are performed. It can be used to perform precomputations

Initialization for many solvers means resetting some values. Particle Swarm Optimization uniformly randomizes the population on initialization
A simple check for iter == 0 before initializing in Executor::run seems a decent fix.

Great catch, thanks for reporting! I'm currently in the process of refactoring the checkpointing in PR #198 (which has gone a little bit beyond its initial intention). I will include your fix there as well.


Add AsyncMarkItDown as a wrapper

My take on how this code should support async, given all underlying libraries are not supporting async.
For more details/context, see: https://github.com/microsoft/markitdown/issues/13#issuecomment-2543834157

@microsoft-github-policy-service agree

@0xRaduan -- thanks for the PR.
@afourney @jackgerrits @0xRaduan,
I love this PR, but I am worried about the code duplication because of asynchronous tests.
What if we stuck with sync implementation, but added an FAQ showing how a user could create an asynchronous wrapper similar to your approach.
This was users know how to create an asynchronous wrapper, but we avoid the code/test duplication? Please lmk your thoughts.

Hey @gagb - good feedback, I agree.
In general, this async code is just a wrapper over sync code1, so technically you don't need to have a full suite of async tests, as all of the functionality should be tested in normal tests.
I would suggest keeping just one async test to verify that the wrapper works, and remove everything else. Initially I've migrated all tests to just verify that it works identically for my own's sake.

Hey @gagb - good feedback, I agree.
In general, this async code is just a wrapper over sync code [1], so technically you don't need to have a full suite of async tests, as all of the functionality should be tested in normal tests.
I would suggest keeping just one async test to verify that the wrapper works, and remove everything else. Initially I've migrated all tests to just verify that it works identically for my own's sake.

I like your framing. Would love @jackgerrits feedback on the strategy.

@0xRaduan can you fix the precommit and test errors

@gagb - fyi, updated the code, fixed linter, removed all tests and just kept one async test to make sure wrapper works in async environment.


Cert request for invalid failed with reason code 5005.  We're not logged into Steam

When I try to connect to the server from my CS2 client I get the following output in the container logs:
[More like this]
Cert request for invalid failed with reason code 5005.  We're not logged into Steam
Cert request for invalid failed with reason code 5005.  We're not logged into Steam
Cert request for invalid failed with reason code 5005.  We're not logged into Steam
Cert request for invalid failed with reason code 5005.  We're not logged into Steam
Failed to accept connection from [My Client IP]:49746.  Unable to determine local identity, and auth required.  Not logged in?
Failed to accept connection from  [My Client IP]:49746.  Unable to determine local identity, and auth required.  Not logged in?
[More like this]

Has anyone else encountered this or know what this means?
Container is running on an Ubuntu EC2 instance if that helps.

Have you got a Game Login Token from https://steamcommunity.com/dev/managegameservers and supplied it to the container using SRCDS_TOKEN?

Hi! I tried to create my SRCDS_TOKEN and steam give me this error: Invalid App ID. What should I do with this?
Thanks!

The AppID for CS2 is 730, you need to provide that in the AppID field when generating the token.

Closing due to inactivity. Hope my last comment helped.


Project selector contents not reloaded after login

log out of all cloud projects
open a ui that has the project selector; e.g. tools -> google cloud tools -> setup on cloud source repos
open the project selector and note that you are logged out
sign in from the button on the bottom of the project selector and complete the oauth flow

Expected: user is signed in and cloud projects are listed
Actual: despite being signed in, the panel is not properly refreshed:

@nkibler I've confirmed that this was introduced as part of da734da35987b9c8496f67f38ad14f281b3966e4

@parkjam4 just a heads up that this bug will likely cause you to see some weird behavior (like in the screenshot above) when you are giving the GCS alpha build a spin for documentation purposes.
I'll update the build once @nkibler fixes this.


Support Rize ETF/ARK Europe funds

https://rizeetf.com/ark-acquisition
https://ark-funds.com/ark-invest-has-acquired-rize-etf
CC/ @frefrik

@frefrik any ETA on this?

I thought I'd wait for the funds to rebrand to the ARK portfolio, but I see they've sort of done that now (https://europe.ark-funds.com). I'll see what I can do the coming days!

I'm not quite sure what the correct name of the tickers should be, as they have different ticker names at different exchanges.
Rize Sustainable Future of Food UCITS ETF for example is listed with "Base Code" FOOD, but has the following actual tickers at different exchanges:

FOOD IM
RIZF GY
FOOD NA
FOOD LN
FOGB LN
ESSN SE

I guess we can use the "Base Code" in the Funds overview, but feel free to provide input.


Automatically plot dependency diagrams / networks for character matrices using ontologies.

I have done this manually for my own dataset (character-taxon matrix) and I think the results are really interesting:

Vertices represent individual morphological characters and arrows indicate developmental trajectory. The network is polarised by inclusion of a hypothetical ‘root’ character (note that most cladistic matrices will not have a 'root' character as it would, by definition, be invariant for all taxa). Vertex colour indicates the minimum path distance to the root character. Vertex size is proportional to the number of downstream dependent characters.
Such diagrams are similar to the DDA figures presented in @sergeitarasov's recent preprint.

Very cool!

That's cool! Nice idea for a project! I am interested. :) There is some old code used in previous SCATE shortcourses to make such dependency graphs for anatomical entities. I think it considers only part_of and is_a relations (not develops_from), but can be something to start with!

Btw, what format do you use to store those ontological relationships? If OWL I would recommend using Owlready2 in python to read the data and query them for plotting?


OIM Topbar Changes & RCS

This change is

Coverage decreased (-2.5%) to 47.32% when pulling 2ca82161beaffa80b8530d327a0fae989be29a8f on xzzy:master into e91b4f42d019ece9645e731f94f2b00b0d671ddb on parksandwildlife:master.


Doesn't work with UK Android account/device

Hi,
I tried the starter-bot.js. When I scan the QR code that starter-bot generates, I get the below error on my phone. I'm totally new to WeChat and not really sure whats going on here. If I click "Update Now" it takes me to the Apple App store....I'm on an Android device.

Interesting... it seems that your android phone does not display right, and I can not believe that "Update Now" will take you to the Apple Store...
And, there's another question: we did not have starter-bot.js in this repository.
So please provide all the required information by following the ISSUE Template, or we can not be able to help, thanks.

You're right, it was from https://github.com/Chatie/wechaty-getting-started not this repo.

Yes, but the getting-started repo should be ok because many users had start from there.
I'd like suggest you to join our Developer Communitte Wechat Group, there's many developers over there, and you can ask to see if there's anyone can help you with this strange error.
You can find the QR Code at the README in this repo.


Creating Testdataset from dictionary/json file

Describe the Feature
In some cases I think it would be interesting to generate a testdataset variable from a json file or dictionary with the necessary keys (question, answer, context...) in order to also evaluate LLMs on human-generated Testdataset for specific topics.
Why is the feature important for you?
Because I am implementing RAGAS on a really specific topic and some tests have to be carried out on exames generated by specialists in the company.
Additional context
I would be able to generate the code and a Pull request. Maybe the feature is already implemented but I have not found any method "from_json" or similar.

Hey, this is something we will be working on immediately after 0.2 release. I would love to know more about your request so that we can use this while adding the feature.
If you have some time, please book a slot https://cal.com/shahul-ragas/30min


An exception should be thrown if a configured feature filter has not been registered.

If a feature is configured to be enabled for a certain feature filter, the feature management pipeline should throw if that feature is being evaluated and the feature filter can not be found. Without this behavior it is very hard to track down the fact that a feature filter has been excluded from being registered. For those who intend for this behavior and depend on an exception not being thrown, this could be configurable via feature management options.

The initial design is that exceptions are not thrown if feature filters are not registered. We have multiple users already using this default functionality. I believe the best approach would be to keep the default behavior and to instead expose the option such that a developer can trigger the exceptions to throw.

@zhenlan @MSGaryWang any preferences either way?

@jimmyca15 what you are proposing makes totally sense, regarding that multiple users already using the default functionality. I will wait for @zhenlan and @MSGaryWang comments before making any changes.

The initial design is that exceptions are not thrown if feature filters are specified for a feature and not registered in the application.

Is this to allow users to add new filters to existing feature flags in App Configuration before updating/redeploying the application? This doesn't sound like a good practice we would recommend for users to do in production.
I'm not sure I like the silent failure here. I need to understand better why the existing behavior is important for some users (aside from it's a breaking change). If that's indeed the case, I think we should still throw by default and provide an option to suppress it.

@zhenlan you raise a good point. Promoting that as default doesn't lead to best production practices. We should encourage deterministic feature configuration. Going forward switching the default behavior  to throw for unregistered filters sounds like a better option. I think it is best for us to take this change now.

The existing behavior is important for the users only because the change is a breaking one and  for no other reason. The deterministic feature configuration (best production practice) is more important than not making a breaking change. especially at the current state where FeatureManagement is still in preview.


[8.x] Add ability to rate limit jobs per second

Sometimes, when interacting with 3rd party API's, you are restricted to a rate limit of X requests per second. The throttle job middleware is a great way to queue up API requests and dispatch them at an allowed rate limit.
However, the lowest time denominator for the queue rate limit middleware is on a per-minute basis.
The pull request lowers the minimum time denominator to a per-second basis.
I would be happy to also lower the HTTP rate limit middleware to a per-second basis too.

See https://github.com/laravel/framework/pull/34856. Rate limiting per second is not possible without a lock implementation as the operation is currently not atomic (and therefore, not suitable for rate limiting per second).


stackable when dropped

This plugin is awesome for being able to stack un-stackables within player inventories, my only issue is that it doesnt stack items upon them dropping to the ground. Plugins like Rosestackers does this but it doesn't stack un-stackables in Inventories like Simplestack. I'm not a fan of using two stacking plugins or two plugins that should do exactly what their title suggests they do.
Right now I've reverted to using Simplestack because it in my opnion offers something Rosestackers doesn't stacking un-stackables in inventories. The Dev of Rosestackers says shes taken my request of un-stackables being able to stack in inventories onboard and its on her list but far from a priority as it's not important to her which i found a little annoying considering i think stacking options is far more in keeping with a stacking plugin than spawners.
I'm hoping you would be kind enough to add the ability for Simplestacks to stack items when they drop to the ground within a radius of each other so i don't have to revert back to Rosestackers. It would without any doubt make Simplestack the best stack plugin out there doing what a stack plugin should. Thanks.

That sounds like a great idea! I know of a way to implement this feature so when I have some free time I'll add it to the plugin.


Update the Dart language version in the pubspec generated by the dartdoc script

As part of this CL can you also backout the change made in #116786

Done


Don't use StringEnum subclasses over Qt Signal definition

Closes #94
Closes #103

LGTM, but is there a way we can test this breakage? We didn't catch this bad crash before.

The thing that was causing the tests to not fail was that the validation that skipped the whole test_qt_plugin_dialog module was skipping it if we where testing with PySide2 always (due to an or instead of an and in the validation). The related change to prevent that is at: https://github.com/napari/napari-plugin-manager/pull/104/files#diff-7974331479a4c742a92ad157da87de3e8f3b2a5ec09707b208b4ca377c2bd6caL17-R17
With the change done, now the module gets skipped only when actually is necessary (when using Python >3.10 and PySide2). This skip is needed since there are no wheels for PySide2 5.15 for Python >3.10. Trying to install PySide2 causes PySide2 5.13 to be installed with Python >=3.11 and that comes with some issues.
I also checked that reverting the Signal change, while keeping the change for the validation to apply the skip, causes the tests (test_qt_plugin_dialog) to fail:

Without the Signal definition change but having the validation change on Windows with Python 3.10:

With the Signal definition change and also the validation change on Windows with Python 3.10:

Amazing sleuthing as always @dalthviz
❤

Ok, thank you so much for the detailed explanation. Always a pleasure, let's merge this one.


nerdctl read from stdin will stuck forever.

Description
nerdctl won't exit after reading from stdin, with -i arg.
Steps to reproduce the issue
echo 123 | ./nerdctl run -i --network none ubuntu cat -
run this command, it will stuck:

ctrl + C and ctrl + D didn't work. I can not exit.
Describe the results you received and expected
If i replace nerdctl with docker cli, then it is ok:

What version of nerdctl are you using?
root@vagrant:/home/vagrant# ./nerdctl --version
nerdctl version 0.18.0

Are you using a variant of nerdctl? (e.g., Rancher Desktop)
No response
Host information
root@vagrant:/home/vagrant# uname -a
Linux vagrant 5.4.0-77-generic #86-Ubuntu SMP Thu Jun 17 02:35:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

tested in Fedora, same behaviour:
[root@fedora-s-1vcpu-1gb-sgp1-01 ~]# uname -a
Linux fedora-s-1vcpu-1gb-sgp1-01 5.14.10-300.fc35.x86_64 #1 SMP Thu Oct 7 20:48:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

It's actually the same behavior as Docker, you may want to try docker run -it --rm --net host bash cat - which will ignore sigint as well.
And this has nothing to do with container runtime or the exec(2)-ed binary, because it's the kernel responsibility to repress the sigint for pid 1 of every pid namespace.

Let me demonstrate this behavior as followed:
import os
import ctypes
import ctypes.util

CLONE_NEWPID = 0x20000000
libc = ctypes.CDLL(ctypes.util.find_library("c"), use_errno=True)
libc.unshare(CLONE_NEWPID)
pid = os.fork()
if pid == 0:
    os.execve("/bin/sleep", ("sleep", "1000"), {})

Run this script using root, and you'll find it impossible to kill by 2.
Here is the man2: https://man7.org/linux/man-pages/man7/pid_namespaces.7.html

It seems we got some issues here. PTAL https://github.com/containerd/nerdctl/blob/master/pkg/taskutil/taskutil.go#L72-L80
In this case, when the command echo 123 has been executed, the result 123+EOF has been used in nerdctl run -i --network none ubuntu cat. but in our code, we close container stdin directly when we get the EOF error.
But for some of the commands such as cat - or else, closing the process stdin will not cause an existing event unless the command has got an EOF error.
So maybe we need to redirect the error we got. PTAL https://github.com/moby/moby/blob/master/pkg/ioutils/readers.go#L107-L127

Even echo asdf | nerdctl run -it --rm --net none bash cat - is still reading from pty....

It seems we got some issues here. PTAL https://github.com/containerd/nerdctl/blob/master/pkg/taskutil/taskutil.go#L72-L80

Emm. Closer is created after the task is created https://github.com/containerd/nerdctl/blob/master/pkg/taskutil/taskutil.go#L60-L62

Should be fixed in :

https://github.com/containerd/nerdctl/pull/726

Emm. Closer is created after the task is created https://github.com/containerd/nerdctl/blob/master/pkg/taskutil/taskutil.go#L60-L62

Yes, the Closer will be triggered when the stdin close by EOF, but the default Closer don't redirect the EOF to container process stdin

Fixed: https://github.com/containerd/nerdctl/pull/1014


Is it possible to allow for a greater end offset?

It'd be nice to be able to save parts of the after-song screen.

You can enter any offset you want by editing Beat Saber\UserData\SaberHighlight.json directly.

Thanks!


⚠ ClamAV has degraded performance

In 91b7505, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 195 ms

Resolved: ClamAV performance has improved in 0ab3190.