Thank you!

This was the only script I could find that worked to switch my sources with pipewire and pulseeffects sinks for me.
I'm not sure what the python portion does, I just pulled out the bash script out and commented the last while statement to retain my pulseeffects sinks.
I just wanted to drop a star and acknowledge your work here!

Thank you for letting me know, @dv-blk, very much appreciated!
The original bash script aimed to do a few things:

toggle default sink through filtered list of sinks
provide input to select a sink instead of toggling to set a default sink
switch all input sinks to new default sink
avoid dependencies

The python script is functional but not well tested yet. Also not clean enough, which is why I didn't expand the README yet.
It does more than the bash script but has no interactivity. It unifies and generalizes another script I used to switch profiles of sinks.
I would like to know what you value in the script. Do you use it to toggle through sinks? Or do you use the dmenu?

I'm currently using the dmenu prompt to to toggle between my headphones and speakers. Eventually I'll create a custom widget for to integrate this script into awesomewm.
I value that it actually works -- I don't use a DE and I failed to find any standalone packages where I could toggle this programmatically with a simple GUI. Pavucontrol works, but it doesn't have an option to minimize to tray or simply toggle audio source without needing to open the app and switch to the playback tab, nor does it have a cli interface.
I will likely modify the dmenu portion of the script to take a bash argument that the buttons in my widget will supply.

Hey @dv-blk, thank you for letting me know!
I can relate to small weight DEs/WMs – I use i3wm myself.
A few remarks:

You used the word "toggle" and wanted to make dmenu pick a button. Did you notice the script has a toggle flag -t which automatically picks the next matching, not-already-default sink? Is that what you want?
As I understand it pavucontrol itself is a frontend for the pulseaudio interface (possibly via libpulse but I have not idea what soever). If you want a cli tool to interact with it you can use pactl (like I did in the script, provided by libpulse on my distro) or pacmd (provided by pulseaudio in my distro)
pavucontrol doesn't have a tray icon but there is pasystray which can set default sink and lots of other things including launching pavucontrol.

PS: Sorry, for the delayed answer. I was indisposed for a time.


Remove creds-init image from release/nightly pipelines

Changes
The creds-init image is no more, so we can remove it from the images
that are built during the release (nightly or official).
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>/cc @sbwsg @afrittoli
/kind misc
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices
[x] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
NONE

I am disappointed that my grep-fu did not catch these when I removed the source last week. 😅
/approve

I am disappointed that my grep-fu did not catch these when I removed the source last week. 😅
/approve

/test pull-tekton-pipeline-integration-tests

/test pull-tekton-pipeline-integration-tests

tekton-pipelines   2m42s       Warning   InspectFailed                  pod/tekton-pipelines-webhook-5b7cd8c956-7x8v5                        Failed to apply default image tag "ko://github.com/tektoncd/pipeline/cmd/webhook": couldn't parse image reference "ko://github.com/tektoncd/pipeline/cmd/webhook": invalid reference format

Oh... https://github.com/tektoncd/plumbing/pull/675 is really needed 😬

tekton-pipelines   2m42s       Warning   InspectFailed                  pod/tekton-pipelines-webhook-5b7cd8c956-7x8v5                        Failed to apply default image tag "ko://github.com/tektoncd/pipeline/cmd/webhook": couldn't parse image reference "ko://github.com/tektoncd/pipeline/cmd/webhook": invalid reference format

Oh... https://github.com/tektoncd/plumbing/pull/675 is really needed 😬

/test pull-tekton-pipeline-integration-tests

/test pull-tekton-pipeline-integration-tests


Created mzXML zip archive advanced search download view

Summary Change Description
This PR streamlines the mzXML metadata download view (from the previous PR) and creates a new view for the bulk download of mzXML files from the advanced search results.  The zip archive includes the metadata file.
This does not actually add a widget yet to the advanced search template.  It is just the view that builds and streams the zip archive.
Affected Issues/Pull Requests

Partially addresses #1261
Merges into PR #1284 (mzxml_tsv_download)

Review Notes

See comments in-line.
Checklist

This pull request will be merged once the following requirements are met.  The
author and/or reviewers should uncheck any unmet requirements:

Review requirements

Minimum approvals: 1
No changes requested
All blocking issues resolved by reviewers
Specific reviewers: @add_username_here

Review period: 2 days

Associated issue/pull request requirements:

[x] All requirements in affected issues marked "resolved" are satisfied
[x] All required pull requests are merged (or none)

Basic requirements

[x] All linters pass
[x] All tests pass
[x] All conflicts resolved

Overhead requirements

[x] New/changed method tests implemented/updated (or no change)
[ ] Updated Unreleased section of changelog.md (or no change)
[x] Migrations created & committed (or no change)

@narzouni - If you need help with this review, feel free to post questions on code and/or consult with Fan or John.


Create a ReviewCard

Create a ReviewCard

[ ] Create a ReviewCard in molecules folder
[ ] It has to receive reviewer, comment, image, and rate.
[ ] It hast to match with UIX design.

I will take this!

Hi @bruno-keiko , i can work on this if no one has picked it up yet.

Hi @bruno-keiko , i can work on this if no one has picked it up yet.

I have assigned it to you!

i have done this(

Hey @devendra0009
Are you currently working on this issue? If you're facing any problems, please let us know. Thanks!

Really sorry @bruno-keiko , i got busy on some other work and forgot about this one
I'll start it today and will let you know if any problem occurs

hey @bruno-keiko , i have just started with the setup, can u just give a breif or some source on how to get started with building, in which folder should i build it because rn it is just showing a hello world message with some components folder in it. Should i make a separate component of review card ?

hey @bruno-keiko , i have just started with the setup, can u just give a breif or some source on how to get started with building, in which folder should i build it because rn it is just showing a hello world message with some components folder in it. Should i make a separate component of review card ?
We are currently building components. You can view them by using the npm run storybook command. In storybook, you can see your builder component. Refer to other components for guidance.


XML declaration with attributes using single quotes

When using xml2js, this XML declaration is detected:
<?xml version="1.0" encoding="UTF-8"?>

Whilst this one, which I believe is legal, is not detected:
<?xml version='1.0' encoding='UTF-8'?>

Thank you for your good work!

While this xml is legal <?xml version='1.0' encoding='UTF-8'?>, unfortunately, the underlying sax parser which this library is depending on, doesn't seem to support single quotes attribute values.
Therefore, I suggest you try to do manual cleanup (by converting single quotes to double quotes) before passing the xml input to this library.

Actually, I think this is on you; from reading through sax's source, it seems to support single quotes, it just doesn't parse instructions.
You're the one doing the parsing inside this function: https://github.com/nashwaan/xml-js/blob/master/lib/xml2js.js#L96.
Your regular expression is likely the issue, I'll give it a look.

Yes, you are right. This part of parsing is done by this library not sax.
🤦
I feel there is something wrong with this line https://github.com/nashwaan/xml-js/blob/master/lib/xml2js.js#L100
I need to investigate this.

The regexp itself seems correct, but you're doing the parsing in a bit of a silly manner, I think!
I'd likely set the global g flag on the regexp and iterate the resulting array after calling match.

you're doing the parsing in a bit of a silly manner

😄
Would appreciate if you can submit a pull request.

Ah, I didn't mean to offend!
Either way, I'll give it a go in a bit. :-)

No not at all. I didn't feel offended by this. I just liked the way you phrased it and laughed.

Okay, found the issue.
It's actually this line: https://github.com/nashwaan/xml-js/blob/master/lib/xml2js.js#L104
It must be: attributes[attribute[1]] = attribute[2] || attributes[3] || attributes[4]; to fetch the value from either of the capturing patterns. You were currently only fetching from the first capturing patters (which is the double quotes).
I'll submit a PR shortly with a simpler way of doing the parsing, I had actually expressed myself poorly previously; I'll show you what I meant.

Ignore the latest push, it was just me experimenting with fixing the commit message where I forgot to close the parenthesis. :-)
Just to know, will you publish to npm anytime soon?

I merged your pull request because it passed the tests, and then revert it based on your last comment.
Yes, I was planning to release a fix release to npm shortly after the merge.
So, are going to submit another pull request?

Ah, gosh, you didn't have to do that, I deleted my fork already!
It was just a typo in the commit message, and since I had never tried to fix one after submitting a PR I wondered what would happen.
Sorry about that!

You can revert the revert if you don't mind a tiny typo (forgot to close parenthesis) in your git history.

I hate git system as I never managed to understand how the pull/push/merge/branches work. I expect something, and then something else actually happens.
Today, I just hate it more. Near infinity.
But I somehow managed to release it to npm as v1.5.2.
Thanks for your contribution.

I get you, I chuckled at the "Revert Revert"!
Thank you for your quick handling of stuff (and overall useful project)!


Added a failure counter to the HTTP service discovery

For issue 10309.

@roidelapluie Please review when you get a chance. Thanks!

I would avoid setting the URL in labels, as it is not guaranteed to be unique.
I would contruct an identifier "jobname-ID"

Not sure what you mean by "where ID is the name of the SD config used in the logs". Initially, I thought this was the value returned by Config.Name(), but I don't see how that would be a unique ID. Then I tried to find some other ID for a config used in log messages, but couldn't find anything. Could you be a little more specific about where to get the ID?
Also, should I still include the URL as a label or remove it all together? Just thinking it would be easier for users to identify based on the URL value.

Indeed, it would be hard to get a unique identifier. I think we could keep it simple like consul, and not have a label. Consul has a simple failure counter. This is the safest, otherwise you could have duplicate metrics and therefore panics. Additionally, I am not sure we should expose such info's in /metrics endpoints.

OK, I can do that. I'll post on the issue to make sure that meets the needs of the request.

Thanks!


Major Request - Fine tune collision detection and rotation.

Minecraft : 1.12.2
Forge: 1.12.2 - <IP_ADDRESS>75
Mod Version: Alpha 1.12-3.80
Stair collision detection is a nightmare. Can you please fine-tune the way stairs are placed?
Please see the video.
https://youtu.be/ewgJfGH8ah0

Preview rendering makes this less of a pain, no plans to rework any sort of placement logic.


DeleteByQuery ElasticSearch Golang error elastic: Error 404 (Not Found)

I'm trying to delete the documents from my Index with specific productIDs.
Here's the sample code:
package main

import (
	"encoding/json"
	"log"
	"time"
	"fmt"
	"gopkg.in/mgo.v2/bson"
	elastic "gopkg.in/olivere/elastic.v3"
)

func main() {

	client, err := elastic.NewClient(elastic.SetSniff(false), elastic.SetURL("http://localhost:9200"))
	if err != nil {
		log.Fatal("Cannot create ES client:", err)
	}
	boolQuery := elastic.NewBoolQuery().Must(elastic.NewTermQuery("productId", "1503368"))

	searchQuery := client.Search().Query(boolQuery).
		Index("magento1").Type("catalog")
	result, err := searchQuery.Do()
	for _, hit := range result.Hits.Hits {
		var data bson.M
		_ = json.Unmarshal(*hit.Source, &data)
		fmt.Println("SEARCH RESPONSE\n", data)
	}

	result2, err2 := elastic.NewDeleteByQueryService(client).
		Index("magento1").
		Type("catalog").
		Query(boolQuery).
		Do()
	fmt.Println("DELETE RESPONSE 2: \n", result2, err2)

}

The SearchQuery gives the correct response and returns me the document with the provided productId (I DID THIS JUST TO VERIFY IF THE DOCUMENT EXISTS OR NOT).
Now the deletion, I don't know what on earth is wrong with the code or if there's anything missing in the API or something extra has to be added (matchAll etc) but this delete Query is just not deleting the Index AND always giving me the response:
error elastic: Error 404 (Not Found)

