Fixes to convert_to_lonlat algorithm

As in the OS documentation, tolerance should be set at 0.00001 m (0.01 mm) - this results in a greater number of iterative cycles here.
I believe the order of calculation of m and phi in the iterative steps is incorrect. In its current form, the latest calculated value of m in each iteration does not then get used in updating the current value of phi. This arrangement gives much closer overall agreement with the OS test set.

Oh, wow, thanks for catching this!

This arrangement gives much closer overall agreement with the OS test set.

Which test results are now improved? I assume you mean in test_os_etrs89_to_osgb36, but I'd like to be sure…

Sorry, I should have been a bit more specific and yes, please make sure that you definitely agree first! Some of the base terminology is quite confusing, so I hope I've interpreted correctly...

Which test results are now improved? I assume you mean in test_os_etrs89_to_osgb36, but I'd like to be sure…

It's actually kind of the reverse of this test, but I've only just realised the equivalent OS test set I'm referring to doesn't exist in your tests. I only noticed this because I've been porting this code to Julia (as mentioned recently) and I couldn't get the OS test set to pass when going from eastings,northings to lon,lat (with OSTN15). Due to me having some issues trying to get the rust source to build on my local machine, I've used the python wrapped convert_bng to make a few checks as I go. As such, what I've found is more testing by proxy, rather than based directly on the rust tests. I appreciate the python wrapped version may be a little behind the rust master here too.
In your rust test suite, you use the quoted example from the OS literature for the Caister Water Tower - i.e. you effectively test convert_osgb36_to_lonlat(651409.804, 313177.450) == ([1.71607397], [52.65800783]), which works fine with or without the change in this pull request. However, when testing the wider OS test set in the OSTN15-OSGM15-DevelopersPack, I think there are discrepancies. Specifically, this is when converting the coordinates in OSTN15_OSGM15_TestInput_OSGBtoETRS.txt to the ones in OSTN15_OSGM15_TestOutput_OSGBtoETRS.txt. To pick three examples from these files and comparing the outputs match to 0.0000001 d.p:
TP21 works (with and without proposed change):
convert_osgb36_to_lonlat(227778.330, 468847.388) gives:
"Rust" value: -4.63452169, 54.08666318      [OK]
Julia value: -4.63452169, 54.08666318      [OK]
OS value: -4.63452168212, 54.08666318080
TP32 fails:
convert_osgb36_to_lonlat(71713.131, 938516.405) gives:
"Rust" value: -7.59255577, 58.2126235         [Fails]
Julia value: -7.59255561, 58.21262247    [OK]
OS value: -7.59255560556, 58.21262247180
TP40 fails:
convert_osgb36_to_lonlat(71713.131, 938516.405) gives:
"Rust" value: -2.07382823, 60.13308136      [Fails]
Julia value: -2.07382823, 60.13308092      [OK]
OS value: -2.07382822798, 60.13308091660
In total [by proxy in Julia], without the proposed changes I get 15/40 tests fail for comparison at 0.0000001 d.p. (this is what you test at) and with the applied changes, all of these tests pass at the same precision. However, for most purposes I am not sure if the differences here are significant enough?
I guess really I should have added an additional test group here to accompany these changes, but I hadn't realised that the changes won't have been covered by the existing tests. I could try and do this, but I struggled to get the rust source working correctly on my system.
Any thoughts?

I'm happy to add the missing tests from the developer pack – don't worry about it! Separately, What errors are you getting when trying to build from source? I know the initial ostn15_phf build can take a very long time, and there have been failures on 32-bit Windows targets in the past…


Great work

Hey there just here to say that I follow you since opencv4nodejs and your work is awesome dude.
I tried to use face-api.js and implement it in a react app, and it worked like a charm!
I'm here to ask you something, could it be possible to add other classifiers or other models like cats and dogs for example? if yes what would be the path to it, I would be interested to learn about that.
Anyway, keep up the great work!

Thanks!

I'm here to ask you something, could it be possible to add other classifiers or other models like cats and dogs for example? if yes what would be the path to it, I would be interested to learn about that.

This is out of scope of this project, but I think there are plenty of tutorials on the web for how to train such a classifier with tensorflow. Then you can use tfjs-converter to use your tensorflow model with JS.


Selector Disappears When Highlighting Text Leftward Beyond Selector

When highlighting text, dragging the mouse far to the left beyond the component selector causes the selector to disappear. Text is editable.
See it in action here

fixed in commit c76ebe5


feat: Read all the github issues and try to see if similar tickets exist

We want to be able to check with the issue label that if similar issues exists. Creating a skeleton to do this check would be great. We can use our rag system to do this search.

@MashyBasker want to take this, will be a multipart thing.

Sure. Will this part of the Issue Analysis or a seperate module?

One random idea is that if someone mentions a file, we can use our LLM to read it and respond with an update. Are you open to brainstorming what other cases we can help users with?

Sounds great. I'll be happy to help with the brainstorming. I've been thinking of an enhancement to the PR description where the original description gets updated as more commits come in and comments on the PR