I've searched all the blogs/docs/official library's GitHub tests cases etc but none resolved my problem. Although I've come to a resolution to Scan/Scroll and Bulk delete still wonder why this is not working if it's in the official documentation.
Here's the mapping:
"productId": bson.M{"type": "string", "store": true, "index": "not_analyzed"},

ES VERSION:
5.3.1
Thanks.

First of all, your example uses elastic.v3 but in the end you state that you're using 5.3.1. Please make sure you use the correct version of Elastic: v3 is for ES 2.x, v5 is for ES 5.x.
Next, I'm not sure about your mapping. You're using bson.M which is Mongo-parlance. While it might work with mapping stuff in ES (because bson.M is simply a map after all), this leaves me confused about your mapping.
Finally, it's a rough guess, because I can't reproduce your issue with the code above (e.g. because the code doesn't set up the mapping): ES is not a database. It's a search engine specifically used to deal with human language. When you're using a string type, it's very probable that it's not what you think it is. In v6 there even will be not string type, there's only keyword and text. In v5, the string type is actually this mapping.
So, if you want to delete an exact term match (like in a TermQuery), you probably want to delete with productId.keywordequals to "1503368".
query := elastic.NewTermQuery("productId.keyword", "1503368")

Furthermore, DeleteByQuery uses the Bulk API to delete documents. That's fairly inefficient when you only want to delete a single document. You should better delete by document ID, if you can.

Hi, yeah i somehow always thought elastic.v3 is for ES 5 .3.1. Although i can't confirm this since i need golang 1.7 for elastic.v5 (i have golang 1.5.1) i believe this should work.
Currently i've already resorted to using scan/scroll with bulk delete by id and it works fine with bson,M since as you said its a map[string]interface{} after all.
Since the productId is not_analyzed i guess its a keyword (string) and not a text after the mapping.


[Todoist] ... NLP for Add Task

Extension
https://www.raycast.com/doist/todoist
Description
Hey team,
It would be great to get NLP for the Todoist Add Task command.
The way that I see it would be very similar to how Max's custom Notion extension works here: https://youtu.be/m5MDv9qwhU8?si=y-KUnLm8x8Btk7vs&t=296
Who will benefit from this feature?
Everybody 🎉
Anything else?
No response

Thanks for the feature request. Would you like to work on it?

I was looking into this feature too and if no one has started implementing this, I can take a stab at it if time permits.
cc: @thomaslombart

Sure, go ahead!

Hi All,
Is this feature still being worked on?

Yes I have started working on this and picking up the pace soon.

@raycastbot assign me

Hey Stelo,
Thanks a lot! I really appreciate your work on this extension, and for
taking up this issue.
Thanks & Regards,
Aditya Pethkar
On 19 Jul 2024 at 12:11:46 AM, stelo @.***> wrote:

Yes I have started working on this and picking up the pace soon.
—
Reply to this email directly, view it on GitHub
https://github.com/raycast/extensions/issues/12769#issuecomment-2237263520,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL2QKOKEJU3PKIDC4JN6SELZNAD6VAVCNFSM6AAAAABIYY7ACOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZXGI3DGNJSGA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@jfkisafk Thank you, I really need this feature🙏, looking forward to your good news

Due to other obligations for the next month and a half, I might not be able to take a look into this and focusing on smaller fixes/feature requests for extensions. I will take a look after my obligations, if this is still open.


Recursive type references

This PR implements support for recursive type references. For example:
type ValueOrArray<T> = T | Array<ValueOrArray<T>>;

const a0: ValueOrArray<number> = 1;
const a1: ValueOrArray<number> = [1, [2, 3], [4, [5, [6, 7]]]];

type HypertextNode = string | [string, { [key: string]: any }, ...HypertextNode[]];

const hypertextNode: HypertextNode =
    ["div", { id: "parent" },
        ["div", { id: "first-child" }, "I'm the first child"],
        ["div", { id: "second-child" }, "I'm the second child"]
    ];

type Json = string | number | boolean | null | Json[] | { [key: string]: Json };

let data: Json = {
  caption: "Test",
  location: { x: 10, y: 20 },
  values: [0, 10, 20]
}

Previously, the above would have multiple circularity errors.
The specific change made by this PR is that type arguments are permitted to make circular references in aliased types of the following kinds:

Instantiations of generic class and interface types (for example Array<Foo>).
Array types (for example Foo[]).
Tuple types (for example [string, Foo?]).

A type T is said to be an aliased type when

T is the right hand side of a type alias declaration, or
T is a constituent of an aliased union, intersection, indexed access, or conditional type, or
T is an aliased parenthesized type.

For example, in the type alias declaration
type ValueOrArray<T> = T | Array<ValueOrArray<T>>;

the type argument ValueOrArray<T> occurs in an aliased type instantiation that is a constituent of an aliased union type that is the right hand side of a type alias declaration, and the type argument is therefore permitted to be a circular reference.
An additional change in this PR is that when an array type, a tuple type, or an instantiation of a generic class or interface type is the right hand side of a type alias declaration, that type alias becomes the name by which the type is referenced in compiler diagnostics and quick info. Previously, such aliased types were always shown in their expanded form.
NOTE: For consumers of the TypeScript compiler APIs this PR is potentially a breaking change because it removes the typeArguments property from the TypeReference interface and provides a getTypeArguments method on the TypeChecker interface to be used instead. This change is necessary because resolution of type arguments in type references is now deferred.
Fixes #3496.
Fixes #6230.
Fixes #14174.
Fixes #28929.
Fixes #32967.

with additional work it can be expanded to all type references.

To be clear, do you intend to resolve nested Promise types? Another, do you also intend to improve Array#{flat,flatMap}?

OK, so I expanded enough on this locally to try the
type HypertextNode = string | [string, { [key: string]: any }, ...HypertextNode[]];

const hypertextNode: HypertextNode =
    ["div", { id: "parent" },
        ["div", { id: "first-child" }, "I'm the first child"],
        ["div", { id: "second-child" }, "I'm the second child"]
    ];

example out (which is a motivator here), and the approach quickly hits its limits - namely, when we compare tuples, eventually we compare the array methods on the tuple, which have this types - this this type for the recursive alias then expands forever in instantiation, because getAnonymousTypeInstantiation eagerly applies type arguments to the object's captured type parameters (which un-defers them, which isn't an immediate issue, since their containing types now exist, but their structure is then problematic as instantiation doesn't keep any kind of "visited" stack, so will happily spin forever on the type (not knowing it needs to introduce a deferral anywhere). The un-deferal occurs because the getIndexTypeOfType call required for a rest parameter forces the type argument to the array to resolve before it's passed forward (while when the reference within the type argument is what is deferred, as in the other PR, this is no problem). I've opened this with the diff of what I've added

type ValueOrArray<T> = T | ValueOrArray<T>[];

So is this an alternative to #33018?

@weswigham Latest commit changes deferred type reference instantiation to use the same logic as anonymous types. This ensures that deferred type references continue to be deferred when instantiated, and it fixes the issues you were seeing with infinite instantiations. The motivating example
type HypertextNode = string | [string, Record<string, unknown>, ...HypertextNode[]];

const hypertextNode: HypertextNode =
  ["div", {id: "parent"},
    ["div", {id: "first-child"}, "I'm the first child"],
    ["div", {id: "second-child"}, "I'm the second child"]
  ];

now works as expected.
I still need to look at pulling in the other changes in your diff. The depth stuff was just a quick fix I put in place, I agree it isn't the correct solution.

@typescript-bot test this
@typescript-bot run dt

RWC and DT runs look good. The baseline changes are expected and solely related to type aliases now being preserved and reported in diagnostics.
I think this PR is ready to merge.
As an aside, I'm actually wondering how to modify the DT tests such that they are insensitive to this PR. I'm not sure it is meaningfully possible.

As an aside, I'm actually wondering how to modify the DT tests such that they are insensitive to this PR. I'm not sure it is meaningfully possible.

I'm cases like these where essentially only the printback changes, I usually just modify the tests to use an assignment rather than an ExpectType.

The latest commits implement deferred resolution of type arguments in aliased references to generic classes and interfaces such that they can be self-referential. For example:
interface Box<T> {
  value: T;
}

type Foo = Box<number | Foo>;  // Previously caused circularity error

let z1: Foo = { value: 5 };
let z2: Foo = { value: { value: { value: 42 }}};

@typescript-bot perf test this
@typescript-bot test this
@typescript-bot run dt

Perf tests still show effectively zero cost and RWC and DT baseline changes are all related to type alias names being preserved in diagnostics. Seems it is fine to extend the feature to generic class and interface type references. It is also more consistent as there will be no difference between types written as T[] and Array<T>

I like the current syntactic solution because it is easy to reason about when it kicks in.

Easy to reason about, but difficult to abstract over.  I dislike syntactic solutions for that reason, it makes doing higher-order stuff more difficult 🙁 (I wouldn't generally care as much but the type system is already Turing complete which makes these kinds of higher-order abstractions more appealing).

@fatcerberus

Easy to reason about, but difficult to abstract over. I dislike syntactic solutions for that reason, it makes doing higher-order stuff more difficult 🙁

No new syntax is technically being added here, and @ahejlsberg was referring to when an implementation detail kicks in. The only thing this does is allow recursive type aliases, which involves zero syntactic changes, only removing a previous semantic restriction.

This is great.
Been trying to write this for ages---now it's possible

@isiahmeadows I think you misunderstand - I know there’s no new syntax, my point was that determining whether to enable a feature syntactically (i.e. based only on reading the AST without resolving types) in general makes it difficult to write higher-order abstractions over such features.

@jack-williams To really type that properly I would probably want to use something like a GADT but unfortunately AFAICT those are really difficult to realize in TS because they rely on phantom type parameter(s) to enforce full correctness.  TS's structural typing means if you don't use the T in the data it might as well not exist.
But of course that's off-topic for this issue 😛

@typescript-bot run dt

@fatcerberus

@isiahmeadows I think you misunderstand - I know there’s no new syntax, my point was that determining whether to enable a feature syntactically (i.e. based only on reading the AST without resolving types) in general makes it difficult to write higher-order abstractions over such features.

I see now. I'll point out what you're referring to, mutual type recursion, is a far harder beast, and few languages have this capability outside of the FP world. In particular:

C++ allows it only because the template system is very loosely typed. But compilers typically limit template instantiation depth to avoid running out of memory quickly, so this isn't usable in practice.
Rust has a few restrictions for a mix of theoretical and pragmatic reasons, even though its type system is very much traditional FP at its core. They also have only nominal types with structural type aliases.
Most FP languages support mutually recursive nominal types, but like Rust, don't support mutually recursive type aliases. For example, Elm doesn't and even Haskell doesn't. I believe OCaml does, but don't quote me on it, and
Mutually recursive types in general are very difficult to implement. And there's entire deeply involved research papers dedicated to this topic, equirecursive types and their subtypes, like in this 13-page paper about matching equirecursive types themselves and this 14-page paper about higher-order polymorphic lambda calculus extended with equirecursive types, records, and variants. The second paper is a little further down the vein you're looking for, although it intentionally doesn't touch on subtyping. (Try reading those two papers and maybe a few they cite. It's not exactly as simple as it sounds. 😉)

@isiahmeadows Oh, I don’t doubt the complexity of enabling mutual recursion.  I should have been clearer that it seems like in general TS is too quick to go for a syntactic solution, which often makes writing type operators harder than it has to be.  It was a general criticism of (what I perceive to be) TS’s overall direction, not only about this feature specifically.
That said I realize going for the syntactic route is often done for performance reasons and may be unavoidable with TS being implemented in an interpreted language like JavaScript so... c’est la vie.

That said I realize going for the syntactic route is often done for performance reasons and may be unavoidable with TS being implemented in an interpreted language like JavaScript so... c’est la vie.

It's not simply a case of throwing more compute at the problem; with structural types it's not easy to even realise when you are in a divergent scenario.

I guess that's true; with regard to this feature in particular, TS has to know the type is ultimately self-referential, and that's probably undecidable in general: Turing completeness, halting problem, the whole nine yards.  But since the usual case (direct recursion, i.e. inductive types) is trivially decidable from syntax, we can sidestep that issue.
I could liken it to undefined behavior in programming languages: per the 80/20 rule, you pretend the 20th-percentile stuff just never happens and then you don't have to bother reasoning about it in the compiler.  When your code proceeds to summon demons because you did the weird stuff anyway, that's on you 😅

@typescript-bot pack this

@typescript-bot pack this

Suggestion: In the changelog, it should be mentioned that this PR is only syntax sugar. True recursive types are still impossible and probably always will be without nasty hacks. So, for example, making union type from a tree with children is not possible.

@steida Can you give a specific example of a type you can't write?

@ahejlsberg We have some schema and for render function with the exhaustive switch, it would be great to get the union of all types in a tree.
interface BaseElement {
  readonly children: readonly (BaseElement | string)[];
}

interface SchemaElement extends BaseElement {
  type: string;
  readonly children: readonly (SchemaElement | string)[];
}

interface LinkElement extends SchemaElement {
  type: 'link';
  readonly children: readonly (string)[];
}

interface HeadingElement extends SchemaElement {
  type: 'heading';
  readonly children: readonly (LinkElement | string)[];
}

interface ParagraphElement extends SchemaElement {
  type: 'paragraph';
  readonly children: readonly (LinkElement | string)[];
}

interface DocumentElement extends SchemaElement {
  type: 'document';
  readonly children: readonly (HeadingElement | ParagraphElement)[];
}

const doc: DocumentElement = {
  type: 'document',
  children: [
    { type: 'heading', children: ['heading'] },
    { type: 'paragraph', children: ['Foo', { type: 'link', children: [''] }] },
  ],
};

type UnionOfDocumentAndAllChildrenTypeRecursive<T> = ...?
type AllSchemaElementTypes = UnionOfDocumentAndAllChildrenTypeRecursive<
  DocumentElement
>;

@steida You can get pretty close with a manual unrolling up to some maximum nesting level:
type ThisAndChildTypes<T1> =
    T1 | (T1 extends { children: readonly (infer T2)[] } ?
    T2 | (T2 extends { children: readonly (infer T3)[] } ?
    T3 | (T3 extends { children: readonly (infer T4)[] } ?
    T4 | (T4 extends { children: readonly (infer T5)[] } ?
    T5 | (T5 extends { children: readonly (infer T6)[] } ?
    T6 | (T6 extends { children: readonly (infer T7)[] } ?
    T7 | (T7 extends { children: readonly (infer T8)[] } ?
    T8 : never) : never) : never) : never) : never) : never) : never);

Not super pretty, but it works.

Thank you for the answer ♥ I know we can have finite recursion only (and maybe it should be explicitly mentioned in TypeScript error with a warning it can be hacked, but the hack is not recommended, because it's misusing TypeScript because of turing complete types are as bad as turing complete smart contracts in Ethereum, no I am kidding, they are definitely not as bad).
The question is, use finite recursion or no recursion at all. Anyway, thank you very much :-)

The second issue I have with recursive types is how to make one prop from BaseElement (the id) recursively optional (partial). As far as I know, we can have recursively partial everything, but not only one prop. Am I correct?

I have tried the tar in https://github.com/microsoft/TypeScript/pull/33050#issuecomment-529416985 and found that readonly T[]  will be recursive errors.
// Type alias 'Test1' circularly references itself.
type Test1<S extends {items: any}> =
    S["items"] extends {items: any} ? readonly Test1<S["items"]>[] : []
// Fine.
type Test2<S extends {items: any}> =
    S["items"] extends {items: any} ? ReadonlyArray<Test2<S["items"]>> : []
// Fine.
type Test3<S extends {items: any}> =
    S["items"] extends {items: any} ? Test3<S["items"]>[] : []

@steida I think the only hack needed now with the current PR is this
type Unbox<T> = T extends Array<infer TValue> ? TValue : T;
type ThisAndChildTypes<T> = Unbox<
  | T
  | (T extends {children: readonly (infer TChild)[]}
      ? Array<ThisAndChildTypes<TChild>>
      : never)
>;

@ahejlsberg it seems that inference doesn't play nice with ValueOrArray
type ValueOrArray<T> = T | Array<ValueOrArray<T>>;
function displayValueOrArray<T>(v: ValueOrArray<T>) {
  return String(v);
}
displayValueOrArray([5, ["6"]]);

Other than that, I could write any recursive type I needed with way less hacks than before
// Helpers
type PackTuple<T extends [...any[]]> = (...pack: T) => void;
type Prepend<THead, TRest extends [...any[]]> = (
  head: THead,
  ...rest: TRest
) => void;
type Unbox<T> = T extends Array<infer TValue> ? TValue : T;
type UnionToIntersection<U> = (U extends any
  ? (k: U) => void
  : never) extends ((k: infer I) => void)
  ? I
  : never;

// Union and Intersection
type Union<T extends [...any[]]> = Unbox<
  T['length'] extends 0
    ? never
    : PackTuple<T> extends Prepend<infer THead, infer TRest>
    ? Array<THead | Union<TRest>>
    : never
>;

type Intersection<T extends [...any[]]> = UnionToIntersection<Union<T>>;

declare function mixin<T extends [...any[]]>(...args: T): Intersection<T>;

// const testMixin: { x: number; } & { y: string; } & { z: boolean; }
const testMixin = mixin({x: 5}, {y: "hey"}, {z: true});

// Lenses
type LensResult<T, TKeys extends [...string[]]> = Unbox<
  TKeys['length'] extends 0
    ? Array<T>
    : PackTuple<TKeys> extends Prepend<infer THead, infer TRest>
    ? THead extends keyof T
      ? Array<LensResult<T[THead], TRest>>
      : never
    : never
>;

type Lens<TKeys extends [...string[]]> = {
  view: <T>(obj: T) => LensResult<T, TKeys>;
  set: <T>(obj: T, value: LensResult<T, TKeys>) => T;
}

declare function lens<TKeys extends [...string[]]>(...keys: TKeys): Lens<TKeys>;

const someLens = lens('a', 'b');
// const testLens: { c: number; }
const testLens = someLens.view({a: {b: {c: 42}}});

@typescript-bot pack this

@typescript-bot test this
@typescript-bot run dt

@typescript-bot pack this
sorry everyone, just wanted to try this out, I'm very excited for this change.

@typescript-bot run dt

The issues in the DT test run are all unrelated to this PR.

Thank you so very much for this feature! Now we can do things like parameterizing a tuple type by its length, without having to hide from the circular conditional type police!
export declare type TupleOf<T> = [T] | T[];
export declare type Unshift<Tuple extends TupleOf<unknown>, Head = never> = Parameters<((head: Head, ...args: Tuple) => void)>;

const recursionKey = Symbol();

interface RecursionInterface<T> {
    [recursionKey]: T
}

type Recurse<T> = T | RecursionInterface<Recurse<T>>;

type UnpackRecursion<T> = T extends Recurse<infer R> ? R : never;

type OfLength_<N extends number, Tuple extends TupleOf<never>> =
    Tuple['length'] extends N
        ? Tuple
        : RecursionInterface<OfLength_<N, Unshift<Tuple>>>;
type OfLength<N extends number> = UnpackRecursion<OfLength_<N, []>>;

type Quintuple = OfLength<5>;

I don't see anything that says it's okay now to index into the recursive property so as to immediately flatten the nested type.  From what I can tell, this PR is intended to make it easier to create new arbitrarily nested types, not to make it easier to reach down arbitrarily far into a type.  Can @ahejlsberg comment on whether the above constitutes an "acceptable" or "supportable" recursive type in TS3.7+?  Can the conditional circular type police really go off-duty? I suspect not, but I'd be happy to turn in my self-made badge if I'm wrong.

@jcalz You can test it on playground, selecting version 3.7-beta.
For example, the code from the comment before yours.

Sure, but I’m not asking if it works.  I’m asking if it’s supported.

🚨 Oh no, I've been found out! 🚨
In my defense: Wasn't the problem with conditional circular types, that circular types should have been forbidden, but the complex conditionality spooked the compiler into looking the other way? If so, then this PR resolves that by explicitly allowing circular type aliases. Although you're right, that the jury is still out on the recursive inference (type flattening). It would be so cool to see it approved though, even if you can only use it for tailrecursive types, it's still extremely simple yet powerful.

@jcalz What is the type in question, this?
type OfLength_<N extends number, Tuple extends TupleOf<never>> =
    Tuple['length'] extends N
        ? Tuple
        : RecursionInterface<OfLength_<N, Unshift<Tuple>>>;

If my reading of @ahejlsberg's spec is correct, this is legal under the follow points:

permitted to make circular references in aliased types of the following kinds:

Instantiations of generic class and interface types (for example Array).

The recursive type appears as a type parameter to the interface RecursionInterface.

A type T is said to be an aliased type when

T is the right hand side of a type alias declaration, or
T is a constituent of an aliased union, intersection, indexed access, or conditional type, or

RecursionInterface<OfLength_<N, Unshift<Tuple>>> is an aliased type as it is a constituent of an aliased conditional type.
...maybe I'm missing something.
The accompanying tests also include circular (but guarded) recursive conditional types.
type T15<X> = X extends string ? T15<X>[] : never;

@jack-williams
The controversy is about the type
type UnpackRecursion<T> = T extends Recurse<infer R> ? R : never;

which flattens a (theoretically) arbitrary length cascade of
Recurse<Recurse<Recurse<...Recurse<ContainedType>...>>>

Into simply ContainedType. The question is whether this kind of recursive inference is sanctioned by this PR or if it is an unfortunate side effect that should not be relied upon (just like circular conditional types).

A recursive type example:
export type UnwrapRef<T> = T extends SomeType<infer V>
  ? UnwrapRef<V>
  : T extends Array<infer V>
    ? Array<UnwrapRef<V>>
    : T

this type is incorrect but how to solve it?

@Himself65
From the description in the very first post (the PR):

The specific change made by this PR is that type arguments are permitted to make circular references in aliased types of the following kinds:

Instantiations of generic class and interface types (for example Array).
Array types (for example Foo[]).
Tuple types (for example [string, Foo?]).

This is violated in the second line of your code.
You can get around this by doing what I did in my previous comment (I simplified it somewhat from the original formulation):
export interface Plain<T> {}

type Recursive<T> =
    | T
    | Plain<Recursive<T>>
    | SomeType<Recursive<T>>
    // add any other types to unpack here

export type Flatten<T> = T extends Recursive<infer R> ? R : never;

And then you can use them like this:
type UnwrapRef_<T> = T extends SomeType<infer V>
    ? Plain<UnwrapRef_<V>>
    : T extends Array<infer V>
        ? Array<UnwrapRef_<V>>
        : T
export type UnwrapRef<T> = Flatten<UnwrapRef_<T>>

But keep in mind, that while this does work at the moment (in TS 3.7), this kind of recursive inference is not (yet) officially confirmed to be supported (see the previous few comments). Hope that helps!

@Himself65
Additionally, if you want to not only unpack the inner most type, but also keep the containers along the way, you can generalize the Flatten type like this:
type Flatten<T> = T extends Recursive<infer R> ?
    R extends Set<infer S> ? Set<Flatten<S>> :
    R extends Promise<infer S> ? Promise<Flatten<S>>
    R extends SomeType<infer S> ? SomeType<Flatten<S>> :
    // add any other types to unpack here
    R : never

This type removes all Plain type constructors and passes through Set, Promise and SomeType:
type ResultOfRecursiveType = Plain<Promise<Plain<Set<Plain<Promise<Promise<Plain<Set<Set<string>>>>>>>>>>
type FlattenedType = Flatten<ResultOfRecursiveType>
// above is Promise<Set<Promise<Promise<Set<Set<string>>>>>>

@RWalkling thanks a lot. I got the point now

type Foo<T> = T[]
type Bar = Foo<Bar> | string;

This seems to still throw a circular reference error, even though type Bar = Bar[] | string does not throw on 3.7?

@RWalkling @jack-williams @jcalz Make sure to use the actual 3.7-beta in the examples being discussed above. In #33678 we fixed our type inference logic to guard against runaway recursion caused by recursive types, and that definitely has an impact on the patterns above.

I'm probably misunderstanding either Record or what cases this PR is supposed to fix, but is there a reason why this compiles on 3.7.0-beta:
type StringOrKeyedString =
    | string
    | { [key: string]: StringOrKeyedString };

But this does not?
type StringOrKeyedString =
    | string
    | Record<string, StringOrKeyedString>;

The latter still gives a "Type alias 'StringOrKeyedString' circularly references itself."

In the first example the recursive reference is guarded within an object.
In the second example the recursive reference is an argument to a type alias and is not known to be guarded. TypeScript wont peek inside the type alias to see if it binds an object type.
If you want to get rid of the object literal you can use an interface type instead:
interface RecordI<T> {
    [k: string]: T;
}

type StringOrKeyedString =
    | string
    | RecordI<StringOrKeyedString>;

This basically falls under the requirement:

Instantiations of generic class and interface types (for example Array).

@acewert
As per the specification (first post):

The specific change made by this PR is that type arguments are permitted to make circular references in aliased types of the following kinds:

Instantiations of generic class and interface types (for example Array).
Array types (for example Foo[]).
Tuple types (for example [string, Foo?]).

The first example you posted is an interface type, so it works. The Record type however is just a type alias (it is defined with type), so it does not fulfill the criteria as outlined above. I can only speculate as to why this decision was made, but I guess it's because type aliases can act as type operators (for example they can map over another type), while interfaces are purely declarative, so this way the compiler doesn't have to handle recursive type operators, which are too good to be true and so aren't allowed to
exist... :cry:
To be fair though, these beasts are actually pretty hard to tame; there are tons of papers published about recursive type operators and I guess the TS team does not want to get into that rabbit hole, as therein madness lies

@ahejlsberg unfortunately this PR doesn't fix what I expected (and I guess I'm not alone here). I would like something like this to work:
type Model<T> = {
}

type Schema<T> =
    T extends String ? string :
    T extends Number ? number :
    T extends Boolean ? boolean :
    T extends Model<infer U> ? Schema<U> :
    never

is there opened feature request for this type of recursion or it's not possible to implement it at the moment? Here is a real world example how this feature can improve experience (duplication, easy of maintenance and refactoring) by removing half of the code in this file.

@pleerock
It's the same thing with my issue #34555 🤔

I think #26980 is the open issue for circular conditional types.

Up until this PR, I've been a TypeScript skeptic. Count me in.

Why it's not possible to do something like this?
interface IState<
  TResolvables extends {},
  TParent extends IState<any, any>
> {
  parent?: TParent;
  resolve?: {
    [T in keyof TResolvables]: TResolvables[T];
  };
}

type Resolves<T> = T extends IState<infer TResolvables, infer TParent> ? (TResolvables | Resolves<TParent>) : never;

It generates two errors:

Type alias 'Resolves' circularly references itself.(2456)
Type 'Resolves' is not generic.(2315)

Can we infer the type on recursively passing the function's returned value as closure value to its parameters like this issue: https://github.com/microsoft/TypeScript/issues/34910?

Is it possible that inferring a type that is referenced by/fed to itself?
type RefSelf<Input extends Record<string, (...args: any[]) => unknown>> = {
  [k in keyof Input]: () => ReturnType<Input[k]>
}