For PR description, in our prod, we do update every time a new commit is made (it doesn't take care of comments; we plan to have it more driven based on actual code changes). I will add that here, too; it's just the event tag that we need to test.
Btw, have you tried deploying the github_app for yourself? We want to improve the docs and features there so that people can truly start using that as their own GitHub app!

working on this


Deprecation warning

While using this library, I get the following warning:
~/lib/python3.12/site-packages/smt/utils/linear_solvers.py:304: DeprecationWarning: 'scipy.sparse.linalg.cg' keyword argument `tol` is deprecated in favor of `rtol` and will be removed in SciPy v1.14.0. Until then, if set, it will override `rtol`.
    tmp, _ = self.solver(

Looks like the offending line is
https://github.com/SMTorg/smt/blob/f8fe3450fd1fc3c069e160773089aa0a7ca89771/smt/utils/linear_solvers.py#L267
and that this could actually lead to breakages.

Seems we will have a problem when scipy 1.14 is out. Thanks for the heads up!


text/template: no nice way to escape/suppress newlines

In many text/template scenarios, when creating text files (e.g. csv) for machine consumption, or text documents for human consumption, it's desirable to control the newlines output by the template. Currently this involves jumping through hoops by moving template tags around, making the template very unreadable. A simple e.g \ character at the end of a line would be nice to escape the newline so it doesn't end up in the output text, but the template tags can still be organized nicely in the template itself.
Seems there was already a request for this on go-nuts: https://groups.google.com/forum/#!topic/golang-nuts/H_d6P6av8nk

However this might work, it would need to be backward-compatible with existing templates. That rules out \ at the end of a line.

Good point. How about nunjucks system of adding a - at the start and/or end of a block to eat leading/trailing whitespace? Nunjucks does that: http://mozilla.github.io/nunjucks/templating.html#whitespace-control
{{range .foos -}} // eats trailing whitespace
{{.}}
{{-end}} // eats leading whitespace (\n from previous line)

Seems like a reasonable approach. Can you give me an example of where this might help, so that I can judge the feature in context?

Sure, the thread had an example of generating a tsv file I think, but my
use case is generating program code. I end up with a lot of empty lines
where I had control tags, range tags, if tags, etc.
so I have something that looks like:
{{with .BitShift}}
    {{if ne . 0}}val >>= {{ . }}{{end}}
{{end}}

{{with $mask := .BitMask}}
{{if ne $mask 0 }}val &= 0x{{ printf "%x" $mask }}{{end}}
{{if ne $mask 0 | and $.IsSigned }}
val = val<<63 | val>>1
{{end}}
{{end}}
Which produces a lot of empty lines. I have to put non-related things on
the same line, make very long lines, etc to get the formatting I want. With
some whitespace eating feature I could do:
{{with .BitShift-}} // eats the newline and the indentation on the next

line
{{if ne . 0}}val >>= {{ . }}{{end}}
{{end-}}
{{with $mask := .BitMask-}}
{{if ne $mask 0 }}val &= 0x{{ printf "%x" $mask }}{{end}}
{{if ne $mask 0 | and $.IsSigned -}}
val = val<<63 | val>>1
{{end-}}
{{end-}}
Not sure if the dash character is the best choice, but something like that
to suppress newlines and indentation before or after tags would do the
trick.
On Mon, Feb 23, 2015 at 10:12 PM, Andrew Gerrand<EMAIL_ADDRESS>wrote:

Seems like a reasonable approach. Can you give me an example of where this
might help, so that I can judge the feature in context?
—
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/9969#issuecomment-75690901.

I've also frequently run into this while generating code and been frustrated by it. go/format can take care of multiple newlines, but it never goes from one newline to zero.

The current way to avoid a newline is to do this:
Some text without a {{/*
*/}}newline in the middle.

which is a little verbose for such a minor signal. It would be helpful to have some way to signal that we don't want a newline.

Do we want the signal to be part of existing actions? (As in, {{end FOO}} where FOO is some token that doesn't collide with the current syntax.) Or, should "no new line" be an action of its own? ({{FOO}} for example) The former has the benefit of brevity, the latter has the benefit of being unambiguous and is probably cleaner to implement
Regardless of the answer to question 1, what should FOO be? A dash (-) is one idea, but there are many other things we can use. Back slash (\) seems more natural to me.

Some text without a {{\}}
newline in the middle.

A list of items:
{{range .Items \}}
{{.}} {{end}}

Should produce (where Items is [1,2,3,4]):
Some text without a newline in the middle.

A list of items:
1 2 3 4

Hey @robpike what do you think?

Could we add some kind of pre-template configuration options?
{{ option +line-continuation }}
or something like that.
and then we can just use the most natural syntax for line continuation:
line 1
line 2
It also preserves compatibility with existing templates.
we can also make the line continuation character (or character sequence)
configurable.

Or it can be a method on template, e.g.
template.New(...).WithLineEscapes().Parse(...)
On Tue, Feb 24, 2015 at 7:32 PM, Minux Ma<EMAIL_ADDRESS>wrote:

Could we add some kind of pre-template configuration options?
{{ option +line-continuation }}
or something like that.
and then we can just use the most natural syntax for line continuation:
line 1
line 2
It also preserves compatibility with existing templates.
we can also make the line continuation character (or character sequence)
configurable.
—
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/9969#issuecomment-75881798.

I don't propose it to be a method on Template is because
I think this configuration is better contained in the template
file itself, so that the code that uses the template doesn't
need to know whether the template uses that feature or not.
I will also seamlessly update existing code and templates.
Just recompile the code with Go 1.5 and you can start using
this feature in templates.

I expect it as a builtin function, for example.
now:
		{{ range .Route }}
			{{ if contains .Method "GET" }} server.Get("{{.Path}}", {{$prefix}}do{{.Name}}{{$suffix}})
			{{end}} {{ if contains .Method "POST" }} server.Post("{{.Path}}", {{$prefix}}do{{.Name}}{{$suffix}}) {{end}}  {{ end }}

use a builtin functin EAT_NEXT_NEWLINE:
		{{ range .Route }}
			{{ if contains .Method "GET" }} server.Get("{{.Path}}", {{$prefix}}do{{.Name}}{{$suffix}}) {{ EAT_NEXT_NEWLINE }} {{ end }} {{ end }}
			{{ if contains .Method "POST" }} server.Get("{{.Path}}", {{$prefix}}do{{.Name}}{{$suffix}}) {{ end }} {{ EAT_NEXT_NEWLINE }}
		{{ end }}

I run into this almost every time I use */template. I just did today: I was generating big SQL prepared statements using text/template and I had to choose between making the template easy-to-read and making the generated statement easy-to-read.

I am using consul-template to generate text config files using a Go template. The templates can get quite complicated with nested ranges and conditionals.  Making output result readable leads to ugly and unreadable code.  Needs to be fixed at the earliest.

+1

I'm also generating configuration which at some point will need to be read by humans. I really like the idea of {{- end }} for leading whitespace and {{end -}} for trailing. +1

We’ve used strings.Replace with a continuation char:
var (
	src = `{{range .Items}} \
		Hello, \
		{{.Name}} \
	{{end}}
	`
	t = template.Must(template.New("go").Parse(strings.Replace(src, "\\\n", "", -1)))
)

+1

I agree that something like this would be useful. My biggest complaint with templates thus far is that they are hard to make human-readable without sacrificing the quality of the output.
That said, I suspect that there may be a lot of unique cases. Eg in my case I only wanted to trim newlines, so I used the following:
leading := regexp.MustCompile("(\n)*[{]{2}[-][ ]*")
tempBytes = leading.ReplaceAll(tempBytes, []byte("{{"))
trailing := regexp.MustCompile("[ ]*[-][}]{2}(\n)*")
tempBytes = trailing.ReplaceAll(tempBytes, []byte("}}"))

If you do address this, it would be nice to have a little flexibility but I don't really know how far you can go without it snowballing into too much.

+1

+1, this might help us write more readable code:
Let's say we want to create this text:
CREATE TABLE IF NOT EXISTS my.table  (
	key VARCHAR(100) PRIMARY KEY NOT NULL,
	value1 INTEGER,
	value2 INTEGER
);

I had to:
package main

import (
	"bytes"
	"fmt"
	"html/template"
	"log"
)

func main() {
	queryStruct := struct {
		SchemaName string
		TableName  string
		Slice      []map[string]string
		LastIndex  int
	}{
		"my",
		"table",
		[]map[string]string{
			map[string]string{"key": "VARCHAR(100) PRIMARY KEY NOT NULL"},
			map[string]string{"value1": "INTEGER"},
			map[string]string{"value2": "INTEGER"},
		},
		2,
	}
	tb := new(bytes.Buffer)
	if err := template.Must(template.New("tmpl").Parse(queryTmpl)).Execute(tb, queryStruct); err != nil {
		log.Fatal(err)
	}
	fmt.Println(tb.String())
}

var queryTmpl = `CREATE TABLE IF NOT EXISTS {{.SchemaName}}.{{.TableName}}  ({{$lastIndex := .LastIndex}}
{{range $index, $valueMap := .Slice}}{{if ne $lastIndex $index}}{{range $key, $value := $valueMap}}	{{$key}} {{$value}},{{end}}
{{else}}{{range $key, $value := $valueMap}}	{{$key}} {{$value}}{{end}}
{{end}}{{end}});`

http://play.golang.org/p/gl5CJWVry7
Thanks,

Just as a reference, Python Jinja's whitespace control is done with an optional global configuration to trim whitespace from lines with only a template block, as well as fine grained control based on the - pattern mentioned earlier.
http://jinja.pocoo.org/docs/dev/templates/#whitespace-control
The - pattern is also present in Ruby's ERB and others. If I were to prefer a syntax, it would be the one used everywhere else.

:+1: for {{- end }}, this is really a must have.

{{+ would be rad to include the previous line whitespace for every line output of the block. so pipeline expression output doesn't have to care about indentation when indentation is important for the outer file (like yaml)

@robpike any thoughts about this? I just bumped into it again. I may be a princess, but this is definitely a pea.

+1 for `{{-end}}`` syntax, already familiar with this from Ruby/ERB

:+1: +1 for {{-end}}

Lines that only has code statements should probably not generate a newline at all. It is nice to keep them on a separate line for readability.
Input: [1,2,3]
{{range .}}
Apple: {{.}}
{{end}}

Result:
Apple: 1

Apple: 2

Apple: 3

As for the other part {{-end}} seems similar to what Jinja does. So why not.

+1. Both Ruby ERB and Jinja do somewhat similar things and I think it's an absolute requirement to have something similar in Go.  Almost as stupid as this comment I'm leaving.

+1 for ERB / Jinja style

+1 for some sort of resolution, preferably {{-end}}

+1 for {{- end }} syntax, matches well with ERB templates

+1 for {{- end }}

:+1: for ERB / Jinja style

+1 for the suggested "{{- end}}" as well.

:clap:

woohoooooo! great job. a+

Thanks!

Thanks!

Wohoo, thanks!

when will next release come？

The next release is scheduled for February 1, 2016.

This will be fantastic to have!

The next release is scheduled for February 1, 2016.

seriously?

This comment is too late..but I've only recently joined the word of go templating.
The discussion above is a good one...Perhaps
Would another possible solution be to surpress blank lines by default if there is no output from
the template instructions on that line?
Example:
Text
Tex2
{{range $key, $pairs := ...some tree}}
Text3 $key
{{end}}
The lines containing {{range.}} and {{end}} produce no actual output - so supress the blank line.

This has been implemented, please see the go 1.6 release notes.

@davecheney :+1: :cake:

and the link to the Go 1.6 release notes

First, it is now possible to trim spaces around template actions, which can make template definitions more readable. A minus sign at the beginning of an action says to trim space before the action, and a minus sign at the end of an action says to trim space after the action. For example, the template
{{23 -}}
   <
{{- 45}}

formats as 23<45.

Is there any what that I can delete the whitespace only on the current line
like
{{23 -}}
<
{{-45}}

formats as
23
<
45

Instead of

23

<

45

without the -

@dsanthosh, you're commenting on a closed issue. We only use the issue tracker for bug reports, and don't track things once closed.
For questions about Go, see https://golang.org/wiki/Questions.


[tests] verify $DOTNET_MODIFIABLE_ASSEMBLIES is set

Ok, test catches the bug, yay!

Now I'll run w/ monodroid changes in:

https://github.com/xamarin/monodroid/pull/1555

Ok, latest change worked:

So, taking this out of draft:

https://github.com/xamarin/monodroid/pull/1555

Merged, just need to bump this PR and take it out of draft

For the commit message:
Bump to xamarin/monodroid/main@

Changes: https://github.com/xamarin/monodroid/compare/87e386cb...62976287

* [Debugging.Tasks] Update System.Text.Json to 8.0.5

* [ci] Use latest macOS-14 image

* [Debugging.Tasks] Resolve build warnings

* Bump to xamarin/androidtools/main@24626, xamarin/android-sdk-installer/main@5ed12, dotnet/android/main@ac8bf

* [tools/msbuild] fix padding on longest fast deployed env var

Looks ok, I re-ran the failing test though.


Add test for build arguments

Here's a quick and simple example showing how to consume a build argument. This is mostly for our own integration testing purposes, but can serve as a base for future jet-tutorial exercises.
NOTE: this should fail until we enable the feature flag for Codeship.

@bfosberry I will add links to the documentation articles, but they're not complete yet. I'll add a README when they're finished 👍


Handle ARM parameters.json files.

It'd be great if the extension could handle linting/checking/schema updating for the deploymentParameters file/schemas.
Ideally this would link to the deployment json file to lint in concert with the deployment itself.
e.g:
I have azuredeploy.json and azuredeploy.parameters.json when creating azuredeploy.parameters.json it would be great to lint/check this in the context of azuredeploy.json i.e. "The parameter adminUsername exists in the parameters file but is not used in the deployment file".
I appreciate that this may be very complex and there would need to be an understanding of how to relate a deployment file to a template. This repository shows an example of our structure.

Wow, you have excellent timing!  We were just discussing the possibility of linking to the params file for additional validation in the deployment file (similar but not quite what you're asking).  I was about to ask what your repo looks like, and I see you've already included it.  Thanks!
Do you frequently have multiple params files for a template file?  Are they usually in the same place?  Thx.

Hi Stephen,
We don't often have more than one params file for a template file at the same time - we'll have one params file per deployment.
Pleased to say the previous issue with the catastrapostrophe has been resolved - built a local copy of 0.8.3 alpha to test!
If I can provide any more information to help with this let me know!

Pleased to say the previous issue with the catastrapostrophe has been resolved - built a local copy of 0.8.3 alpha to test!

Great, appreciate that!

I would like to see this working. I am in the process of building an ARM template for function apps that will be deployed to several environments (CI, DEV, QA, PROD) and I'll be creating a *.parameters-environment.json for each environment.
The parameter.json and template.json exist in the same directory (for now). When I reference parameters from the parameter.json file, VS Code highlights the parameter stating that it is an undefined parameter reference, because it doesn't know about my parameters.json file for the template.

When I reference parameters from the parameter.json file, VS Code highlights the parameter stating that it is an undefined parameter reference, because it doesn't know about my parameters.json file for the template.

Am I misunderstanding something?  The parameter still has to be defined in the deployment file, so showing an error for undefined parameter is correct no matter whether a params file is specified or not.

When I reference parameters from the parameter.json file, VS Code highlights the parameter stating that it is an undefined parameter reference, because it doesn't know about my parameters.json file for the template.

Am I misunderstanding something? The parameter still has to be defined in the deployment file, so showing an error for undefined parameter is correct no matter whether a params file is specified or not.

Thanks for pointing that out. You're right, you are supposed to define those parameters in the deployment file. I read the documentation  again and it does say that.

The first detail to notice is the name of each parameter. The values in your parameter file must match the names.

I thought that the parameters file would be magically imported when you run Azure CLI or define the VSTS task to include the parameter file.

It's like defining parameters for a function and then calling a function with particular values for those parameters.  We are working on the ability to specify the params file and validate based on those together.  I would love to eventually add some help for, say, automatically creating a params file from the template file and similar things.  Let me know if you have additional ideas.
Note that there are snippets that can make this a little easier: arm-param (inside the template file) and arm-param-value (inside the params file).  Note also that if you have defaultValue set in the template file, you're not required to fill it in in the params file.

Currently working on first part: Associating a params file with the template being edited.

The first step will be shipping with the next release soon.  We'll be adding more features as time goes by...

Just FYI, we've had some issues with the Azure schema CDN and some other things that have delayed this release.  Will have it out as soon as possible, hopefully next week.

Fix went out today with this functionality, thanks.

Thanks @neilpeterson and @StephenWeatherford - glad this was able to be implemented - look forward to testing this soon!

We will be adding intellisense support in 0.10.9


[Mono] ResourceSaver.Save() not working with custom classes

Godot version:
Godot Engine v3.2.alpha.mono.custom_build.119bf2372
OS/device including version:
Windows 10
Issue description:
Using C#, ResourceSaver.Save() does not work with custom classes.
Steps to reproduce:
The MRP constains a custom scene and a custom resource.
Running the project will save 4 files into res://save/

custom_resource.tres

created via new CustomResource();

loaded_custom_resource.tres

created view GD.Load<>("..").New()

CustomNode.tscn

created via new CustomNode();

InstancedCustomNode.tscn

created via GD.Load<>("..").Instance()

Both custom classes contain an exported string variable variable which is "default" by default and is modified to "modified" before saving.
You will see that saved files created via new Constructor() have the wrong script path and files created via GD.Load() + New()/Instance() have the correct script path but the exported variable contains the default value "default" despite having been modified.
Minimal Reproduction Project:
resource_saver.zip

The same thing happens if you try to save a Scene with the ResourceSaver.Save() method.

Interesting. If you save a scene that was instantiated by loading the TSCN file and call Instance() then it can be saved properly.
However if you instantiate it with new ClassName() it does not work.

Okay it seems there still is an issue when saving a scene instantiated by Instance().
It saves the scene and it keeps the correct path to the script, but all values that have been modified seem to be discarded.

Sorry for the messy commentary I'm still investigating this issue.
So it turns out that, similar to the scenes, if I get my resource instance via GD.Load<CSharpScript>("path").New() and save this with ResourceSaver.Save(), then it behaves as with the scenes.
It saves the resource and it contains the correct path to the script, but all modified [Export] values are discarded.

Okay I updated the issue above with a minimal reproduction project.

The ResourceSaver.Save() also does not save with CustomResource1 which has a property reference to another CustomResource2. It works if its just a single CustomResource with no other dependency.

Hi,
@Calinou
I have similar problem:
when I use ResourceSaver it don't save the properties and their values.
We have several opened issue about this problem and some are more than 2 year old. Any hope/ETA about when it will be fixed? Just to know If I have to use other way (json,ini,csv...)  to save my stats.
Thanks

Just to know If I have to use other way (json,ini,csv...) to save my stats.

I recommend using the ConfigFile class for statistics handling. It's what I did in a project of mine :slightly_smiling_face:

Note that there are still ways to use, save and load custom resources in C# properly. You just need to make sure the script field of your resources is correctly populated. Either by instancing your objects with CSharpScript.New() or by calling Object.SetScript() (in which case, be aware that you need to re-grab a fresh managed instance because the old one is going to be disposed of in the process). Using an attribute and some kind of factory, this can be 100% transparent and the amount of code to set this up is minimal.

Note that there are still ways to use, save and load custom resources in C# properly. You just need to make sure the script field of your resources is correctly populated. Either by instancing your objects with CSharpScript.New() or by calling Object.SetScript() (in which case, be aware that you need to re-grab a fresh managed instance because the old one is going to be disposed of in the process). Using an attribute and some kind of factory, this can be 100% transparent and the amount of code to set this up is minimal.

I'm interested. But its not clear to my how I can do it (I'm an artist even if I used to program for many years).
Here my class:
using DesertEdge.Globals;
using Godot;

namespace DesertEdge.Resources
{
    public class FeaturesSettingRes : Resource
    {
        [Export]
        public int VisualDebug;
        [Export]
        public int ServerEnabled;
        [Export]
        public int Maintenance;
        [Export]
        public int UnitTest;
    }
}

here my code to manage it
public class my class :Node
{

public FeaturesSettingRes featuresSettingRes;
public my method()
{
           featuresSettingRes = new FeaturesSettingRes();
            Log.Print(Log.DEBUG, Log.GREEN_BRIGHT, featuresSettingRes.VisualDebug); //just a log
            featuresSettingRes.VisualDebug = Generic.True;
            Log.Print(Log.DEBUG, Log.GREEN_BRIGHT, featuresSettingRes.VisualDebug); // just a log
            ResourceSaver.Save("res://resources/FeaturesSettingRes.tres", featuresSettingRes);
}
}

and here is the saving result:

[gd_resource type="Resource" load_steps=2 format=2]

[sub_resource type="CSharpScript" id=1]

[resource]
script = SubResource( 1 )

If I add the cs file to resource :

and I change some values  I have

save it and inside :
[gd_resource type="Resource" load_steps=2 format=2]

[ext_resource path="res://resources/FeaturesSettingRes.cs" type="Script" id=1]

[resource]
script = ExtResource( 1 )
VisualDebug = 1
ServerEnabled = 1
Maintenance = 1
UnitTest = 0

Can you explain me how I can modify my code in order to obtain this result?
Thanks.
@Calinou thank you for you reply and suggestions. My current setup was to use CSV in order to have in excel a sheet where I can do some maths (imagine to manage 100 or more different stats to balance a game). So my first choice was CSV but I noticed some memory leak using a library. So I was thinking to replace it using resource but I'm out of luck seems :)

You will see that saved files created via new Constructor() have the wrong script path and files created via GD.Load() + New()/Instance() have the correct script path but the exported variable contains the default value "default" despite having been modified.

I tested in 3.5 beta 5 and can reproduce only part of the issue, so I guess the other part has been fixed.

saved files created via new Constructor() have the wrong script path

This is reproducible.

files created via GD.Load() + New()/Instance() have the correct script path but the exported variable contains the default value "default" despite having been modified

This has been fixed, it now shows "modified" for me.


kitti_multiloss.py generates ValueError: inputs must be a list of at least one Tensor with the same dtype and shape

Hi Marvin,
I have gotten the the demo.py running successfully, and now I am trying to experimenting with train.py. However, I got the following error message

File "/home/ decoder/kitti_multiloss.py", line 86, in loss
name='reg_loss')
File "/devl /tensorflow/tf/lib/python3.4/site-packages/tensorflow/python/ops/math_ops.py", line 1827, in add_n
raise ValueError("inputs must be a list of at least one Tensor with the "
ValueError: inputs must be a list of at least one Tensor with the same dtype and shape

It is caused by reg_loss_col = tf.GraphKeys.REGULARIZATION_LOSSES weight_loss = tf.add_n(tf.get_collection(reg_loss_col),name='reg_loss')   in kitti_multiloss.py   Are there any ways to print out the information of tf.get_collection(reg_loss_col) to figure out why the error was generated.

Have you tried:
print( "Regression loss collection: {}".format(tf.get_collection(reg_loss_col))) or
logging.info( "Regression loss collection: {}".format(tf.get_collection(reg_loss_col)))

Hi Marvin,
I checked the data set location and also exported $TV_DIR_DATA as suggested. It still has the same error. I went back to see the code logic again, and it seems to me that the problem happens at building_training_graph, which has not reached the step of requiring the training data.
I am confused about what causes this error, thanks.

Traceback (most recent call last):
File "train.py", line 119, in
tf.app.run()
File "/devl/tensorflow/tf/lib/python3.4/site-packages/tensorflow/python/platform/app.py", line 43, in run
sys.exit(main(sys.argv[:1] + flags_passthrough))
File "train.py", line 117, in main
train.do_training(hypes)
File "/home/GPU-Study/keras/FCN/kittiseg/tensorvision/train.py", line 386, in do_training
tv_graph = core.build_training_graph(hypes, queue, modules)
File "/home/GPU-Study/keras/FCN/kittiseg/tensorvision/core.py", line 93, in build_training_graph
labels)
File "/home/GPU-Study/keras/FCN/kittiseg/hypes/../decoder/kitti_multiloss.py", line 94, in loss
weight_loss = tf.add_n(tf.get_collection(reg_loss_col))
File "/devl/tensorflow/tf/lib/python3.4/site-packages/tensorflow/python/ops/math_ops.py", line 1827, in add_n
raise ValueError("inputs must be a list of at least one Tensor with the "
ValueError: inputs must be a list of at least one Tensor with the same dtype and shape

Have you tried git submodule update and made sure, that all submodules are on the newest version? It seems to me, that no regression losses are added to the collection. This should happen in the following line.

My suggestion should fix this. So I will close this for now.

While trying to import mobilenet into the project I encountered the same error.
Registering a loss to REGULARIZATION_LOSSES collection resolved my issue.
 tf.add_to_collection(tf.GraphKeys.REGULARIZATION_LOSSES, self.conv_1_batch_norm)


when i use extra to navigate in flutter go router and come back fluttertoast does not work

flutter doctor
[✓] Flutter (Channel stable, 3.7.5, on macOS 12.6.1 21G217 darwin-x64, locale en-TR)
• Flutter version 3.7.5 on channel stable at /Users/mac/tools/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision c07f788888 (6 weeks ago), 2023-02-22 17:52:33 -0600
• Engine revision 0f359063c4
• Dart version 2.19.2
• DevTools version 2.20.1
Checking Android licenses is taking an unexpectedly long time...[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at /Users/mac/Library/Android/sdk
• Platform android-33, build-tools 33.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14B47b
• CocoaPods version 1.11.3
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2021.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
[✓] VS Code (version 1.75.0)
• VS Code at /Users/mac/iCloud Drive (Archive)/Desktop/Visual Studio Code.app/Contents
• Flutter extension version 3.60.0
[✓] Connected device (3 available)
• 21061119AG (mobile) • adb-105f2bfe0506-pcQwEZ._adb-tls-connect._tcp. • android-arm64  • Android 12 (API 31)
[✓] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
i use
fluttertoast: ^8.2.1
go_router: ^6.5.5
the problem is when i navigate to new screen with pushNamed like below and return back with Navigator.of(context).pop() my flutterToast does not work and says overlay is null but when i use params for passing data to new screen this problem does not happen
context.pushNamed('test', extra: {'isActive': state.isActive});
i need to pass extra for sending boolean or other types not only string
what is the problem of extra and how to solve this issue please help me

@mahdiqdi
Looks like your case is similar to https://github.com/flutter/flutter/issues/105294, so follow-up in it for further updates.
Closing this as a duplicate.

@darshankawar there is no similarity between my issue and #105294.plz read my issue.this problem is really teasing me

@mahdiqdi
Since fluttertoast is a third party package, does the same behavior occur using snackbar ? If so, please provide complete minimal reproducible code sample that shows current behavior and expected result you are looking for.

no.its okay with flutter snackbar.but fluttertoast shows me error

no.its okay with flutter snackbar.but fluttertoast shows me error

@mahdiqdi
than it's clearly a fluttertoast issue and should be open here

As mentioned above, this seems to be a third party plugin issue and not with go_router.
Closing from here.


Consider uploading source dist (aka. "sdist") to PyPI

Is your feature request related to a problem? Please describe.

I'm trying to create a conda package for this utility.  The recommended way to get this done is via grayskull.  For that tool to correctly operate, it requires the sdist package to be uploaded to PyPI.
Describe the solution you'd like

Include the "sdist" source package when you do PyPI uploads of new releases.
Describe alternatives you've considered

Currently, I got away with conda-packaging using GitHub's archive for extracting the tarball of the latest release.  It works, but a cleaner cut would be to have the sdist regularly uploaded to PyPI.
Additional context

For that to be properly tested on conda-forge, both tests/ and conftest.py must be included with the source distribution.

Very cool! Thanks for the work to get this up on conda -- I'd considered doing it myself, so I really appreciate you working on it.
Should be easy enough to do... I'll make sure that both conftest.py and tests/ are in the dist, as you indicate.
Logistically, what's the best way to proceed to make sure that I've packaged everything you need into the sdists? Can I provide you with tarballs via a side channel (attaching them to this issue?) for you to test, or do they have to be mediated through PyPI?
Also, which versions would you like sdists for? v2.3 as the latest, obviously -- how far back would be good?
It looks like I stopped uploading sdists after v2.0.1 (which was the point where I realized that I'd been uploading broken sdists... hm, I should look into whether I can yank individual files...), so it would be pretty clean for me to go all the way back to v2.1.

Before I test the PyPI sdists, I'd like to get a functional build, including testing.  However, I'm stuck getting this package to test properly (in a condo-build environment):  I have a few pytest markers missing (pytest.mark.api and pytest.mark.cli).  Where are these coming from?
+ pytest -rsxX -Werror
============================= test session starts ==============================
platform darwin -- Python 3.11.0, pytest-7.2.0, pluggy-1.0.0
rootdir: $SRC_DIR
plugins: timeout-2.1.0, ordering-0.6
collected 291 items / 8 errors

==================================== ERRORS ====================================
___________________ ERROR collecting tests/test_api_fail.py ____________________
tests/test_api_fail.py:41: in <module>
    pytestmark = [pytest.mark.api, pytest.mark.local]
../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/_pytest/mark/structures.py:544: in __getattr__
    warnings.warn(
E   pytest.PytestUnknownMarkWarning: Unknown pytest.mark.api - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html

Any ideas?

I'm finishing the bskinn/stdio-mgr packaging, which is required to test this package (I took the liberty to add you as a maintainer, since you showed interest).  I'll upload that first in a bit.

Here, for your reference: https://github.com/conda-forge/staged-recipes/pull/21238

Cool! Hopefully that v1.0.1 sdist is functional, my packaging config was incorrect for a while.
The Azure pipelines seem content enough... though, oof -- not surprising that the logging got fouled up, what with how the stdio-mgr test suite mucks about with stdio.

One thing to watch out for, potentially -- sphobjinv >=2.2 does have a vendored dependency, an old copy of fuzzywuzzy. I do have the relevant LICENSE.txt in the source tree... I'll make sure that makes it into the sdist.

Manifest checks:

[ ] tox.ini
[ ] doc/source/
[ ] requirements-(dev|flake8).txt
[ ] src/.../fuzzywuzzy/LICENSE.txt

Thanks for all the tips.  I think I have an almost OK package.  I still face this:
_ TestInventory.test_api_inventory_bytes_fname_instantiation[no_op--plaintext] _

self = <tests.test_api_good.TestInventory object at 0x102813810>
source_type = <SourceTypes.BytesPlaintext: 'bytes_plain'>, inv_arg = 'plaintext'
path_fxn = <function no_op at 0x1024e68e0>
res_path = PosixPath('tests/resource')
misc_info = <conftest.misc_info.<locals>.Info object at 0x102786890>
attrs_inventory_test = <function attrs_inventory_test.<locals>.func at 0x1029980e0>
check = <pytest_check.context_manager.CheckContextManager object at 0x101a64850>

    @pytest.mark.parametrize(
        ["source_type", "inv_arg"],
        [
            (soi.SourceTypes.BytesPlaintext, "plaintext"),
            (soi.SourceTypes.BytesZlib, "zlib"),
            (soi.SourceTypes.FnamePlaintext, "fname_plain"),
            (soi.SourceTypes.FnameZlib, "fname_zlib"),
        ],
        ids=(lambda v: v if isinstance(v, str) else ""),
    )
    @pytest.mark.parametrize("path_fxn", PATH_FXNS, ids=PATH_FXN_IDS)
    def test_api_inventory_bytes_fname_instantiation(
        self,
        source_type,
        inv_arg,
        path_fxn,
        res_path,
        misc_info,
        attrs_inventory_test,
        check,
    ):
        """Check bytes and filename modes for Inventory instantiation."""
        fname = misc_info.FNames.RES

        if source_type in (
            soi.SourceTypes.BytesPlaintext,
            soi.SourceTypes.FnamePlaintext,
        ):
            fname += misc_info.Extensions.DEC
        else:
            fname += misc_info.Extensions.CMP

        source = path_fxn(res_path / fname)

        if source_type in (soi.SourceTypes.BytesPlaintext, soi.SourceTypes.BytesZlib):
            # Passing in the actual inventory contents, and not just the location
            source = soi.readbytes(source)

        # General import, without a specified kwarg
>       with check.check(msg="general"):
E       AttributeError: 'CheckContextManager' object has no attribute 'check'

Any ideas on how to fix it?

Hummm... That was due to a newer version of pytest-check being used (1.1.2).  Running with 1.0.5 makes most of the tests pass.  Only missing a couple to go:
_____________________________ [doctest] README.rst _____________________________
149 JSON output is supported (``sphobjinv convert json ...``), and
150 inventories can be re-compressed to the
151 partially-zlib-compressed form that ``intersphinx`` reads
152 (``sphobjinv convert zlib ...``).
153
154 Alternatively, ``sphobjinv`` exposes an API to enable automation of
155 inventory creation/modification::
156
157     >>> import sphobjinv as soi
158     >>> inv = soi.Inventory('doc/build/html/objects.inv')
UNEXPECTED EXCEPTION: TypeError('Invalid Inventory source type')
Traceback (most recent call last):
  File "$PREFIX/lib/python3.11/doctest.py", line 1350, in __run
    exec(compile(example.source, filename, "single",
  File "<doctest README.rst[1]>", line 1, in <module>
  File "<attrs generated init sphobjinv.inventory.Inventory>", line 16, in __init__
    self.__attrs_post_init__()
  File "$PREFIX/lib/python3.11/site-packages/sphobjinv/inventory.py", line 329, in __attrs_post_init__
    self._general_import()
  File "$PREFIX/lib/python3.11/site-packages/sphobjinv/inventory.py", line 565, in _general_import
    raise TypeError("Invalid Inventory source type")
TypeError: Invalid Inventory source type
$SRC_DIR/README.rst:158: UnexpectedException
____________________________ test_readme_shell_cmds ____________________________
FAILURE:

  Expected:

      Project: sphobjinv
      Version: 2.3

      219 objects in inventory.

      11 results found at/above current threshold of 58.

      Cannot infer intersphinx_mapping from a local objects.inv.

        Name                                                Score
      ---------------------------------------------------  -------
      :py:property:`sphobjinv.data.SuperDataObj.as_rst`      60
      :py:class:`sphobjinv.cli.parser.PrsConst`              59
      :py:class:`sphobjinv.data.DataFields`                  59
      :py:class:`sphobjinv.data.DataObjBytes`                59
      :py:class:`sphobjinv.data.DataObjStr`                  59
      :py:class:`sphobjinv.data.SuperDataObj`                59
      :py:class:`sphobjinv.enum.HeaderFields`                59
      :py:class:`sphobjinv.enum.SourceTypes`                 59
      :py:function:`sphobjinv.fileops.writebytes`            59
      :py:function:`sphobjinv.fileops.writejson`             59
      :py:class:`sphobjinv.inventory.Inventory`              59

  Got:

  Error while parsing input file path:
  FileNotFoundError: Indicated path is not a valid file

assert False
 +  where False = <bound method OutputChecker.check_output of <doctest.OutputChecker object at 0x1067d84d0>>('\n\n    Project: sphobjinv\n    Version: 2.3\n\n    219 objects in inventory.\n\n    11 results found at/above curren...function:`sphobjinv.fileops.writejson`             59\n    :py:class:`sphobjinv.inventory.Inventory`              59\n', ' \n\nError while parsing input file path:\nFileNotFoundError: Indicated path is not a valid file\n', 12)
 +    where <bound method OutputChecker.check_output of <doctest.OutputChecker object at 0x1067d84d0>> = <doctest.OutputChecker object at 0x1067d84d0>.check_output
tests/test_readme.py:92 in test_readme_shell_cmds() -> with check.check():
FAILURE:

  Expected:

      Conversion completed.
      '...objects.inv' converted to '...objects.txt' (plain).

  Got:

  Error while parsing input file path:
  FileNotFoundError: Indicated path is not a valid file

assert False
 +  where False = <bound method OutputChecker.check_output of <doctest.OutputChecker object at 0x1067d84d0>>("\n    Conversion completed.\n    '...objects.inv' converted to '...objects.txt' (plain).\n", ' \n\nError while parsing input file path:\nFileNotFoundError: Indicated path is not a valid file\n', 12)
 +    where <bound method OutputChecker.check_output of <doctest.OutputChecker object at 0x1067d84d0>> = <doctest.OutputChecker object at 0x1067d84d0>.check_output
tests/test_readme.py:92 in test_readme_shell_cmds() -> with check.check():

For the time being, I'm ignoring the tests with pytest -k 'not readme'.

Fixed in https://github.com/okken/pytest-check/pull/97
This published just now as version 1.1.3

@anjos: The updated MANIFEST.in seems to be providing promising results.
What do you need from me to test a shiny, newly-filled-out sdist? Can I just attach the tarball here, or do you need me to cut a (pre)release on PyPI?

@bskinn thanks for all the reactivity on this issue.  I suppose I can work with a .tar.gz of your prototype.

Happy to do it -- I have the bandwidth at the moment, so might as well dive in.
I figure if an sdist passed this way doesn't work, then good odds a PyPI sdist won't either. Better to debug this way before going through my full release process.

        # The str() calls here are for Python 3.5 compat
>       assert cmp(str(misc_info.res_decomp_path), str(path), shallow=False)
E       AssertionError: assert False
E        +  where False = cmp('tests/resource/objects_attrs.txt', '/private/var/folders/y4/n6m6rkls6zs72x8jd2w2tlx40000gn/T/pytest-of-andre/pytest-13/test_api_decompress_no_op_0/objects_mod.txt', shallow=False)
E        +    where 'tests/resource/objects_attrs.txt' = str(PosixPath('tests/resource/objects_attrs.txt'))
E        +      where PosixPath('tests/resource/objects_attrs.txt') = <conftest.misc_info.<locals>.Info object at 0x102e42250>.res_decomp_path
E        +    and   '/private/var/folders/y4/n6m6rkls6zs72x8jd2w2tlx40000gn/T/pytest-of-andre/pytest-13/test_api_decompress_no_op_0/objects_mod.txt' = str(PosixPath('/private/var/folders/y4/n6m6rkls6zs72x8jd2w2tlx40000gn/T/pytest-of-andre/pytest-13/test_api_decompress_no_op_0/objects_mod.txt'))

conftest.py:269: AssertionError

Do I miss a file?
The tests that fail are rather difficult to find in the way pytest is currently configured (I guess this comes from your tox.ini file).  I'm not sure why the the failed tests are not printed by the end of the run.
Otherwise, may I suggest you move the file conftest.py into the tests/ directory?  That would help reducing the clutter on the root directory, and copying specific source files on the conda recipe.  So far, I have the following:

tox.ini
requirements-dev.txt
conftest.py
tests/

Huh. Do all of the failing tests use the decomp_cmp_test fixture? I don't see this failure either locally or in the new sdist testing job on Azure Pipelines (Ubuntu).
Can you attach the temp file from /private/var/folders/y4/... for this test?

First impression, this seems like an OS or environment specific quirk

Here it is: pytest-output.tar.gz

W.r.t. conda-forge integration, we are just down to this package.  I'll make a request tomorrow.
The use of the source from PyPI can be integrated later.

Took a close look at the before and after files here. I think I know what's happening.
The tests/resource/ contains a decompressed inventory for use in the tests. I built this tarball on Windows, which means that text files were checked out with Windows \r\n in that local directory tree. And, thus, since the tarball was built directly from these files, and not passed through git's automatic EOL conversion, this Windows-EOL text file was packaged with its Windows EOLs intact. Those extra \rs are fouling the comparison.
$ diff -y objects.txt objects_mod.txt | less

# Sphinx inventory version 2^M                                                        | # Sphinx inventory version 2
# Project: attrs^M                                                            | # Project: attrs
# Version: 22.1^M                                                             | # Version: 22.1
# The remainder of this file is compressed using zlib.^M                                                              | # The remainder of this file is compressed using zlib.
attr py:module 0 index.html#module-$ -^M                                                              | attr py:module 0 index.html#module-$ -
attr.VersionInfo py:class 1 api.html#$ -^M                                                            | attr.VersionInfo py:class 1 api.html#$ -
...

So, the solution is to dos2unix that file, and then declare that .txt inventory file as binary to git using .gitattributes, so that its newlines are never converted from UNIX. New tarball inbound shortly.

Alright - let me know when I can have a second tar ball with the fix for testing.

FYI: The conda-forge recipe is under review at conda-forge/staged-recipes#21285

Take two tarball:
sphobjinv-2.3.1.dev2.tar.gz

Bingo! That passes for me, using the latest pytest-check version (1.2.0).  From my side, this looks good:
Here is the test summary:
=========================== short test summary info ============================
SKIPPED [3] tests/test_api_good.py:499: '--testall' not specified
SKIPPED [3] tests/test_api_good.py:533: '--testall' not specified
SKIPPED [6] tests/test_api_good_nonlocal.py:48: '--nonloc' not specified
SKIPPED [3] tests/test_cli.py:124: Ignore no-change conversions
SKIPPED [3] tests/test_cli.py:226: '--testall' not specified
SKIPPED [12] tests/test_cli_nonlocal.py:57: '--nonloc' not specified
SKIPPED [1] tests/test_flake8_ext.py:50: '--flake8_ext' not specified
XFAIL tests/test_api_fail.py::TestImmutable::test_apifail_changing_immutable_dataobj[True-no_op] - Made mutable to simplify Inventory revision by users
XFAIL tests/test_api_fail.py::TestImmutable::test_apifail_changing_immutable_dataobj[True-str] - Made mutable to simplify Inventory revision by users
XFAIL tests/test_api_fail.py::TestImmutable::test_apifail_changing_immutable_dataobj[False-no_op] - Made mutable to simplify Inventory revision by users
XFAIL tests/test_api_fail.py::TestImmutable::test_apifail_changing_immutable_dataobj[False-str] - Made mutable to simplify Inventory revision by users
XFAIL tests/test_valid_objects.py::test_name_lead_chars[10_\n] - reason: Known invalid name lead char
XFAIL tests/test_valid_objects.py::test_name_lead_chars[35_#] - reason: Known invalid name lead char
=========== 436 passed, 31 skipped, 1 deselected, 6 xfailed in 1.17s ===========

Thanks for all the work on this!

Cool! I'll get this merged, and get 2.3.1 out onto PyPI as soon as I can.
Thanks to you too for helping debug everything, and thanks again for taking on getting the project onto conda-forge!

Will this also sort out issues on conda-forge/staged-recipes#21285 with Windows?

That suggested revision of mine on the PR will still need to be applied, but after that, yes, I believe all should be resolved there.

(Resolved once 2.3.1 is up. The continued failure on 2.3 is expected.)

FYI, sphobjinv is now available on conda-forge.

Very cool - thanks again!


Conflicts when restoring tabs, not all tabs being restored

I think problem in awaiting this 2 functions
// extension.ts 97
 await documentManager.save(ExtensionKey + ":" + lastHeadPath + "-" + lastBranch)
 await documentManager.open(ExtensionKey + ":" + headPath + "-" + branch)

Quick fix that works for me is to wait until save function is ready, then call open
documentManager.save(ExtensionKey + ":" + lastHeadPath + "-" + lastBranch).then(() => {
    documentManager.open(ExtensionKey + ":" + headPath + "-" + branch);
});

Can we have this merged? :)

@avaly

This code change is pointless. The two awaited functions are executed as expected (the second one is run after the first one finished).

Yeah but somehow my proposal fixes the problem. Consider investigating the case please


[gdal] build failure with libkml without expat feature

Host Environment

OS: Windows
Compiler: MSVC 17.4.4

To Reproduce
Steps to reproduce the behavior:
./vcpkg install 'gdal[core,libkml]:x64-windows'
Failure logs
Computing installation plan...
The following packages will be built and installed:
    gdal[core,libkml]:x64-windows -> 3.6.2#2
Detecting compiler hash for triplet x64-windows...
Restored 0 package(s) from C:\Users\Russell\AppData\Local\vcpkg\archives in 168.6 us. Use --debug to see more details.
Installing 1/1 gdal:x64-windows...
Building gdal[core,libkml]:x64-windows...
-- Using cached OSGeo-gdal-v3.6.2.tar.gz.
-- Cleaning sources at C:/Users/Russell/Documents/vcpkg/buildtrees/gdal/src/v3.6.2-7ba5134fbb.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Users/Russell/Documents/vcpkg/downloads/OSGeo-gdal-v3.6.2.tar.gz
-- Applying patch find-link-libraries.patch
-- Applying patch fix-gdal-target-interfaces.patch
-- Applying patch fix-find-package2.patch
-- Applying patch libkml.patch
-- Using source at C:/Users/Russell/Documents/vcpkg/buildtrees/gdal/src/v3.6.2-7ba5134fbb.clean
-- Found external ninja('1.11.0').
-- Configuring x64-windows
-- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
    Command failed: "C:/Program Files/CMake/bin/cmake.exe" --build . --config Debug --target install -- -v -j17
    Working Directory: C:/Users/Russell/Documents/vcpkg/buildtrees/gdal/x64-windows-dbg
    See logs for more information:
      C:\Users\Russell\Documents\vcpkg\buildtrees\gdal\install-x64-windows-dbg-out.log

Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
  ports/gdal/portfile.cmake:100 (vcpkg_cmake_install)
  scripts/ports.cmake:147 (include)

error: building gdal:x64-windows failed with: BUILD_FAILED
error: Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
    https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+gdal
You can submit a new issue at:
    https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[gdal]+Build+error
Include '[gdal] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above.
    vcpkg-tool version: 2022-12-14-7ae0d8527fb488fde10a89c2813802dc9b03b6f9
    vcpkg-scripts version: cf69bc743 2023-02-08 (65 minutes ago)

Please use the prefilled template from C:\Users\Russell\Documents\vcpkg\installed\vcpkg\issue_body.md when reporting your issue.

install-x64-windows-dbg-out.log

Additional context
It is notable that .\vcpkg.exe install 'gdal[core,libkml,expat]:x64-windows' does work perfectaly fine

If you install the gdal[core,libkml,expat], the expat will provides the include directories which point to the vcpkg\installed\triplet\include, then the kml/engine.h could be found.
This covers up the problem that libkml does not provide the include directories which point to vcpkg\installed\triplet\include.


Create c++-gcd_euclidean_algorithm-O(log_n).cpp

first create issue and then add issue no in description

Please review PR


Multiprocessing/threading RuntimeError on Windows 10

Describe the bug
THEMIS image loader crashes due to a threading or multiprocessing bug on Windows 10. This bug does not affect Ubuntu.
Exception has occurred: RuntimeError

        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
  File "C:\Users\xyz\Documents\research\aurora-asi-lib\asilib\asi\themis.py", line 467, in _load_pgm
    images, meta, problematic_file_list = themis_imager_readfile.read(str(path), workers=1)
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To Reproduce
import themis_imager_readfile
themis_imager_readfile.read('20170915_0232_rank_themis12_full.pgm.gz', workers=1)

Expected behavior
Data loaded.
Environemnt:
>>> import sys, themis_imager_readfile, platform; print(themis_imager_readfile.__version__); print(sys.version); print(platform.platform())
1.0.11
3.11.3 | packaged by Anaconda, Inc. | (main, Apr 19 2023, 23:46:34) [MSC v.1916 64 bit (AMD64)]
Windows-10-10.0.19044-SP0

Thanks Mike. We noticed this last week and it seems to be due to something about not putting the read call in a main() method. We'll have a look at it and see where the issue is.

Just an update - this is a known thing with multiprocessing, where usage of __main__() is required. We will see what we can do to put a user warning in to help.

A note has been put in to the Readme. Unfortunately, there isn't a way to detect this programmatically so the readme and this issue ticket will have to be enough for others who run into the issue.

@dchaddock, wrapping my code with a
if __name__ == '__main__':

did the trick. Does this mean that all users of aurora-asi-lib need to wrap their code this way too? Or is there an alternative way to call themis_imager_readfile that avoids multiprocessing altogether? The latter option is the one that I'm perusing in aurora-asi-lib.


[BUG] 消费redis异步队列的时候，死循环

Execute the command and paste the result below.
Command: uname -a && php -v && composer info | grep hyperf && php --ri swoole
Linux hb5-ali-chat-acc-test-001 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
PHP 7.2.30 (cli) (built: May 11 2020 17:23:08) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Do not run Composer as root/super user! See https://getcomposer.org/root for details
hyperf/async-queue                   v1.1.26            A async queue component for hyperf.
hyperf/cache                         v1.1.30            A cache component for hyperf.
hyperf/command                       v1.1.26            Command for hyperf
hyperf/config                        v1.1.26            An independent component that provides configuration container.
hyperf/constants                     v1.1.26            A constants component for hyperf.
hyperf/contract                      v1.1.26            The contracts of Hyperf.
hyperf/database                      v1.1.30            A flexible database library.
hyperf/db                            v1.1.26
hyperf/db-connection                 v1.1.26            A hyperf db connection handler for hyperf/database.
hyperf/devtool                       v1.1.30            A Devtool for Hyperf.
hyperf/di                            v1.1.28            A DI for Hyperf.
hyperf/dispatcher                    v1.1.26            A HTTP Server for Hyperf.
hyperf/event                         v1.1.26            an event manager that implements PSR-14.
hyperf/exception-handler             v1.1.26            Exception handler for hyperf
hyperf/filesystem                    v1.1.32            flysystem integration for hyperf
hyperf/framework                     v1.1.27            A coroutine framework that focuses on hyperspeed and flexible...
hyperf/guzzle                        v1.1.26            Swoole coroutine handler for guzzle
hyperf/http-message                  v1.1.26            microservice framework base on swoole
hyperf/http-server                   v1.1.29            A HTTP Server for Hyperf.
hyperf/logger                        v1.1.26            A logger component for hyperf.
hyperf/memory                        v1.1.26            An independent component that use to operate and manage memory.
hyperf/model-listener                v1.1.26            A model listener for Hyperf.
hyperf/paginator                     v1.1.26            A paginator component for hyperf.
hyperf/pool                          v1.1.26            An independent universal connection pool component.
hyperf/process                       v1.1.26            A process component for hyperf.
hyperf/redis                         v1.1.26            A redis component for hyperf.
hyperf/server                        v1.1.26            A base server library for Hyperf.
hyperf/testing                       v1.1.28            Testing for hyperf
hyperf/translation                   v1.1.26            An independent translation component, forked by illuminate/tr...
hyperf/utils                         v1.1.27            A tools package that could help developer solved the problem ...
hyperf/validation                    v1.1.28            hyperf validation

swoole

Swoole => enabled
Author => Swoole Team<EMAIL_ADDRESS>Version => 4.4.18
Built => May 11 2020 17:33:15
coroutine => enabled
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
openssl => OpenSSL 1.0.2k-fips  26 Jan 2017
http2 => enabled
pcre => enabled
zlib => 1.2.7
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled
async_redis => enabled

Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608

Description:
消费redis异步队列的时候，死循环。strace如下：
sendto(20, "*3\r\n$5\r\nBRPOP\r\n$13\r\nqueue:waiting\r\n$1\r\n2\r\n", 42, 0, NULL, 0) = 42
recvfrom(20, "-", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "-MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commandsthat may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.\r\n", 8192, 0, NULL, NULL) = 346
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*7\r\n$16\r\nZREVRANGEBYSCORE\r\n$13\r\nqueue:delayed\r\n$10\r\n1599474415\r\n$4\r\n-inf\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$3\r\n100\r\n", 101, 0, NULL, 0) = 101
recvfrom(20, "*", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "*0\r\n", 8192, 0, NULL, NULL) = 4
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*7\r\n$16\r\nZREVRANGEBYSCORE\r\n$14\r\nqueue:reserved\r\n$10\r\n1599474415\r\n$4\r\n-inf\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$3\r\n100\r\n", 102, 0, NULL, 0) = 102
recvfrom(20, "*", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "*0\r\n", 8192, 0, NULL, NULL) = 4
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*3\r\n$5\r\nBRPOP\r\n$13\r\nqueue:waiting\r\n$1\r\n2\r\n", 42, 0, NULL, 0) = 42
recvfrom(20, "-", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "-MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commandsthat may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.\r\n", 8192, 0, NULL, NULL) = 346
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*7\r\n$16\r\nZREVRANGEBYSCORE\r\n$13\r\nqueue:delayed\r\n$10\r\n1599474415\r\n$4\r\n-inf\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$3\r\n100\r\n", 101, 0, NULL, 0) = 101
recvfrom(20, "*", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "*0\r\n", 8192, 0, NULL, NULL) = 4
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*7\r\n$16\r\nZREVRANGEBYSCORE\r\n$14\r\nqueue:reserved\r\n$10\r\n1599474415\r\n$4\r\n-inf\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$3\r\n100\r\n", 102, 0, NULL, 0) = 102
recvfrom(20, "*", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "*0\r\n", 8192, 0, NULL, NULL) = 4
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*3\r\n$5\r\nBRPOP\r\n$13\r\nqueue:waiting\r\n$1\r\n2\r\n", 42, 0, NULL, 0) = 42
recvfrom(20, "-", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "-MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commandsthat may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.\r\n", 8192, 0, NULL, NULL) = 346
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*7\r\n$16\r\nZREVRANGEBYSCORE\r\n$13\r\nqueue:delayed\r\n$10\r\n1599474415\r\n$4\r\n-inf\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$3\r\n100\r\n", 101, 0, NULL, 0) = 101
recvfrom(20, "*", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "*0\r\n", 8192, 0, NULL, NULL) = 4
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*7\r\n$16\r\nZREVRANGEBYSCORE\r\n$14\r\nqueue:reserved\r\n$10\r\n1599474415\r\n$4\r\n-inf\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$3\r\n100\r\n", 102, 0, NULL, 0) = 102
recvfrom(20, "*", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "*0\r\n", 8192, 0, NULL, NULL) = 4
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*3\r\n$5\r\nBRPOP\r\n$13\r\nqueue:waiting\r\n$1\r\n2\r\n", 42, 0, NULL, 0) = 42
recvfrom(20, "-", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "-MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commandsthat may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.\r\n", 8192, 0, NULL, NULL) = 346
recvfrom(20, 0x7f08526509e0, 1, MSG_PEEK, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
sendto(20, "*7\r\n$16\r\nZREVRANGEBYSCORE\r\n$13\r\nqueue:delayed\r\n$10\r\n1599474415\r\n$4\r\n-inf\r\n$5\r\nLIMIT\r\n$1\r\n0\r\n$3\r\n100\r\n", 101, 0, NULL, 0) = 101
recvfrom(20, "*", 1, MSG_PEEK, NULL, NULL) = 1
recvfrom(20, "*0\r\n", 8192, 0, NULL, NULL) = 4

当读取redis的时候，如果redis报错，例如：
MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.

那么会出现这个问题。
Steps To Reproduce:

这个问题好像是 Redis 内存容量不够了，导致 持久化 失败

然后 redis-queue 就会失败，重试，失败，重试
这样死循环。。。
不过应该有重启间隔才对。。

嗯嗯，确实应该有间隔，我们的服务器今天直接卡死了

那这个issue应该没啥问题了吧

另外为啥还在用1.1的版本啊


Fix new CSGMesh errors

As identified here, errors are thrown when creating a CSGMesh:
ERROR: mesh_add_surface_from_arrays: Condition "array_len == 0" is true.
   At: servers/visual_server.cpp:965.
ERROR: add_surface_from_arrays: Condition "len == 0" is true.
   At: scene/resources/mesh.cpp:851.

This PR prevents attempting to draw an empty CSGShape3D.

Thanks!


IIFE ReturnType inference misses tuple from expected type

Playground Link
TS 4.2.3 and 4.3.0-dev.20210314
type Tuple = [number];
declare let tuple: Tuple;
declare let tupleFn: () => Tuple;

tupleFn = () => [1];
tuple = (() => [1])(); // Error

Type 'number[]' is not assignable to type 'Tuple'.
  Target requires 1 element(s) but source may have fewer.(2322)

Unexpected Function Type
Expected typeof () => [1] to be inferred as function(): [number] in both cases

See #241


use new annotations correctly for wiring

This fixes the wiring transform

This fixes #413

The travis failure is reproducible but I'm not sure why its related to my change...investigating.

Actually I spoke too soon. My local reproduction failed because my verilator was too old. I've re-run the test on travis and it passed, so I'm merging.


[Addition]: Request temporary terminate all china miner

Hotspot b58 Addresses
All china miner
Discord Handle
No response
Reason(s)
Ukraine suffer in war, Russia still have resource to invade other country because they have big backdoor get fund and material from his evil brother that is China, I'm request temporary sanction all China miner because China is only one country support Russia in fund and material, we should temporary terminate all miner put  in China territory until the war end.
look at this news,
https://qz.com/2136854/a-russian-e-commerce-store-in-china-is-suddenly-seeing-brisk-business/
We not surprised that some of our earning will flow direct to Russian thru Helium China miner donation

Hey, take a look at this video: https://vimeo.com/202792798
and if u want, you can see more videos or pictures about the truth that blocked by the US medias

Oh, I just noticed your name, so , the truth is not important for you, and maybe you have already know the truth but still choosing close your eyes

go f#k#u#r#s#e#l#f US #d#o#g ur NATO r the mean cause of this war. read ur genius history about Monroe Doctrine.

u make it personal and ridiculous. then i am doing the same way

u make it personal and ridiculous. then i am doing the same way

haha! welcome to hell! ghost!


Orders/1062 multiple products order

Closes #1062
Should wait until #1063 is also closed before merging.

I realized there's a bit of a logic error in the total_cost method. It has to do with how ActiveRecord is going to fetch the data given an array of ids. Basically the array with duplicates will have those duplicate values tossed out, so if an order had any duplicate product_ids you're going to be short on the products count if you compared the lengths of it and the original params length.
total_cost is going to need to be updated to handle the situation where duplicate products might exist in an order.

Looks good, let's merge this with the UX work into a new branch and test there.


Added VS Code installation notes when needing to go through a proxy

Following a discussion with isism in relation with support case<PHONE_NUMBER>002653, added a note documenting how to configure a proxy to enable the Azure Machine Learning VS Code Extension to successfully install on compute instances requiring a proxy for Internet access.

Thanks for helping improve the documentation @lvovanms !
#sign-off


Error ENOENT occurs with compose file containing dockerfile_inline field.

This demo has no reference of docker file but still the cli asks for the Dockerfile at default path.
https://gist.github.com/ryuujo1573/95d5c5a3069d0493594e606a8140f8ae
I've quickly scanned the lines and the cause may be this part asking for the non existing file.
https://github.com/devcontainers/cli/blob/09e9821598a056e8d11dfd41e05ccbf370d57562/src/spec-node/dockerCompose.ts#L161-L165
The error disappears when using image directly rather than building from dockerfile_inline.
i.e. Is this a bug? or is there something that I messed up?

Hi 👋
Thanks for reporting. Looks like the cli is not designed to handle dockerfile_inline scenario and always expects a Dockerfile or an image at the default path. Hence, the error is currently expected.
We appreciate community contributions, feel free to contribute a PR if you are interested. Thanks!


Cannot suppress Pylance diagnostic errors in Python library files when try to set up configuration options

Environment data

Language Server version: 2022.12.20 (pyright 621d886b)
OS and version: macOS 10.15.7, Windows 22H2
Python version: 3.11 (official distribution from python.org)

Repro Steps

Open empty folder (project root)
Create 1 file:

./pyproject.toml[tool.pyright]
typeCheckingMode = "strict"

Navigate to .py / .pyi file from the Python Standard Library folder (tested with typing.py) or Pylance's typeshed stubs directory (tested with builtins.pyi)

Note: I've tried to add the absolute path of my Python Standard Library directory to the next settings: "python.analysis.exclude" / "python.analysis.ignore" from language server settings, "exclude" / "ignore" fields from pyright config options. As I understand, "python.analysis.ignore" is that what I need. But it does not work. None of these settings affect the situation. The issue is only fixed when I delete or rename pyproject.toml file. But in this case I can't set up Pyright configuration.
There is the same issue if you try to use pyrightconfig.json instead of pyproject.toml.
Expected behavior
I want to see Python library files without diagnostic output (errors and warnings) in "strict"/"basic" type checking mode and have the ability to tune Pylance/Pyright configuration.
Actual behavior

Logs
vscode-macos.txt

This is the intended behavior. If you open a file that is outside of your project, pylance applies the diagnostic rules that you've selected in your settings.
The "ignore" and "exclude" options aren't exposed as a setting currently, so if you want to ignore or exclude certain files or directories, you'll need to add those to the pyproject.toml file.
Another option if you want to use strict-mode type checking for all files in your project... you can set typeCheckingMode to "off" and then add a "strict" section to your pyproject.toml and specify a directory of ".", which indicates that every file under your project should use strict type checking.

Thanks for the idea with "strict" section. Yes, the next pyproject.toml config works for me:
[tool.pyright]
typeCheckingMode = "off"
strict = [
    "**/*.py",
]

But, if I add some of diagnostic rules to that pyproject.toml and, even if I add them with their default 'error' values, I’ll start getting the errors in non-project files for these added rules again.
However, it's a problem, in fact, only for a small number of rules (whose values are 'none' or 'warning' in 'strict' mode) - rules, whose security level can be increased.

I think, I've found the solution for my problem.
I've found, that I can use "python.analysis.diagnosticSeverityOverrides" and, it was quite surprising to me, I can decrease! the security level of specific rules. I totally deleted the "[tool.pyright]" section from my pyproject.toml and moved the Pyright configuration to VSCode's project settings.json file:
.vscode/settings.json
"python.analysis.typeCheckingMode": "strict",
"python.analysis.diagnosticSeverityOverrides" : {
    "reportUnusedImport": "warning",
    "reportUnusedClass": "warning",
}

User-level settings.json
"python.analysis.ignore": [
    "/**/Python.framework",
    "/**/.vscode/extensions",
],

Without "[tool.pyright]" section, "python.analysis.ignore" began to work again and it started to suppress the errors in library files. That's what I wanted.

But, my solution cannot be achieved by using only pyproject.toml and you need to specifically add another project config file settings.json. That's not always convenient. I mean, sometimes you want to keep everything in one configuration file.

I think, I've found the solution for my problem.
I've found, that I can use "python.analysis.diagnosticSeverityOverrides" and, it was quite surprising to me, I can decrease the security level of specific rules. I've totally deleted the "[tool.pyright]" section from my pyproject.toml and moved the Pyright configuration to VSCode's project settings.json file:
.vscode/settings.json
"python.analysis.typeCheckingMode": "strict",
"python.analysis.diagnosticSeverityOverrides" : {
    "reportUnusedImport": "warning",
    "reportUnusedClass": "warning",
    "reportMissingSuperCall": "error",
}

User-level settings.json
"python.analysis.ignore": [
    "/**/Python.framework",
    "/**/.vscode/extensions",
],

Without "[tool.pyright]" section, "python.analysis.ignore" began to work again and it started to suppress the errors in library files. That's what I wanted.

But, using my solution you need to specifically add settings.json to your project.
Inconvenience of this approach is that you need to keep you linters configuration in several config files, for e.g. Mypy’s configuration in pyproject.toml and Pylance’s configuration in .vscode/settings.json.
Sometimes there is a need to keep everything in one place.

I've found the case when my solution from #issuecomment-1368169035 does not work. Minimal configuration:

Client configuration (macOS)

~/Library/Application Support/Code/User/settings.jsonclean

Remote server configuration (Windows, connected via Remote - SSH extension)

~/.vscode-server/data/Machine/settings.json"python.analysis.ignore": [
    "c:/**/Python*/Lib",
    "c:/**/Python*/site-packages",
    "c:/**/.vscode-server/extensions",
],

Remote workspace

.vscode/settings.json"python.analysis.typeCheckingMode": "strict",

If I just open the file ~\.vscode-server\extensions\ms-python.vscode-pylance-2023.1.10\dist\typeshed-fallback\stdlib\builtins.pyi, there are no errors.
But if I add test.py to my workspace, type a = list and navigate to class list inside builtins.pyi, then I get:

pylance-ls_2023_1_10-log.txt
Note: reproduced only on remote, can't reproduce locally

it looks like when there are multiple places that set settings, Pylance, rather than merging them, one completely replaces the other. let me check whether that is the case and discuss whether we should rather merge rather than replace.

Also having issues with this - my use case is I have a submodule checked out in my repo. I've installed that with pip in development mode. It's a 3p library I'm working with and need to make a couple of alterations - mypy/pylance is peppering it with red. It doesn't do the same for my venv folder.
Interestingly, if I copy the typing_extensions.py file from the root of my venv to the root of the submodule, all is well!
It seems impossible to get the same behaviour for an arbitrary directory as you can for venv... In my case, if pylance were really smart, it would be able to detect that my submodule is installed as a pip module and apply the same behaviour to it...

@samskiter  I dont think it is the same issue as the original issue. can you open a new issue so we can track it separately with more detail such as repro steps we can follow and logs?
thank you

heejae

current behavior is by design. for what you want, you should just use vscode's error list filter to remove errors from those outside of workspace open files

This is the intended behavior. If you open a file that is outside of your project, pylance applies the diagnostic rules that you've selected in your settings.

@erictraut  doesn't this contradict https://github.com/microsoft/pylance-release/issues/5452#issuecomment-1949212053 or am I misunderstanding you?


Tighten the policy to pull images when creating a container

String checking is bad, type-checking is good!

it means, for each invoking docker action, invoker will try to pull the container, and doesn't care if the image is there locally or not?

Yes, that's semantically preserving what it did before. Docker will fast forward though, and almost immediatly notice that the layers are already there.

2 seconds for the check ;)

Checking the image manually whether it is there or not does cost some time as well :)

@lehoanganh because an explicit pull at least checks, if the latest version is around.

see pg2 9

Squashed and merged as https://github.com/openwhisk/openwhisk/compare/429a53b7a2e5...60d1bad5ea0b.


Meshtastic 1.3

Hey Paul!
Just a heads up.... Meshtastic 1.3 is being worked on which includes a lot of major changes, including a rewrite of how we use bluetooth. Part of this is a rework of the protos.
Please be aware that when 1.3 comes out in beta, it's very likely you'll have compatibility issues and may need to have some version detection.
1.3 has no plans for backward compatibility with 1.2.
When 1.3 goes live and out of beta, it will be called 2.0.
Cheers!

I am 2nd on this, that as now ATK beta version also not working with atak-forwarder i am not sure what else ATAK change but 1 of my phone run beta channel in all APP is not work anymore.

Another thing we would like to change is removing the team property from each nodes information. This kind of data should be contained within its plugin messages and not be a global property.

Another thing we would like to change is removing the team property from each nodes information. This kind of data should be contained within its plugin messages and not be a global property.

Good point. Totally forgot about that. Maybe we can include something as an alternative general purpose grouping method.

Please be aware that when 1.3 comes out in beta, it's very likely you'll have compatibility issues and may need to have some version detection.

I'll likely just make newer versions only compatible with 1.3+
Thanks for the heads up, I've started working on updating my integration here: https://github.com/paulmandal/atak-forwarder/pull/120 I'll try to get this out soon after 1.3 is released.

Another thing we would like to change is removing the team property from each nodes information. This kind of data should be contained within its plugin messages and not be a global property.

This is the Team field, right? In my use case I only use this for Tracker devices (not connected to an EUD, but shows up in ATAK, uses the position app and nodeinfo apps). The field alone doesn't really satisfy my needs since each Tracker has a Team and Role. For now I put these into the shortName field but if there were a misc or grouping field I could put the data there.

I'd say the best way to handle this is to have the ATAK portnum return a message containing a oneof then you can have several payload types for your various needs.
There are examples of this all throughout the existing protobufs

Closing this because we're on 2.0 now: https://github.com/paulmandal/atak-forwarder/releases/tag/2.0.1


Add waffles to try

He already has repo access, and I think we were supposed to give him try but forgot
r? @larsbergstrom

r=jdm post travis

@Manishearth try this again now after #175?

@bors-servo r=jdm

:pushpin: Commit bb87cb4 has been approved by jdm

:hourglass: Testing commit bb87cb4 with merge 64da220...

:sunny: Test successful - travis


[cloud save] endless cloud save loop

I've noticed a bug in how we schedule cloud saves today:

I don't have a consistent repro, but this should be impossible by construction.

To date, the cloud save stuff has largely been integrating into the existing cloud save hooks we setup a long time ago for OneDrive etc. Frankly this setup is bad because the hooks are called throughout the code in basically arbitrary places, when we should instead be doing cloud saves on well defined events or with some constant background task.


[Question] Create a VSIX for Deployment

I most likely have overlooked, but are there any examples/docs available that show how to bundle an extension project into a VSIX so it can be installed/uninstalled within Visual Studio and not the experimental hive?
Any help is appreciated.

Creating a vsix is not possible yet.

Creating a vsix is not possible yet.

Bummer @sboulema , but thanks for your info.  Maybe we can still keep this issue open as a way to know when the feature is added.

Hi, this was an intentional decision as the SDK and its APIs are in early preview and may have breaking changes in updates. For similar reasons we also do not allow VSIX extensions using this SDK to be uploaded to the public gallery. The goal for now is to get feedback from extension developers.
In a future update, we will enable VSIX generation and also update installer to support installing these extensions without restarting Visual Studio for a better user experience.
In the meantime, if you need to generate a VSIX for a testing scenario, the project generated by "VSSDK compatibility" extensibility template or the "CommentRemover" example has a separate container project generating a VSIX for the extension project.
Thanks,
Bertan

Thanks for the info @BertanAygun and reasoning understood.  I believe the recommended example will provide what I need for now.


Set up a project board to plan working group initiatives

Issue mentioned in the agenda of the first charter meeting 1 June
Tasks:

[x] Discuss the need of a project board (WG Meeting 1 June)
[x] Agree on a tool to host the project board (like: GitHub / Jira / ...)  (WG Meeting 1 June)
[ ] Create and configure the project board
[ ] Give write access to charter members

cc @rootfs

@mkorbi, do you have the access rights to create a GitHub Project board?

Created https://github.com/orgs/cncf/projects/10/ but for some reason I cannot invite @leonardpahlke onto it. :\ Will investigate later.

Thank you :)

Is it possible for others in the community to add to the board?  We have agreement on beginning a landscape/use case whiteboard to document all the current known technologies within this space and what users may want to use them.
From: Leonard Vincent Simon Pahlke @.>
Sent: Thursday, June 23, 2022 4:15 AM
To: cncf/wg-env-sustainability @.>
Cc: Subscribed @.***>
Subject: Re: [cncf/wg-env-sustainability] Set up a project board to plan working group initiatives (Issue #13)
@mkorbihttps://github.com/mkorbi, do you have the access rights to create a GitHub Project board?
—
Reply to this email directly, view it on GitHubhttps://github.com/cncf/wg-env-sustainability/issues/13#issuecomment-1164159276, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAJBDVXZ7GKB2PNAI2K4YVDVQQTIHANCNFSM5XIJTOWA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Project Board
https://github.com/orgs/cncf/projects/10/views/1


Latin letters

Will there ever be support for Latin letters such as é, à, ç, ô, etc.? Thank you.

Full support in mvzr is unlikely, unfortunately.
It's something I can add if and when allocation is possible again at comptime. But the scheme mvzr uses to recognize a character set is only suitable to ASCII characters.  It uses two u64 bitmasks to cover the low and high ranges of ASCII.
When you generalize this technique, you get runeset.  RuneSet is specifically designed for arbitrary sets of UTF-8 codepoints, which would cover composed Latin characters, see Unicode equivalence for more about what that means.  But creating a Runeset requires allocation, and being a stack-based no-allocation library is an important part of mvzr's design space.
I have some preliminary work done on a pattern-matching library which incorporates the RuneSet, but I don't expect it to be done any time soon. Maybe this year, but not next month.
Meanwhile, I'm afraid that the workaround of saying "(é|î)+", or what have you, is all that mvzr will support.
I'll leave this issue open to track the feature, because I certainly agree that it would be a good thing to support at least codepoint-sets.  Sets of arbitrary grapheme clusters are an extraordinarily difficult feature, and the regex libraries I know of which do support that, do so by translating the input stream into 32 bits per codepoint, which will never be something mvzr requires or does.

Perhaps this limitation and its workaround should be added to the documentation/README under "Quirks", because else one may have bad surprises.

The first line of Limitations and Quirks in the README is "No Unicode support to speak of", so I feel like that part, at least, is covered.
I suppose I could suggest the use of alternates as a poor man's character set.  As for é? not working correctly, the better solution is to fix it, which I hope to find some time to do soon.

The first line of Limitations and Quirks in the README is "No Unicode support to speak of", so I feel like that part, at least, is covered.

I disagree. There are plenty of encoding tables other than Unicode that support those characters, like ISO-8859-1 or Windows-1252 .

So the interesting thing about that is that mvzr will correctly handle any and all one-byte legacy encodings.
Your only problem at that point is that Zig will encode it as UTF-8 and nothing else.  mvzr does not consider other formats as valid input, but let's say you know you'll be parsing Latin-1, and you want á in a character set, you can add it as [\xe1] and this will work fine.  If mvzr sees the literal byte 0xe1 in a character set, it will assume that it's seeing multi-byte UTF-8, and won't compile if it finds that in a character set (in any other part of a regex it's fine).
mvzr will never support other encodings besides UTF-8, to be clear. Non goal.  But with a bit of care you can certainly write regexen which will parse one-byte character sets properly.

hello:
pub fn isMatch(testval : [] const u8, pattern : [] const u8 ) bool {

     const maybe_regex = freg.compile(pattern) ;
      if (maybe_regex) |regex|{     return regex.isMatch(testval);} else return false;

 }

 std.debug.print("MVZR pèéàa test {} \r\n",.{isMatch("pèéàa","^[a-zA-Z]{1}(\\é|\\à|\\è|[a-z]){1,4}$")}) ;

MVZR pèéàa test  true
UTF8
the result is correct.

v0.3.1 improves support here roughly as much as I expect I can accomplish with this architecture.  We no longer have to manually group a multibyte codepoint to have a pattern like é?,  and it's possible to construct follow-byte character sets, albeit manually: See the example of matching Greek uppercase letters in the README for inspiration.
For instance, you can't write [éàè], but you can write \xc3[\xa9\xa0\xa8], and it will match the same thing.  This is more efficient than using alternates (é|à|è) to do the same thing.
As such, I'm going to close this issue, which I was keeping open as a reminder to make the changes which have now landed.


Improve performance by addressing some low hanging fruit.

This pull request introduces some very minor performance improvements and reduces the garbage produced when calling several functions.
The first commit removes an unused bytes.Buffer from dns/idn.encode. The second commit reduces the amount of garbage produced when calling CertificateToDANE, HashName, (*SIG).Sign and TsigGenerate.
No functionality or APIs are changed.

Nice. Thanks!