declare function calculate <
  Input extends Record<string, (self: RefSelf<Input>) => unknown>,
>(input: Input): RefSelf<Input>

const { fourtyTwo, fourtyTwo2 } = calculate({
  fourtyTwo: () => 42,
  // (parameter) self: RefSelf<{fourtyTwo: unknown; fourtyTwo2: unknown;}>
  // (property) fourtyTwo: () => any
  fourtyTwo2: (self) => self.fourtyTwo(),
})

I believe 5% performance is very acceptable trade for this feature (is it outside of the margin of error at all?). The recursive type references should just be enabled for all cases.

@RWalkling hey, sorry to be a bother, but I have a question in regards to your unwarp construct. I have successfully converted a tree-like structure into a recursive nesting of Plain<Plain<...> | MyType<'a', 'b'>> values. Unfortunately, using released TS 3.7, your recursive inference
type Recursive<T> =
    | T
    | Plain<Recursive<T>>

export type Flatten<T> = T extends Recursive<infer R> ? R : never;

did not work for me, instead producing the same type I passed into the flatten. Could you advise as to how can I unwrap the nested Plain objects? I need a union of all MyType instances in the tree.
Thanks a lot!

@icehaunter Try recursively extracting in Flatten<T> instead. That's what I would've normally done before this PR, and it's also simpler.
export type Flatten<T> = T extends Plain<infer U> ? Flatten<U> : T;

@isiahmeadows that doesn't work, because of error "Type alias 'Flatten' circularly references itself". Because the recursive type usage is not inside an interface.

@icehaunter 🤦♀ Try this. (That was untested, obviously, and so is this.)
type Flatten<T> = {
	0: T,
	1: T extends Plain<infer U> ? Flatten<U> : never,
}[T extends Plain<any> ? 1 : 0]

If it weren't so difficult and time-consuming (as basically every type system more complicated than C or Hindley-Milner is), I'd reimplement TS myself using proper deductive types with infer being proper mathematical induction.

I still get Type alias ... circularly references itself. when type created with Intersection. For example:
type TreeNode = {
//   ^--------^ Type alias 'TreeNode' circularly references itself
  [key: string]: TreeNode | [string, string],
} & {path: string};

playground

Doesn't seem to work:
type UnknownProps = Record<string, UnknownValues>
type UnknownValues = unknown | Record<string, UnknownProps>

Type alias 'UnknownProps' circularly references itself.ts(2456)
Type alias 'UnknownValues' circularly references itself.ts(2456)

@trusktr
In the opening comment by Anders the definition of the new kinds of types that can be circularly referenced are defined as:

Instantiations of generic class and interface types (for example Array).
Array types (for example Foo[]).
Tuple types (for example [string, Foo?]).

The type Record is a reference to a mapped type from an alias, rather than an interface or class.
It is still the case that TypeScript is not going to resolve arbitrary symbols because there needs to be some indication that the recursion in guarded by something.

Interesting. Also here's another way to write it:
type UnknownProps2 = {[K in string]: UnknownValues2};
type UnknownValues2 = unknown | Record<string, UnknownProps2>
type StartValues2 = {[K in string]: number | Array<number> | StartValues2};

const test2: UnknownProps = {a: 1, b: {c: 2}}

playground

This is still throwing a circularity error in 4.0.5.
export type Unpromise<T> = T extends PromiseLike<infer U> ? Unpromise<U> : T;

I do wish recursive types were possible with inference - for example, why can't this be type-hinted without explicitly having to declare a ServiceMap? It doesn't add any new information to what can be inferred from the return-types in the factory functions (line 29-30) so why should I have to declare this up front? The shape and return-types of the object I pass to Container can be inferred, so why doesn't that lead to a known type for $ in those function expressions? So long as $ doesn't affect the return-type of those closures, there's no "feedback loop" in the definitions of those types, so why doesn't that "just work"?

@mindplay-dk yes I agree I don't see why it wouldn't be possible to infer that. Feel free to create an issue for this.

As far as I know, this code can not be implemented recursively. It can be done for the return type, but that would break the inference of the parameters.
const guardAll = "not implemented" as <A, B, C, D, E, F, G, H, I, J, K>(
	guard1: RefineTypeGuard<unknown, A>,
	guard2?: RefineTypeGuard<A, B>,
	guard3?: RefineTypeGuard<B, C>,
	guard5?: RefineTypeGuard<C, D>,
	guard6?: RefineTypeGuard<D, E>,
	guard7?: RefineTypeGuard<E, F>,
	guard8?: RefineTypeGuard<F, G>,
	guard9?: RefineTypeGuard<G, H>,
	guard10?: RefineTypeGuard<H, I>,
	guard11?: RefineTypeGuard<I, J>,
	guard12?: RefineTypeGuard<J, K>
) => (value: unknown) => value is A & B & C & D & E & F & G & H & I & J & K;

type RefineTypeGuard<A, B> = (
	value: A,
	...args: readonly unknown[]
) => value is B extends A ? B : never;
// create new predicate by combining them in order,
const isFoobar = guardAll(
        // Don't have to tell TypeScript what the value of val is, it is inferred from the last predicate
	(val): val is string => typeof val === 'string',
	(val): val is `foo${string}` => val.startsWith(val),
	(val): val is 'foobar' => val === 'foobar'
);
const test = {} as unknown;
if (isFoobar(test)) {
	test; // "foobar"
}

@nicobrinkkemper Is this the sorta thing you're looking for? Playground Link

@nicobrinkkemper Is this the sorta thing you're looking for? Playground Link

Not exactly. See this example and hover over the functions in guardAll and you can see that the predicate of the first is passed to the next and so forth
[https://www.typescriptlang.org/play?#code/PQKhCgAIUhBSAuBPADgU0gewHaQO4AWAlgMYGQAqqGA4gK4CGATgCaQC2DSkaAHgmmwsAdFBDBwLNCQA2zDMnRxsSKunrM2AXkgAKcAEgAbgxl00ALkgMVAGkPDHzAOYBnK0zQMWOGdxtIANoAuuAAlJBaAHyQJmYYRK7WKgDc4OCKGAAKROgsamgarAA8sLaQAEIxOvrGpuZWZQ5OTG4eXj7YfpB02ADW2Jh42CHhkTFx5pCJlTz8gixJ8AD8s1bYaEZoTGngoBDQcIjUiAQMCNaQRWx4RDIy1q6uRM64CJiXJkxEDABGMmhRNAJFJZPJjkprgVitc5gIhEkAtUroxWHCFklapNLD1+oNhvYDI5hC53JBPN5fP4VKMItFYvUEkkiNgAGbbSAAVUMq25BnWm22aUgIsgezAYiuRC2uAY1iYTC4WFZlGoSWurnKt3u5LQCDoTFl02wAiYrmkCCIOGV1h1CAItFRbAKriB4gyJwAwph2L8WYUndDDLAFeiEZAAEodKkhxVIUoqArXKKEqOuOgyC46XoDIbYcDI2Nhxa6yldbijAyrNMZhCGRqhvjwksUzrdQIs9lMSAACQ65WJnY5FAYd1CVcoo4eTYxpbb3Fgieo10rE+9vv9UOoxRHd3KNczkAAZCjNNC+94olFDPzIBstkx63fBTt0vtJTRpYIsBssN32LWuQAqqkJOoiiIKlw5SePqhqIiBjqaKc5yQGQ0h9MyKr2hgzhfrg2IcOcaGIjquEyghp6sK6YgSCQOCuBczhOrA9wAJK4FohgwmBxZJK2VLKKoy5OiEUS6ExmhkhqdLXgYujYlYOb4tgYRWARMzrn6Gxbug3GSdUskGBJVHCKyLIsOxUi8Lo4lOjJkAAITGSw8mMmEdJaDoAC0ACMux0dgDGQM5LEPDoelUbxc4CYuQnqCJwRicSzlSWBMmGCFbHYLZklhLsmSUSwOToAAYhxIqlOUFTlJ65QACLlAAouUJXlDQ5Q9uUrHlAAUuUADSYlQKKzk+VYxVoPkwmaMUSl5uUsApsNIrOQATMs425JNSZOpVlRLaKwVOgAzBtkATVN8UzdVkCegdI1OgArGdF07TNtWQHV90rU6ABsL1bZdAYzQ1kCNd9R2aAA7ADeRvSUzWQCVEPOQAHLD23TSUrVXCjToAJwY0D1wwh1eOaD5AAMRPwywxSdZArHk6wPk+TTWN091kA9czLA+etm1wxzxR9ZAg1jPSrnxIpeJ5vZ6lLMeswnp6St1UrjVKyVSs0ErPZK6xSs9Ur-W7MAwCIGgDHgAFQXORNkSQ6woWPIVE1lWktsXIkJWYJgvzMI79tbbU5sMjIMu5sMhhS6p4fTEkDHfNgzjjBCaCYCqcSRJ5kAAORJyyzh54SYdxFYhcpzHcRx9nMwAAasn7AAkADelfOAAvvXadxMIDHMAgrgAOpEPauh503mB52EpcW+XkCNy37cIMnXf19Xpi16YCf51PAdMHnvc755OiT37B95+Env0RcAhBTored67c3DGkRAqroPsX8wuj3wg7lICt0MP-FIkAw4ACJ97MAgeATu4AgA](Playground Link)

@nicobrinkkemper That's the purpose of ValidateValues in my playground link. It goes through the predicate values and fails if the next value is not a subtype of the previous. AFAIK this is the only way to do this kind of thing generically..you have to teach the compiler how to do that validation.

What I'm talking about is the limitation to infer the parameters of the Type Guard. In your playground link (which is nice don't get me wrong) you are forced to type your parameters. In my playground I don't have to specify them, and if you hover over them you see the type of the previous predicate. This would mean that any invalid function will be catched right there on the spot and it would show a red line under that specific offending function.
For example if I add a invalid function to the pipe in my playground example, it shows:
Argument of type '(val: `foo${string}`) => val is number' is not assignable to parameter of type 'PipedTypeGuard<`foo${string}`, number>'.
  Type predicate 'val is number' is not assignable to 'value is never'.

Ahh, I see now what you mean about the differences and why you might not be interested in that particular implementation. I have some similar code to that playground, and yeah the errors end up being moved to the if statements I use them in since { error: ...} is not a boolean expression and its caught by my ESLint configuration

With Record still causes error:
type Obj1 = Record<string, Obj1 | string> // error type Obj = { 	[key: string]: Obj | string }; // fine


doesn't minimize to panel

Aknowledgements

[X] I have checked that there's no other issue describing the same or
similar problem that I currently have, regardless if it has been
closed or open.

[ ] I can confirm that this is not an issue with the Discord website,
but it is a problem specific to the WebCord itself. I have tested
if this bug occurs on Chromium/Chrome or any other Chromium-based
browser that uses unpatched/upstream Chromium engine.

[ ] I have tried running the build from the master branch and it does
not have any fixes implemented according to my issue.

[ ] My issue describes one of the unstable and/or not fully implemented
features.

[ ] I have found a workaround to mitigate or temporarily fix this issue
in affected releases (please write it in Additional context section
below).

Operating System / Platform
🐧 Linux
Operating system architecture
x64 (64-bit Intel/AMD)
Electron version
21.2.1
Application version
3.9.2
Bug description
Upon closing Webcord it no longer minimizes to the panel, it closes completely, even though it's set to hide in panel in settings
Additional context
Notice: This issue was automatically generated by WebCord.

This is happening for me as well.
I am using Manjaro, Kernel : 6.0.6-1.
So, using the pervious version for the time being.

Looks like a duplicate of #306…


Make sure escape value before appendChild() for XML formatter

to avoid error: " DOMElement::__construct(): unterminated entity reference"

I added test that include escape "&" to "&"

is there any chance to get it merged ? Thank you.

Thanks, @samsonasik


RequestOption can't be found when using Azure Purview Catalog client library for .NET - Version 1.0.0-beta.3

I tried to update the Catalog client library to version 1.0-beta.3 but my code is breaking because RequestOption class is not available in Azure.Core or Azure.Core.Experimental libraries.

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Core:0.30101895,Data Lake Storage Gen2:0.08222785,Tables:0.077581294'

@upton2805 We are looking into it and get back to you for any additional information.

@upton2805 Can you please share the code snippet you are using which breaks with beta3 version ?

@upton2805 Can you please share the required information with code snippet, so that we can look into it. Thanks

@upton2805 We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Demo or paper?

Hey there , I'm sorry if I found this repo super early. But would there be a demo or a paper down the line?
Is this better than sgmse or storm? idk I have a feeling that might end up as a SOTA , that's why I'm interested in this.

Thank you for your interest.
I have been training speech enhancement models with various flow settings, recently. However, I did not obtain better results than SGMSE or STORM. When I get better results than those, I will upload a demo and prepare a paper.


Issue with cucumber feature specs

Hi Gled,
We have issue with feature specs.
Steps:

Add cucumber to your project: https://www.npmjs.com/package/cypress-cucumber-preprocessor
Open folder in e2e with the name features
Add feature file with the name for eg Header.feature and with the content

Feature: 001 Header
I want to check the header
Scenario: Header Logo
Given I navigate to 'https://www.google.com/'
Then Logo is visible

Run cypress-io/github-action@v5
/usr/local/bin/npm ci
npm WARN deprecated<EMAIL_ADDRESS>The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated<EMAIL_ADDRESS>This package is now published under @cucumber/gherkin
npm WARN deprecated<EMAIL_ADDRESS>This package is now published under @cucumber/cucumber-expressions
npm WARN deprecated<EMAIL_ADDRESS>This package is now published under @cucumber/cucumber-expressions
npm WARN deprecated<EMAIL_ADDRESS>Cucumber is publishing new releases under @cucumber/cucumber
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
added 785 packages, and audited 786 packages in 25s
94 packages are looking for funding
run npm fund for details
4 high severity vulnerabilities
Some issues need review, and may require choosing
a different dependency.
Run npm audit for details.
/usr/local/bin/npx cypress cache list
┌─────────┬────────────┐
│ version │ last used  │
├─────────┼────────────┤
│ 12.5.1  │ 6 days ago │
└─────────┴────────────┘
/usr/local/bin/npx cypress verify
[STARTED] Task without title.
[SUCCESS] Task without title.
/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/cs-qa-automation/cs-qa-automation --files-from manifest.txt --use-compress-program zstdmt
Failed to save: Unable to reserve cache with key npm-linux-x64-0f1b354c96bd8ecc11cfcee398e6b15fcd0f5304981f726fd1d69f1bd0cfe453f56e601e3e99dd3813a1d288ca63355b901f0286ed4b57f7b924964afe1a3139, another job may be creating this cache. More details: Cache already exists. Scope: refs/heads/main, Key: npm-linux-x64-0f1b354c96bd8ecc11cfcee398e6b15fcd0f5304981f726fd1d69f1bd0cfe453f56e601e3e99dd3813a1d288ca63355b901f0286ed4b57f7b924964afe1a3139, Version: 04d00cc68e25ee34fd8b04095d0a46a28244d98af53e6925e47ed311d487b1d6
/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/cs-qa-automation/cs-qa-automation --files-from manifest.txt --use-compress-program zstdmt
Failed to save: Unable to reserve cache with key cypress-linux-x64-0f1b354c96bd8ecc11cfcee398e6b15fcd0f5304981f726fd1d69f1bd0cfe453f56e601e3e99dd3813a1d288ca63355b901f0286ed4b57f7b924964afe1a3139, another job may be creating this cache. More details: Cache already exists. Scope: refs/heads/main, Key: cypress-linux-x64-0f1b354c96bd8ecc11cfcee398e6b15fcd0f5304981f726fd1d69f1bd0cfe453f56e601e3e99dd3813a1d288ca63355b901f0286ed4b57f7b924964afe1a3139, Version: 1955096f8dd018efdf62615d0a27779c95e9b0287a6a71bc182356f3b1a36196
[2123:0208/122921.036493:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
Couldn't find tsconfig.json. tsconfig-paths will be skipped
cypress-split: there are 17 found specs
cypress-split: split 0 of 4
k  spec

1  cypress/e2e/features/00_Common/001_Header.feature
2  cypress/e2e/features/00_Common/002_Footer.feature
3  cypress/e2e/features/00_Common/003_Percy_Screenshots.feature
4  cypress/e2e/features/02_Cookies_Policy/020_Cookie_Bar.feature
5  cypress/e2e/features/02_Cookies_Policy/021_Content.feature
Your configFile threw an error from: /home/runner/work/cs-qa-automation/cs-qa-automation/cypress.config.js
The error was thrown while executing your e2e.setupNodeEvents() function:
Error: ENOENT: no such file or directory, open './undefined.json'
at Object.openSync (node:fs:585:3)
at readFileSync (node:fs:453:35)
at setupNodeEvents (/home/runner/work/cs-qa-automation/cs-qa-automation/cypress.config.js:16:20)
at /home/runner/.cache/Cypress/12.5.1/Cypress/resources/app/node_modules/@packages/server/lib/plugins/child/run_plugins.js:118:14
at tryCatcher (/home/runner/.cache/Cypress/12.5.1/Cypress/resources/app/node_modules/bluebird/js/release/util.js:16:23)
at Function.Promise.attempt.Promise.try (/home/runner/.cache/Cypress/12.5.1/Cypress/resources/app/node_modules/bluebird/js/release/method.js:39:29)
at RunPlugins.load (/home/runner/.cache/Cypress/12.5.1/Cypress/resources/app/node_modules/@packages/server/lib/plugins/child/run_plugins.js:115:9)
at RunPlugins.runSetupNodeEvents (/home/runner/.cache/Cypress/12.5.1/Cypress/resources/app/node_modules/@packages/server/lib/plugins/child/run_plugins.js:276:10)
at EventEmitter. (/home/runner/.cache/Cypress/12.5.1/Cypress/resources/app/node_modules/@packages/server/lib/plugins/child/run_require_async_child.js:185:22)
at EventEmitter.emit (node:events:527:28)
at EventEmitter.emit (node:domain:475:12)
at process. (/home/runner/.cache/Cypress/12.5.1/Cypress/resources/app/node_modules/@packages/server/lib/plugins/util.js:33:22)
at process.emit (node:events:527:28)
at process.emit (node:domain:475:12)
at process.emit.sharedData.processEmitHook.installedValue [as emit] (/home/runner/.cache/Cypress/12.5.1/Cypress/resources/app/node_modules/@cspotcode/source-map-support/source-map-support.js:745:40)
at emit (node:internal/child_process:938:14)
at processTicksAndRejections (node:internal/process/task_queues:84:21)
Test run failed, code 1
More information might be available above
Cypress module has returned the following error message:
Could not find Cypress test run results
Error: Could not find Cypress test run results

Could you make a tiny repo with those steps already done so I can simply grab it and see the problem?Sent from my iPhoneOn Feb 8, 2023, at 07:53, Stefan Tegeltija @.***> wrote:
Hi Gled,
I think that we have issue with feature specs.
Steps:
Add cucumber to your project: https://www.npmjs.com/package/cypress-cucumber-preprocessor
Open folder in e2e with the name features
Add feature file with the name for eg Header.feature and with the content
Feature: 001 Header
I want to check the header
Scenario: Header Logo
Given I navigate to 'https://www.google.com/'
Then Logo is visible
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

For me it works straight out of the box, see https://github.com/bahmutov/cypress-split-cucumber-example


RGB Hue Shift Items

Easy

[ ] Refill collectibles (ammo boxes, crystals, oranges, ...)
[ ] Boss keys (i know this one is a :dk64lol~1: but still)
[ ] The watermelon you shoot in minigames (#1839 )
[x] Shockwave charging particles
[ ] Fairy particles
[x] Jetman

Medium

[ ] The rings you go through in vulture/owl/blast
[x] Fire, flames and explosions, including the rocketbarrel flames and the flame enemy
[ ] Pads for pad moves, instruments and feeding Scoff (the blue/purple part)
[ ] Dust particles
[ ] Mushrooms in Forest (since that's a thing in the game)
[ ] Jumpman

Hard

[ ] The DK coin you get in minigames and minecarts
[ ] Troff and Scoff themselves (#1642 )
[x] And I'll keep enemies for last (I know this one is the dream and it's complicated but it would just be so cool) (#1642 )
[ ] Kong barrels
[ ] Lava and acid (also water maybe ?)

Ignoring for now

Shockwaves, from kongs and kasplats
Pad rims (Maybe)

Making a quick note here: I once noticed the Sickbay cannon's fire color not being affected.
Also suggesting: the notes on the instrument pad rims


No files

im a noob with coding, how to get the .exe from the code.

https://github.com/Airkek/Youtube-Viewers/releases

no .exe file in it too

download release.zip from last release

ok nice, how many threads threads should i enter

400-800 recommended

ok thank you man

whats the maximum number of watching with this bot?


Update for Flutter deprecations and removals

This accounts for recent deprecations and removals in the Flutter framework, enabling compatibility with at least up to Flutter 3.22.

Hi @mtiziano any chance you could merge this, and re-publish?


Installer Exiting out without doing anything.

I think my computer updated recently, and maybe the wrapper ins't quite up to date with my version of windows that I'm on.  Its build 14393.10  And I didn't' see the .10 part in the version compatibility list.  Any of the apps I try just exit out instantly, and the config tool just shows not installed.  I've used this wrapper flawlessly in the past, let me know if I'm doing something wrong.

Try running Command prompt as Administrator, and start RDPWInst -i -o from it.
(don't forget to go to the correct directory before doing it)
Then attach an installation log here.

so it installed after running it with those switches but said that my version of termmserv.dll isn't supported. here is the output...  Do you want my termsrv.dll?
[*] Notice to user:

By using all or any portion of this software, you are agreeing
to be bound by all the terms and conditions of the license agreement.
To read the license agreement, run the installer with -l parameter.
If you do not agree to any terms of the license agreement,
do not use the software.
[] Installing...
[] Terminal Services version: 10.0.14393.0
[-] This version of Terminal Services is not supported.
Send your termsrv.dll to project developer for support.
[+] TermService found (pid 1588).
[] Shared services found: CryptSvc, Dnscache, LanmanWorkstation, NlaSvc
[] Extracting files...
[+] Extracted config -> C:\Program Files\RDP Wrapper\rdpwrap.ini
[+] Extracted rdpw64 -> C:\Program Files\RDP Wrapper\rdpwrap.dll
[] Configuring service library...
[] Checking dependencies...
[] Checking CertPropSvc...
[] Checking SessionEnv...
[] Terminating service...
[] Starting CryptSvc...
[] Starting Dnscache...
[-] StartService error (code 1056).
[] Starting LanmanWorkstation...
[] Starting NlaSvc...
[-] StartService error (code 1056).
[] Starting TermService...
[] Configuring registry...
[] Configuring firewall...
Ok.

[+] Successfully installed.

ok I'm a dummy... I didn't realize i had version 1.6 of your wrapper sitting on my desktop and was using 1.6 and not 1.6.1... Thanks for your help anyways!


Stp 957 designer start page

Description
STP 957 - Form Designer start page

Implement start page new designs
Implement components/icons/ChevronRight.tsx component
Refactor (Move NewConfig component to components/newConfig folder)
Refactor TSify newConfig

Acceptance Criterias:
As a form designer
Given I open the new form page /new
Then I can see a heading saying "Create a new form or edit an existing form"
As a form designer
Given I open the new form page /new
Then I can see an input with title "Create a new form"
And hint "Enter the name for your form, for example Applying for visitors pass"
As a form designer
Given I open the new form page /new
Then I can see a select input with title "Select an existing form to edit"
As a form designer
Given I open the new form page /new
And I type "Student Visa" in the input
And I click the start button
Then I am redirected to the form designer at /student-visa
As a form designer
Given I open the new form page /new
And I select any existing form configuration
Then I am redirected to the form designer at /student-visa
As a form designer
Given I open the new form page /new
And I type a name of an existing form
Then I can see the error summary above the main heading with the message "A form with this name already exists"
And I can an error message above the input saying "A form with this name already exists"
As a form designer
Given I open the new form page /new
And I type a name of an existing form
And I click the start button
Then I am not redirected to designer
As a form designer
Given I open the new form page /new
And I type a name of an existing form
And then I select an existing form
Then I can see the errors disappear
And if I click the start button
Then I am redirected to the designer with the form I just selected
Type of change

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

How Has This Been Tested?

[X] I have written new unit tests the new page features
[X] I have manually tested the application to confirm that the new page looks and works as expected
[X] Existing unit tests pass locally with my changes.

Checklist:

[X] My changes do not introduce any new linting errors
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[N/A] I have made corresponding changes to the documentation and versioning
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] I have rebased onto master and there are no code conflicts

Good from a QA standpoint, I'll create a ticket to deal with updating the automated tests


Lombok Annotation @Slf4J not being recognized (By IDE and when compiling outside the IDE)

I'm using IntelliJ IDEA 2020.2.1 (Ultimate Edition)
I created a very small gradle project for demo purposes (The project literally has one class that logs a message)
and I added Lombok dependency in order to use the @Slf4J annotation
The Annotation is not being recognized

I made sure Lombok plugin is installed
I made sure to enable annotation processing under Build, Execution, Deployment > Compiler > Annotation Processors
I made sure to enable @Log support (@Slf4j, @Log4j, @CommonsLog, etc.) under Lombok Plugin

The gradle.build file is as follows

repositories {
mavenLocal()
mavenCentral()
jcenter()
}
dependencies {
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
compile group: 'ch.qos.logback', name: 'logback-core', version: '1.2.3'

compileOnly 'org.projectlombok:lombok:1.18.12'
annotationProcessor 'org.projectlombok:lombok:1.18.12'

testCompile 'org.projectlombok:lombok:1.18.12'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'

}

I ran all gradle command like Clean, build and Reload project (usually it used to be solved when using the gradle reload command) but it didn't work
I restarted intelliJ multiple times (With cash invalidate and without) and each time I get get a message in the Event Log saying that the annotation processing is not enabled (Even though It is). I even clicked on "Enable" link that is next to the log message and it didn't work
In previous projects I used to get annotation recognition problems only for the @Slf4J annotation and the rest of the Lombok annotations work fine
But in this project all annotations are not being recognized
Can you please advise

I'm using IntelliJ IDEA 2020.2.2 (Ultimate Edition)
I have a project with Maven and I have the same problem.
No annotation is recognized by the IDE.
The message is : Cannot resolve method 'error(java.lang.String)' depending on level ...error, warning. info, etc.
Is it a bug or is it a problem with the configuration of the IDE?
Thank you for your help

Can you share your example projects? I think you just forgot to configure something.

Logback-classic module requires the presence of slf4j-api.jar and logback-core.jar in addition to logback-classic.jar on the classpath.
I think you forgot to configure slf4j-api in your project.
You need this dependencies to get lombok @Slf4j working.

Closing this as invalid, no new feedback provided


possible typo?

What's the typo?

What's the typo?

- written in
+ that fits into
the boot sector.

@copy


refactor(input): switch to fakeAsync tests

Moves all of the input tests away from the async zone either to the default one or to fakeAsync.

I've switched everything over to fakeAsync @mmalerba.


Add patch releases dates for October and November 2023

As a follow up on #42106, this PR adds patch release dates for October and December 2023.
As discussed in this PR, we decided to skip patch releases in November because of overlap with KubeCon and lack of availability of Release Managers and Google Build Admins.
/hold
for discussion and to check availability of Google Build Admins
/assign @saschagrunert @cpanato @jeremyrickard @puerco @Verolop
cc @kubernetes/release-engineering

/lgtm

/approve

/hold cancel


Improve Dark Mode button

Currently Dark mode button looks like this

You can take inspiration from beta react doc.

Greetings, @Ishwarendra. I am pleased to inform you that I have implemented a visually appealing upgrade to the switch button by incorporating the iconic moon and sun symbols. I humbly request you to kindly assign me the task so I can proceed to push my branch.
To provide you with a better understanding of my recent changes, I have also created a working demo, which can be accessed through this link: https://www.loom.com/share/cda858b5ae7d462284f21e546d61669b
Furthermore, I would like to emphasize that I am open to any suggestions or feedback, including any adjustments to the icons or other features. Your valued input is highly appreciated.
Thank you for your time and consideration.

LGTM @Mohit-Vaswani, You can make PR

Cool


Error: mri_make_bem_surfaces has been removed from this version of freesurfer

Hi,
I was running the Python script "01-anatomy.py" of the GitHub project named mne-biomag-group-demo. However, the console throw the next message errors:

I have the MNE version 0.20.8 and 7.1.1 in the case of Freesurfer. Should I update my MNE version (i.e., 0.21.0) or replace some code lines with one equivalent command of Freesurfer (https://surfer.nmr.mgh.harvard.edu/fswiki/FreeSurferCommands)?
Best.

hum this is bad as this command is required by MNE
@buildqa @mshamalainen we need to see how to proceed as it seems freesurfer
broke mne flash bem :(

Interestingly this change does not seem to be listed in the release notes at https://surfer.nmr.mgh.harvard.edu/fswiki/ReleaseNotes

It seems that I need to download an old version of Free Surfer. Can you suggest me the correct version to avoid this error message?.
Thanks!

Update: It is the same error with Free Surfer 7.1.0. Thus, 7.1.1 and 7.1.0 versions provided the same error message:
Processing sub001
  Skipping reconstruction (folder exists)
  Making BEM
('error: mri_make_bem_surfaces has been removed from this version of freesurfer. For further information, please post to the help list at<EMAIL_ADDRESS>'')

-------- freesurfer-darwin-macOS-7.1.0-20200511-813297b --------
Setting up environment for FreeSurfer/FS-FAST (and FSL)
FREESURFER_HOME   /Applications/freesurfer/7.1.0
FSFAST_HOME       /Applications/freesurfer/7.1.0/fsfast
FSF_OUTPUT_FORMAT nii.gz
SUBJECTS_DIR      /Applications/freesurfer/7.1.0/subjects
MNI_DIR           /Applications/freesurfer/7.1.0/mni

You will need to use FreeSurfer 6 for now, which can be downloaded from https://surfer.nmr.mgh.harvard.edu/fswiki/rel6downloads

You will need to use FreeSurfer 6 for now, which can be downloaded from https://surfer.nmr.mgh.harvard.edu/fswiki/rel6downloads

Thanks! Now it is working. To avoid some problems in the case of Mac Os X , it is neccesary to add a patch (https://drive.google.com/file/d/1ezjiNIbGNrNAiYD5ciYxMO2SK-R5vz9A/view) for the FreeSurfer 6.
See more regarding Mac Os X patch<EMAIL_ADDRESS>

FYI we contacted freesurfer core dev team to try to fix this issue
cc @buildqa
thanks for the detailed report

FYI mri_make_bem_surfaces has been put back on the freesurfer source tree so it should be fixed in the next release.
thanks @RickLicona for reporting the issue.

FWIW mri_make_bem_surfaces is missing from freesurfer's Ubuntu 18 build, but support for that build is likely to be phased out soon.  Still present for all newer builds. See<EMAIL_ADDRESS>


Spine bug with the raptor sample

In web i got Uncaught Invalid line: format: RGBA8888 from Spine.js:1636 it try to take the format value before get the size.
In Spine.js:1454 the size is not taken into account.
The begin of the raptor.atlas file.
raptor.png
size: 1008,1016
format: RGBA8888
filter: Linear,Linear
repeat: none
back_arm

there is an size "tag" before the format no other .atlas have this. the runtime read the file just fine.
This bug  is related to https://github.com/cocos2d/cocos2d-js/issues/1381?

Yes, I think it's related, our JS spine parser and spine renderer is not up to date as indicating in the issue #1381. We will update it once we got time

any update on this bug?


Feature Request: Enable Toggle Case to Work in the Note's Title Field

Currently, the Toggle Case plugin does not work in the Note's Title Field. This is a minor inconvenience, but it would be a great improvement if the plugin could be updated to work in the Title Field as well.
Here are some of the benefits of enabling Toggle Case to work in the Title Field:

It would allow users to quickly and easily format the titles of their notes.
It would be consistent with the way that Toggle Case works in the body of notes.
It would be a minor but welcome improvement to the plugin.

I hope that you will consider adding this feature to the plugin.
Thank you for your time and the plugin,

UP UP UP!!!


Make clustering of annotations more flexible

Hello Claus,
I have made some very handy changes to the clusterer:

added NSMutableSet allAnnotations to collect all annotations - not only those which are visible
added NSMutableSet excludedAnnotations for annotations which should not be clustered
removed annotation deselection code when zooming

Have a look and tell me what you think.
Cheers
tarbrain

How is allAnnotations different to the existing property annotations? annotations already contains all annotations. There was a bug in previous releases, but this is now fixed.
If you want to exclude annotations for clustering, just don't add them to the clustering.
As for annotation deselection code: can you please comment in #65 on what you did and how you propose to solve the issue. I prefer a PR that addresses one issue instead of multiples.
Thanks

allAnnotations:

I remember I have implemented the feature and you integrated it into the codebase according to this issue: https://github.com/choefele/CCHMapClusterController/issues/62#issuecomment-67617906

excluding annotations:

I have tried by adding annotations directly to the MKMapView but it seems that MKMapView will not properly respond to the ViewController since most of the delegate methods are intercepted by the cluster controller.

deselection on zoom

I have just removed the deselection code. By adding the selected annotation to the  excludedAnnotations set by the application the annotations will stay selected.

Excluding annotations: the cluster controller won't touch annotations that aren't CCHMapClusterAnnotations. There's a unit test for this
Deselection on zoom: please provide a separate pull request.
Thanks

Well, I have added the exclusion set to keep annotations on the map. Otherwise - if you would want to exclude the annotations temporarily you would have to remove and re-add them to the map which can cause flickering and messes too much with the selected / deselected state of the annotations.

My use case is to set maxZoomLevelForClustering and I would expect in the not-clustered-state that the selection is preserved. Is there a reason to deselect annotations in the not clustered zoom level? If not, this code in mapView:regionDidChangeAnimated: would just do fine:
    if (hasZoomed && self.zoomLevel < self.maxZoomLevelForClustering) {
        [self deselectAllAnnotations];
    }


Draft: Bump pause image to v3.10

Proposed Changes
https://github.com/kubernetes/kubernetes/blob/master/build/pause/CHANGELOG.md

Types of Changes

Verification

Testing

Linked Issues

User-Facing Change

Further Comments

All of the changes appear to be Windows related, is there any particular reason to bump this for Linux?


Add Mobilenet v4

Since these models can use images of different resolutions as input I've made the load_image() helper more generic.

Thanks!


suggestion what to add to 'start-a-private-network-with-substrate'

see this comment here: https://github.com/paritytech/substrate/issues/4096#issuecomment-553936224
the 3rd paragraph "I think this page needs some modifications/additions ..."

@JoshOrndorff This can be closed?


Cmaes3.55 impl

Travis is accepting, matlab and example files are removed, runtime tests look good.

First things first:
Please undo the file modes changes of any file starting with a dot and remove test/data/optimisationProblem/kinematicallyRedundantMachines/polygon.m

@wlfbck I have finished the (second) part of the code review. There is still a lot to be done, regarding naming variables, comments and assertions, but except from that the rest looks fine.

Coverage decreased (-10.7%) to 83.665% when pulling a026aa1acfdadd8991f4496c6be7b6ec37f6a2a2 on CMAES3.55-impl into 67a9ac41af859acb73e7e032c1b5ec111b7793f1 on master.

Coverage decreased (-10.7%) to 83.665% when pulling 8ec8ee48b0b1e81b4ba7ded5016f1f7d4f432679 on CMAES3.55-impl into 67a9ac41af859acb73e7e032c1b5ec111b7793f1 on master.

Renamed the branch according to our contribution guide to wlfbck/CMA-ES


Implement TypeORM stores

We had to refactor and adjust the jest-related logic in order to get the tests to work properly with the decorators that the TypeORM package requires.


docker-security-scanning and relation to docker-bench-security

Hi,
Can you please tell me how is ths related to docker-security-scanning feature

"Docker Security Scanning is available as an add-on to Docker hosted private repositories on both Docker Cloud and Docker Hub. The feature is available as a free preview for private repository subscribers for a limited time." https://docs.docker.com/docker-cloud/builds/image-scan/
docker-bench-security is a free CLI shell script for local usage.

Thanks Thomas
Envoyé de mon iPhone
Le 28 mars 2018 à 13:21, Thomas Sjögren <notifications<EMAIL_ADDRESS>a écrit :
"Docker Security Scanning is available as an add-on to Docker hosted private repositories on both Docker Cloud and Docker Hub. The feature is available as a free preview for private repository subscribers for a limited time." https://docs.docker.com/docker-cloud/builds/image-scan/
docker-bench-security is a free CLI shell script for local usage.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/docker/docker-bench-security/issues/294#issuecomment-376794558, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIbqkDz_lBv8dmj824aOIkXN-bf9IkdGks5ti0DsgaJpZM4S-HWp.


Added Motion-UI support to ResponsiveToggle #7940

Add support for Motion-UI to the ResponsiveToggle component, using data-animate=".." to configure the animations.

Awesome! We'll have to do some testing on this, but thanks for knocking this one out.

@nachtwandler We want to add this into the 6.2 RC - are you able to clear the merge conflicts so we can add it for testing?

@rafibomb Nice to hear. Because of my projects I think the first time I can take a deeper look is at the weekend. Maybe after the full rewrite to ES6 it's easier and faster to re implement it from zero rather than only clear the merge conflicts. Also I can take @kball's notes into account. ( @kball thanks for the notes)

@nachtwandler do you want to take another look at this now that the ES6 rewrite is in?  Thanks

@kball Hi, yes i will take a look as soon as possible. Sorry for the long time but cause of my current projects I had not the time so far.

@kball Hi, this should work now. Sorry for the strange commits, I struggled a bit with the git branch functionality.

This looks good to me.  However it is currently submitted against the develop branch, which is currently only accepting bugfixes.  @nachtwandler can you resubmit it against v6.3?

Closing this one in favor of the one that got merged into 6.3

@nachtwandler
Hello, I am trying - unsuccesfully -  to use this pr to have a simple slide down effect. btw sliding to/from left/right works. To achieve that i had to disable the responsiveToggle + motion-ui and use plain jquery slideDow/Up methods. Any hint?
kind regards


Not able to get OHLC data after subscribeCrosshairMove

chart.subscribeCrosshairMove(function(param) {       console.log(param) })
How can I get open low high and close and time data while the user is moving the cross-hair?

when I check the console I am getting this log.
{"time":{"day":3,"month":1,"year":2019},"point":{"x":122.66676898930695,"y":534.1771240234373},"seriesPrices":{}}
Why I am not getting seriesPrices?

Solved.
we need to write in this way
var price = param.seriesPrices.get(candleSeries);


TODO: somehow request read access without using GET_CONTENT intent, when receibing List from the sharing intent.

Permission Denail was caused by launchMode="singleTask".
Seems like the permission provided by ACTION_SEND is limited to a task.

Permission Denail was caused by launchMode="singleTask".
Seems like the permission provided by ACTION_SEND is limited to a task.

@Ismael034 @sr093906 @mezysinc Translations needed.

@Ismael034 @sr093906 @mezysinc Translations needed.


DEV: gh_lists: single -> double backticks

Currently, the tool turns single backticks into escaped single backticks. This helps avoid syntax errors, but it doesn't help rst render the code blocks as intended.
I've adjusted the string replacement to instead turn single backticks into double backticks.
Sample output:
Issues closed for 1.15.0
------------------------

* `#19042 <https://github.com/scipy/scipy/issues/19042>`__: DOC: Scipy Sparse BSR does not support slicing: __getitem__ not...
* `#19405 <https://github.com/scipy/scipy/issues/19405>`__: ENH: keep axis functionality in sparse.csr_array.getnnz()
* `#19791 <https://github.com/scipy/scipy/issues/19791>`__: DOC: linalg.schur: unclear signature for ``sort`` callable when...
* `#20196 <https://github.com/scipy/scipy/issues/20196>`__: Audit usage of cython memoryviews, add ``const`` to allow readonly...
* `#20207 <https://github.com/scipy/scipy/issues/20207>`__: ENH: sparse: Validate dtype on sparse array/matrix creation
* `#20239 <https://github.com/scipy/scipy/issues/20239>`__: DOC: Sparse arrays: todense() does not return numpy.matrix
* `#20240 <https://github.com/scipy/scipy/issues/20240>`__: ENH: multiple small improvements to scipy.stats.circmean
* `#20370 <https://github.com/scipy/scipy/issues/20370>`__: DOC: ndimage.convolve: clarify origin parameter description
* `#20552 <https://github.com/scipy/scipy/issues/20552>`__: DOC/DEV/MAINT: review distributing section of core-dev guide
* `#20635 <https://github.com/scipy/scipy/issues/20635>`__: DOC: Titles of long function names in API Reference truncated...
* `#20710 <https://github.com/scipy/scipy/issues/20710>`__: ENH: ``special.rel_entr``: avoid premature overflow
* `#20763 <https://github.com/scipy/scipy/issues/20763>`__: BUG: sparse.csgraph, array types: some functions should expect...
* `#20844 <https://github.com/scipy/scipy/issues/20844>`__: DOC: update testing docs for alternative backends
* `#20893 <https://github.com/scipy/scipy/issues/20893>`__: DOC/DEV: Developer docs should mention Accelerate support
* `#20904 <https://github.com/scipy/scipy/issues/20904>`__: BUG: sparse.csgraph.dijkstra errors on inputs with int64 or no...
* `#20910 <https://github.com/scipy/scipy/issues/20910>`__: BUG: positional argument ``DeprecationWarning`` message is overly...
* `#20931 <https://github.com/scipy/scipy/issues/20931>`__: MAINT: Premature setting of attributes in ``HBInfo`` in ``scipy.io._harwell_boeing``.

Pull requests for 1.15.0
------------------------

* `#19255 <https://github.com/scipy/scipy/pull/19255>`__: ENH: Use ``highspy`` in ``linprog``
* `#20242 <https://github.com/scipy/scipy/pull/20242>`__: DOC: sparse: Correct ``todense`` documentation
* `#20303 <https://github.com/scipy/scipy/pull/20303>`__: DOC: stats: Convert sampling tutorial to MyST-md
* `#20408 <https://github.com/scipy/scipy/pull/20408>`__: DOC: ndimage.convolve: modify ``origin`` param description
* `#20719 <https://github.com/scipy/scipy/pull/20719>`__: MAINT: sparse: fix ``__init__`` func sig to allow ``maxprint``...
* `#20743 <https://github.com/scipy/scipy/pull/20743>`__: ENH: ``stats._xp_mean``, an array API compatible ``mean`` with...
* `#20754 <https://github.com/scipy/scipy/pull/20754>`__: ENH: sparse: add dtype validation in ``__init__`` and ``astype``
* `#20759 <https://github.com/scipy/scipy/pull/20759>`__: MAINT: sparse.linalg: adjust ``norm``, ``eigs``, and ``lsqr``...
* `#20766 <https://github.com/scipy/scipy/pull/20766>`__: MAINT: stats: minor numerical improvements to circular statistics
* `#20771 <https://github.com/scipy/scipy/pull/20771>`__: ENH: ``stats.ttest_ind``: add array API support
* `#20773 <https://github.com/scipy/scipy/pull/20773>`__: BUG: sparse.csgraph, array types: support non-zero ``fill_value``s
* `#20793 <https://github.com/scipy/scipy/pull/20793>`__: ENH: stats: end-to-end array-API support for NHSTs with beta...
* `#20816 <https://github.com/scipy/scipy/pull/20816>`__: ENH: ``special.rel_entr``: Avoid overflow before computing log
* `#20822 <https://github.com/scipy/scipy/pull/20822>`__: CI: Add Linux workflow to test on free-threaded Python builds
* `#20827 <https://github.com/scipy/scipy/pull/20827>`__: REL: set version to 1.15.0.dev0
* `#20829 <https://github.com/scipy/scipy/pull/20829>`__: MAINT: special: fix typo in ``four_gammas`` used by ``hyp2f1``
* `#20830 <https://github.com/scipy/scipy/pull/20830>`__: DOC: ``optimize.differential_evolution``: change convergence...
* `#20833 <https://github.com/scipy/scipy/pull/20833>`__: BUG: interpolate: make BSpline.integrate always return an array
* `#20837 <https://github.com/scipy/scipy/pull/20837>`__: MAINT: linalg: add ``const`` to Cython function signatures
* `#20843 <https://github.com/scipy/scipy/pull/20843>`__: DOC/DEV: add docs for enabling interactive examples
* `#20846 <https://github.com/scipy/scipy/pull/20846>`__: DOC: Wrap long titles in docs pages
* `#20849 <https://github.com/scipy/scipy/pull/20849>`__: DOC/DEV: mention ``-b`` option in contributor guide on testing
* `#20855 <https://github.com/scipy/scipy/pull/20855>`__: TST: add additional margin to ``fail_slow``s
* `#20857 <https://github.com/scipy/scipy/pull/20857>`__: ENH: sparse: add axis parameter to ``count_nonzero`` method
* `#20859 <https://github.com/scipy/scipy/pull/20859>`__: DEP: signal: remove ``cmplx_sort``
* `#20862 <https://github.com/scipy/scipy/pull/20862>`__: MAINT: special: Add kokkos ``mdspan``
* `#20864 <https://github.com/scipy/scipy/pull/20864>`__: DEP: integrate: remove quadrature and romberg
* `#20865 <https://github.com/scipy/scipy/pull/20865>`__: DEP: signal: remove wavelet functions
* `#20866 <https://github.com/scipy/scipy/pull/20866>`__: DEP: stats: remove ``rvs_ratio_uniforms``
* `#20867 <https://github.com/scipy/scipy/pull/20867>`__: DEP: ``integrate.cumulative_trapezoid``: raise ``ValueError``...
* `#20868 <https://github.com/scipy/scipy/pull/20868>`__: DEP: interpolate: deprecate complex dtypes in ``{Akima1D, Pchip}Interpolator``
* `#20869 <https://github.com/scipy/scipy/pull/20869>`__: DEP: special.factorial: raise error for non-integer scalars and...
* `#20872 <https://github.com/scipy/scipy/pull/20872>`__: MAINT: interpolate: add ``const`` to Cython function signatures
* `#20873 <https://github.com/scipy/scipy/pull/20873>`__: MAINT: sparse: add ``const`` to Cython function signatures
* `#20874 <https://github.com/scipy/scipy/pull/20874>`__: MAINT: spatial: add ``const`` to Cython function signatures
* `#20875 <https://github.com/scipy/scipy/pull/20875>`__: BLD/DEV: special: Fix warning due to mixed initializers
* `#20876 <https://github.com/scipy/scipy/pull/20876>`__: DOC: use ``intersphinx_registry`` for easier intersphinx mapping...
* `#20882 <https://github.com/scipy/scipy/pull/20882>`__: CI: Add workflow to build and upload free-threaded wheels
* `#20883 <https://github.com/scipy/scipy/pull/20883>`__: ENH: stats: rewrite ``ttest_rel`` in terms of ``ttest_1samp``
* `#20884 <https://github.com/scipy/scipy/pull/20884>`__: ENH: stats: end-to-end array-API support for NHSTs with Student's...
* `#20885 <https://github.com/scipy/scipy/pull/20885>`__: BUG: fix incorrect intersphinx-registry entry in environment.yml
* `#20886 <https://github.com/scipy/scipy/pull/20886>`__: CI/DEV: fix Node.js 16 warnings by bumping actions
* `#20887 <https://github.com/scipy/scipy/pull/20887>`__: MAINT: signal: add ``const`` to Cython function signatures
* `#20889 <https://github.com/scipy/scipy/pull/20889>`__: MAINT: sparse: Align matmul tests in ``test_base.py`` for spmatrix...
* `#20891 <https://github.com/scipy/scipy/pull/20891>`__: MAINT: stats: add ``const`` to Cython function signatures
* `#20900 <https://github.com/scipy/scipy/pull/20900>`__: ENH: stats: add array API support to combine_pvalues
* `#20906 <https://github.com/scipy/scipy/pull/20906>`__: DOC: linalg.schur: update doc for the argument ``sort``
* `#20907 <https://github.com/scipy/scipy/pull/20907>`__: CI: Make sure nightly free-threaded wheels are tested with GIL...
* `#20912 <https://github.com/scipy/scipy/pull/20912>`__: DOC: Add more information about how to use Accelerate
* `#20913 <https://github.com/scipy/scipy/pull/20913>`__: BUG: sparse.csgraph.dijkstra: fix dtype and shape bugs
* `#20916 <https://github.com/scipy/scipy/pull/20916>`__: DOC: Mention that ``sparse.bsr_array`` does not support slicing.
* `#20922 <https://github.com/scipy/scipy/pull/20922>`__: BUG: stats.mstats: fix ``mstats.{ttest_rel, ttest_1samp}`` when...
* `#20924 <https://github.com/scipy/scipy/pull/20924>`__: BUG: ``_lib``: ensure reasonable length ``_deprecate_positional_args``...
* `#20932 <https://github.com/scipy/scipy/pull/20932>`__: MAINT: io: fix premature setting of attributes in ``HBInfo``
* `#20934 <https://github.com/scipy/scipy/pull/20934>`__: TST: stats.combine_pvalues: parameterise tests and update reference...
* `#20941 <https://github.com/scipy/scipy/pull/20941>`__: DOC/MAINT: single to double backticks to remove improper linking
* `#20942 <https://github.com/scipy/scipy/pull/20942>`__: CI: Use Cython nightly wheel on free-threaded CI
* `#20944 <https://github.com/scipy/scipy/pull/20944>`__: DOC: update distributing section
* `#20946 <https://github.com/scipy/scipy/pull/20946>`__: ENH: stats.gmean: add array API support
* `#20951 <https://github.com/scipy/scipy/pull/20951>`__: CI: Add MacOS to free-threaded wheel release CI
* `#20954 <https://github.com/scipy/scipy/pull/20954>`__: MAINT: stats.hmean/pmean: simplify prior to array API conversion
* `#20955 <https://github.com/scipy/scipy/pull/20955>`__: DOC: Single to double backticks for non-targets
* `#20968 <https://github.com/scipy/scipy/pull/20968>`__: MAINT: fix some misspellings
* `#20969 <https://github.com/scipy/scipy/pull/20969>`__: DOC: linalg: add # may vary to a linalg.schur example
* `#20973 <https://github.com/scipy/scipy/pull/20973>`__: TST:sparse.linalg: Skip test due to sensitivity to numerical...
* `#20974 <https://github.com/scipy/scipy/pull/20974>`__: ENH: stats.combine_pvalues: add native axis support
* `#20975 <https://github.com/scipy/scipy/pull/20975>`__: DOC: single to double backticks
* `#20976 <https://github.com/scipy/scipy/pull/20976>`__: BUG: Update scipy-optimise directive in view of new default role
* `#20977 <https://github.com/scipy/scipy/pull/20977>`__: DOC: More single to double backtick
* `#20979 <https://github.com/scipy/scipy/pull/20979>`__: STY: ``_lib._util``: address new mypy complaint in main
* `#20980 <https://github.com/scipy/scipy/pull/20980>`__: CI, MAINT: ``test_plot_iv`` NumPy 2 shim

I also need to handle when the final character of a title is a backtick.

The 1.15.0 notes seem "ok" now, but with 1.14.0 lists pasted in I see a failure with:
/Users/treddy/github_projects/scipy_2/doc/source/release/1.15.0-notes.rst:191: WARNING: Inline literal start-string without end-string
which is this line (it is annoying to paste in text because of all the backticks, links):

Hmm, that failure has me stumped.

Ah, it's probably because the ellipses cut in the middle of a code block. Let me think about how to fix that.

I think I've fixed it. Please try again @tylerjereddy !

I guess this is getting messier than anticipated. Now testing with the 1.14.0 notes produces some weird blemishes with backtick placement:

Perhaps I should iterate on it a bit locally myself and make a concrete suggestion, but I may not get to it for a bit.

Oops, no worries, I'll persevere!

Okay, I just missed the case that a title starts with a backtick. This should never happen anymore, but I suppose we weren't so tidy back in the days of gh-8848

4th time lucky?

I think it is a net win now so I'll merge it. 1.14.0 docs and 1.15.0 docs both look nicer now, but some things still need manual touch-ups by the release manager so perhaps I'll open an issue for those. I won't backport these changes for 1.14.0 in any case.
I noticed two blemishes but I don't feel like blocking on it (I think that one may even be one of your PRs):

This is almost complicated enough to need testing to avoid "Whac-A-Mole" fix one thing, another pops up situation.

thanks for making the release notes nicer


Debugging softether. Program does not stop on break points

Sorry if this is a noob question
I'm trying to debug SoftEther. I'm using eclipse on linux to do that.
The problem I'm having is that the program execution does not stop on breakpoints, only breakpoints in the main() are considered, everything else is ignored.
I printed some info messages where I want the breakpoints to be just to make sure I actually reach those code lines, and the info messages are printed as expected.
the gdb is runnin in a separate process as expected next to softether. It is not dead or anything.
Any ideas why the execution does not stop on breakpoints???

I got a tip from another issue on how to solve this issue

Start the program on the command line using: "./bin/vpnserver/vpnserver execsvc"
Attach the eclipse debugger as described here


minDate prop don't works fine in android

Here is mi code:
import DatePicker from 'react-native-neat-date-picker';

return (
  <DatePicker
      isVisible={showDatePicker}
      mode={'single'}
      onCancel={onCancel}
      onConfirm={onConfirm}
      initialDate={date}
      startDate={date}
      minDate={new Date()}
  />
)

The minDate is 25-07-2022 but, the picker dont let choose that day. I will try to make a PR when I fix it.

Update:
It looks like its a problem with minDate internal function, it compares entire date gaves by developer with the date in central timezone (T00:00:00Z) and that is the problem. I'd like to make a PR with a custom hook to use when someone needs to use this prop.