Provided label column 'Sentiment' was of type String, but only type Single is allowed.

Problem encountered on https://dotnet.microsoft.com/learn/ml-dotnet/get-started-tutorial/train
Operating System: windows
I'm trying to master machine learning. When I start training the model, the following error occurs: Provided label column 'Sentiment' was of type String, but only type Single is allowed.
I ask for your help. I did everything according to the tutorial, but I got an error as a result.

@maxsklad Sorry you're hitting this issue! Can you share what dataset you were using and what scenario type you chose?

I got the same problem, here is my data
Date,SMA,EMA,MACD,ClosePrice,Label
20070906,114.25,114.866667,-22.22151,111,1
20070907,113.25,114.498413,-19.88974,116,1
20070910,112.2,114.641421,-17.437329,120,1
20070911,111.25,115.151762,-14.998121,115,-1
20070912,109.95,115.137308,-13.315002,112,-1
20070913,108.5,114.838517,-12.083897,113,1
20070914,107.35,114.66342,-10.901876,114,1
20070917,106.4,114.600237,-9.771782,113,-1
20070918,106.45,114.447834,-8.854793,112,-1
20070919,106.45,114.214707,-8.115217,112,0
20070920,106.35,114.003782,-7.443296,115,1
20070921,106.45,114.09866,-6.592722,113,-1
20070924,106.45,113.994026,-6.010731,114,1
20070925,106.55,113.994595,-5.406485,114,0
20070926,106.75,113.99511,-4.87146,116,1
20070927,107.1,114.186052,-4.237222,114,-1
20070928,107.35,114.168332,-3.851568,118,1
20071001,107.8,114.533253,-3.186438,123,1
20071002,108.55,115.33961,-2.23015,127,1
20071003,109.6,116.450123,-1.13642,126,-1
20071004,110.35,117.359635,-0.346329,122,-1
20071005,110.65,117.801575,-0.042454,125,1
20071008,110.9,118.487139,0.435424,123,-1
20071009,111.3,118.916935,0.645324,121,-1
20071010,111.75,119.115323,0.642878,122,1
20071011,112.2,119.390054,0.713407,121,-1
...........................................................................................

@linhnle thanks for sharing your dataset! Were you trying to predict "Label" using all of the other values? Was the scenario type Value Prediction or Classification?

@JakeRadMSFT It was Value Prediction

Here is the log
2020-06-12 00:52:17.6673 DEBUG Set log file path to C:\Users\USER\AppData\Local\Temp\MLVSTools\logs\b34c96f7-ac96-423a-9e08-46b266b504c2.txt (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 00:54:09.0159 DEBUG C:\ProgramData\Ck\R\RIC\training.csv (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 00:54:46.6483 DEBUG Disposing TrainSession (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 00:54:49.0788 WARN GPU Service not found. Falling back to CPU AutoML Service. (Microsoft.ML.ModelBuilder.Utils.Logger.Warn)
2020-06-12 00:54:51.2540 INFO |     Trainer                             RSquared Absolute-loss Squared-loss RMS-loss  Duration #Iteration      | (Microsoft.ML.ModelBuilder.Utils.Logger.Info)
2020-06-12 00:54:51.6111 DEBUG Provided label column 'Label' was of type String, but only type Single is allowed.
at Microsoft.ML.AutoML.UserInputValidationUtil.ValidateTrainDataColumn(IDataView trainData, String columnName, String columnPurpose, IEnumerable1 allowedTypes)    at Microsoft.ML.AutoML.UserInputValidationUtil.ValidateColumnInformation(IDataView trainData, ColumnInformation columnInformation, TaskKind task)    at Microsoft.ML.AutoML.ExperimentBase2.ExecuteCrossValSummary(IDataView[] trainDatasets, ColumnInformation columnInfo, IDataView[] validationDatasets, IEstimator1 preFeaturizer, IProgress1 progressHandler)
at Microsoft.ML.AutoML.ExperimentBase2.Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator1 preFeaturizer, IProgress1 progressHandler)    at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.AutoMLExperiment3.<>c__DisplayClass21_0.b__5() in //src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/AutoMLExperiment.cs:line 81
at System.Threading.Tasks.Task1.InnerInvoke()    at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.AutoMLExperiment3.d__21.MoveNext() in //src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/AutoMLExperiment.cs:line 108
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.AutoMLEngine.d__30.MoveNext() in //src/Microsoft.ML.ModelBuilder.AutoMLService/AutoMLEngineService/AutoMLEngine.cs:line 147 (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:05:00.0136 DEBUG Disposing TrainSession (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:05:00.0136 DEBUG Disposing AutoMLService Client (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:05:00.0136 DEBUG Disposing TrainSession (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:05:00.1652 INFO |     Trainer                             RSquared Absolute-loss Squared-loss RMS-loss  Duration #Iteration      | (Microsoft.ML.ModelBuilder.Utils.Logger.Info)
2020-06-12 01:05:00.1872 DEBUG Provided label column 'Label' was of type String, but only type Single is allowed.
at Microsoft.ML.AutoML.UserInputValidationUtil.ValidateTrainDataColumn(IDataView trainData, String columnName, String columnPurpose, IEnumerable1 allowedTypes)    at Microsoft.ML.AutoML.UserInputValidationUtil.ValidateColumnInformation(IDataView trainData, ColumnInformation columnInformation, TaskKind task)    at Microsoft.ML.AutoML.ExperimentBase2.ExecuteCrossValSummary(IDataView[] trainDatasets, ColumnInformation columnInfo, IDataView[] validationDatasets, IEstimator1 preFeaturizer, IProgress1 progressHandler)
at Microsoft.ML.AutoML.ExperimentBase2.Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator1 preFeaturizer, IProgress1 progressHandler)    at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.AutoMLExperiment3.<>c__DisplayClass21_0.b__5() in //src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/AutoMLExperiment.cs:line 81
at System.Threading.Tasks.Task1.InnerInvoke()    at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.AutoMLExperiment3.d__21.MoveNext() in //src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/AutoMLExperiment.cs:line 108
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.AutoMLEngine.d__30.MoveNext() in //src/Microsoft.ML.ModelBuilder.AutoMLService/AutoMLEngineService/AutoMLEngine.cs:line 147 (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:09:03.6671 DEBUG Disposing TrainSession (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:09:03.6671 DEBUG Disposing AutoMLService Client (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:09:03.6671 DEBUG Disposing TrainSession (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:09:03.6951 INFO |     Trainer                             RSquared Absolute-loss Squared-loss RMS-loss  Duration #Iteration      | (Microsoft.ML.ModelBuilder.Utils.Logger.Info)
2020-06-12 01:09:03.6951 DEBUG Provided label column 'Label' was of type String, but only type Single is allowed.
at Microsoft.ML.AutoML.UserInputValidationUtil.ValidateTrainDataColumn(IDataView trainData, String columnName, String columnPurpose, IEnumerable1 allowedTypes)    at Microsoft.ML.AutoML.UserInputValidationUtil.ValidateColumnInformation(IDataView trainData, ColumnInformation columnInformation, TaskKind task)    at Microsoft.ML.AutoML.ExperimentBase2.ExecuteCrossValSummary(IDataView[] trainDatasets, ColumnInformation columnInfo, IDataView[] validationDatasets, IEstimator1 preFeaturizer, IProgress1 progressHandler)
at Microsoft.ML.AutoML.ExperimentBase2.Execute(IDataView trainData, ColumnInformation columnInformation, IEstimator1 preFeaturizer, IProgress1 progressHandler)    at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.AutoMLExperiment3.<>c__DisplayClass21_0.b__5() in //src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/AutoMLExperiment.cs:line 81
at System.Threading.Tasks.Task1.InnerInvoke()    at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.AutoMLExperiment3.d__21.MoveNext() in //src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/AutoMLExperiment.cs:line 108
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.AutoMLEngine.d__30.MoveNext() in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/AutoMLEngineService/AutoMLEngine.cs:line 147 (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:09:10.2725 DEBUG Disposing AutoMLService Client (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2020-06-12 01:09:21.7628 DEBUG Open Log FileC:\Users\USER\AppData\Local\Temp\MLVSTools\logs\b34c96f7-ac96-423a-9e08-46b266b504c2.txt (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)

Thanks @linhnle .. I'm able to reproduce the issue and I don't see anything odd in the data. @LittleLittleCloud  Can you help investigate?

Same issue following the tutorial.
Using the dataset linked at https://dotnet.microsoft.com/learn/ml-dotnet/get-started-tutorial/data
I had to open the file in excel, format the sentiment column as Number with decimals, save it and then i was able to train. Not sure why ML.NET thinks integer as string...

I can't believe I've fallen at the first fence.  My initial excitement at giving this a go has been dampened.  I'm getting the same problem.  I made sure my data (coming from a flat file) had decimals, not just integers, and it still says "Provided label column 'blah' was of type String.  There's not a single value that looks like a string - there all numbers!!??

i had same problem

Hi @LittleLittleCloud, here are my logs, on my laptop everything went very smoothly, then doing the same on my desktop I encountered the error mentioned (Provided label column 'col1' was of type String, but only type Single is allowed.)
I was following the tutorial, dataset was the yelp_labelled.txt, see attachment (downloaded as mentioned in https://dotnet.microsoft.com/learn/ml-dotnet/get-started-tutorial/data). I compared regional settings, there was a difference (Working setting on Laptop was Dutch (Netherlands)), changing the desktop from UK to Dutch unfortunately didn't help...
yelp_labelled.txt

Hi all. Sorry for the issue here and thank you for reporting. Can you share what version of Model Builder you are on?

If you are not on <IP_ADDRESS>6001 can you update here and try again?
If you are on <IP_ADDRESS>, does your UI look like this?

@beccamc Sorry for my ignorance, but where do one locate the Model Builder version id?

@Ansjosen No worries! You go to Extensions -> Manage Extensions

Thank you for your response, Im very grateful. <IP_ADDRESS>6001 is exactly what I've got. When dowloading from your  link, I get a message stating I allready got this module. Checking ID -still the same.  Should the download-link match your version number 16.5.xxx or what? Nevertheless... I tried to run the Value predicter on my file (just 2 numeric columns) and got the same message as before: >>Provided label column 'col1' was of type String, but only type Single is allowed.<<
I tried the trick with decimal values, but that doesnt work for me. Same message.

@Ansjosen sorry for the confusion, I used a screenshot of a newer internal build - 16.3 is the latest public version :)
Can you confirm that the first page of your UI looks like this? This is the 16.3 UI:

We've had an issue where despite saying it's version 16.3, it actually is not updated. We've seen this problem in other customer issues where we can't get a repro. If your UI looks like this, then you're on an older version:

@beccam Thanks for your reply, I got the first one: (when rightclick, add, MachineLearning), NOT the failure machine

@beccamc 10 first rows of the 2-column file
0	0
1	1
2	0
3	1
4	0
5	1
6	0
7	1
8	0
9	1
10	0

@Ansjosen To confirm, you're using your own data, is that correct? If you copied pasted the above data exactly from the file, I'm guessing the problem is the delimiter. If you separate your data with a comma it should read those as two separate columns.
@ Others using the tutorial sentiment data Can you check if you are on version 16.3 with the updated UI? (instructions in this comment)

16.3 it is.
Its my own tiny file; now reduced to 10 rows, 0-9:
0,0 - 0,0 - 00 - 00 - 0;0 - 0;0 formats have been tried -all resulting in the infamous message:

Provided label column 'col1' was of type String, but only type Single is allowed.<<
One thing though: No matter the formats above, the column-display looks accurate. When selecting the column to predict, the order of the columns are swapped. Maybe it serves a higher purpose with multiple columns? I dont know.

@beccamc I get the same error using your file. As I mentioned earlier my columns in datapreview are swapped -compared to yours.  Other than that...? Should it do so? Please elaborate. (have you tried other separators your self?  It would probably work on your machine as well, I guess)
I allready tried tabbed, spaced etc. and the preview do parse many the different formats nicely
EvenOdd.zip
-so I dont think it will make much difference to upload a file, but I'll give you the benefit of doubt :-)

And I'm using Value Prediction Local ML

@Ansjosen Can you try "Text Classification" instead?

Wait, did you mean go ahead with value prediction and  smallTestDataset -BUT use Text classification?

@beccamc Yes, a little confusing; maybe if I knew more and had been more clear on "I tried to run the Value predicter?" But then I would have missed our conversation -and you wouldn't have wasted your time. Sorry for that, but thanks for all yor help and not quitting on me.
ITS WORKING :-)
I tried the text classification and it works on the odd/even-data. I'm feeding one number after another and it seems like the prediction probability increases the more digits present in the number.  (is that to be expected?)
I'd like to use it in a program. I tried this in Program.cs in the current solution  (another Program.Main() is present in *ML.Model)
static void Main()
{
Console.WriteLine("Hello World!");
ModelInput mi = new ModelInput();
mi.Col0 = 999;
Console.WriteLine("Out:");
Console.WriteLine(mi.Col1); //returns nothing
Console.ReadLine();
}
Obviously -I'm not a shark. Can you point me in some dircection/documentation for trying to consume/work with the model in a  console-app?

@Ansjosen, no worries! I'm happy to help.
What's missing from the code is calling ConsumeModel.Predict(mi);
Can you go to the "Consume" tab and click "Add to solution." That will add a sample console project to your app. You should be able to see a sample in the ConsoleApp's Program.cs.
Let me know if you have questions.

Thank you! :-)
I'm not sure of the "Consume" - "Add to solution" -so I'm missing that.  I added the code above and added the prediction
      static void Main()
    {
        Console.WriteLine("Hello World!");
        ModelInput mi = new ModelInput();
        mi.Col0 = 3;
        ConsumeModel.Predict(mi);    //@beccam
        Console.WriteLine(ConsumeModel.Predict(mi).Prediction);    //returns 0
        Console.ReadLine();
    }

I've attached an image of the solution explorer if thats the source(not sure if that source of the add-to-solution)

@Ansjosen take a look at the myMLAppValuePredML.ConsoleApp Program.cs file. It gives a full sample of predicting from sample data.

@beccam I dont think text-classification predicts the value 0/1 that well, not that it was expected regarding the image:

But perhaps thats whats to be expected? What would be a suitable (minimum requirement of columns/fields) dataset for predicting a price?
I adjusted the code you kindly pointed me to like below -but it predicts 0 consistently with probability decreasing smoothly from 71% downto 56%. Please notice that the numbers [0; 1000] the predicted values are based on, all are within the train-data interval [0; 2021]
    static void Main()
    {
        ModelInput sampleData = new ModelInput();
        for (int i = 0; i < 1001; i++)
        {
            sampleData.Col0 = i;
            var predictionResult = ConsumeModel.Predict(sampleData);
            Console.WriteLine($"{i}: {predictionResult.Prediction} Score: [{String.Join(",", predictionResult.Score)}]");
        }
        Console.WriteLine("=============== End of process, hit any key to finish ===============");
       Console.ReadKey();
    }

What am I doing wrong?

@Ansjosen I think we should take this problem into a new issue. Please take a look at https://github.com/dotnet/machinelearning-modelbuilder/issues/1461 for my response.

For others in this issue, please check the following to troubleshoot:

Are you actually trying to do value prediction on a string? If you chose "Value Prediction" (regression) as the scenario, the Label to predict must be of type Single. Value prediction should be used for "linear" predictions, like price, temperature or age. It shouldn't be used for classification problems (e.g. sort into group 1, 2 or 3).
If you should be doing value prediction, and the label to predict is a number, it may be classified wrong by our system. Check it's Data Type on the Data Tab -> Advanced Data Options window. If you can share your data with me I'd be happy to look at it.
We have an older bug in this space. If you are trying to solve a regression problem, and the data looks correct, updating to the latest version has fixed it for many customers.

Closing this issue as it should be fixed in the newest build.
Troubleshooting...

Please update to 16.6.0. https://marketplace.visualstudio.com/items?itemName=MLNET.07
Ensure you are on the new UI (we had a previous bug where the version didn't match the installed bits). The scenario page should look like this:

Make sure you are predicting a number. Value prediction should be used for predicting a range of values (e.g. taxi fare of $10, $22.50 or $73.25). It shouldn't be used for bucketing or classifying (e.g. sort into group 1, 2, or 3). If you are sorting into groups you should use Text Classification.
Ensure Label column is set to type "single". This can be changed in Data -> Advanced Data Options.

If none of the above work, please ping me or open a new issue. Thank you everyone for your engagement on this issue!

For me, this is an old bug relating to how different cultures parse decimal numbers, using comma instead of dot. Using an English culture on the thread is a workaround until this is resolved. I reported this years ago and I see it's still not fixed.
in F# use
System.Threading.Thread.CurrentThread.CurrentCulture  <- new CultureInfo("en-US")


Why is PHP 5.5 now required?

Hi,
How to make it work with PHP 5.4 ?
The README.md file tells that PHP 5.3 is required...

Because everyone but me want to drop it... Or - only I was aware of discussion...
You can't make it work.
The one think I was able to do is to convince to release 1.0 that will still support 5.3.
So 1.x is for 5.3+, and 2.x is for 5.5+.

Ok :-)
Perhaps because everyone but you (and me) knows how to configure composer dependencies !
Thank you for your answer.
++

It was not about configuring deps...

Why is this closed, it doesn't answer the question. How do you get the build to not error out with 5.3 & 5.4 now?

I have closed the issue because it will not change according to the author. You will be able to use PHP5.3 by specifying the 1.0 branch in your composer file.
To be honest, I will fork the repo and just change the composer.json file to support PHP 5.4 because it seems nothing is blocking the use of this version.I will pull the upstream nightly in a script on my computer to get changes until PHP 5.4 will really not supported anymore.

@potsky I'm not the author. I do not maintain this repo now or before.
You should discuss the problem with @tmatsuo .
I was against dropping support for old PHP versions.

Oups sorry ! I thought you were the author :-(

PHP 5.5 is not required per se. It's guzzle 6 that requires php 5.5. And using an unmaintained vrsion of a dependency is really crappy because bugs could come from there and there is no way to fix it.
I agreee though we should update the readme to say that php 5.5 is now needed,

btw, we require a big dep (guzzle), which brings the problem here - just to do one post request ;)

Doing thar via curl is really bothersome though. :D

It works, it makes lib smaller, we really do not use most of Guzzle things.
One day there was a plan to use guzzle in nice way, but it occurs that there is no need to and... we just send a POST request...
https://github.com/satooshi/php-coveralls/pull/2/files


Fix metadata warning formatting

The metadata related warnings look a bit broken with unclosed parentheses.
e.g.
/g/data/vk83/prerelease/apps/payu/dev/lib/python3.9/site-packages/payu/metadata.py:125: MetadataWarning: No experiment uuid found in metadata. Generating a new uuid
  warnings.warn("No experiment uuid found in metadata. "
Found experiment archive: /scratch/PROJECT/USER/access-esm/archive/access-esm1.5-configs

So it has the filename, line number, name of the warning and the line of the source code where warning get raised. The line of source code e.g. warnings.warn(.., can probably be left out of the log messages.
Wondering whether it'll be worth using logging.warning instead of warnings.warn for metadata warnings as reading more python documentation (e.g. https://docs.python.org/3/howto/logging.html), warnings.warn is for if the warning can be avoided in the clients application, while logging.warning is when the situation should be noted. This makes more sense when warning the user that a new experiment uuid is being generated.

Wondering whether it'll be worth using logging.warning instead of warnings.warn for metadata warnings as reading more python documentation (e.g. https://docs.python.org/3/howto/logging.html), warnings.warn is for if the warning can be avoided in the clients application, while logging.warning is when the situation should be noted. This makes more sense when warning the user that a new experiment uuid is being generated.

Sounds like good idea.


bug in locksrcreen (skips the password)

i´m using this (https://www.youtube.com/watch?v=whAi_y_LfEE) and when i lock screen if i click (super / windosbutton) it just bypasses the password

zero information, wrong bug tracker

sorry, i just realize now the bug is in swaylock .
is there a swaylock page to submit this bug?


FP for commented out code

This is reported in VS Code - but not on the SQ web page or in PDSOE:

What is the value of the parameter ?

How is that relevant? Which keyword is "Windows" ? How can that be source code?
Here's the part from cabl.json.
    {
      "name": "CommentedOutCode",
      "class": "eu.rssw.antlr.proparse.checks.CommentedOutCode",
      "parameters": [
        {
          "name": "minTokens",
          "value": 0
        },
        {
          "name": "ignoreSingleLineComments",
          "value": true
        },
        {
          "name": "ignoreJavadocComments",
          "value": true
        }
      ]
    },

The parser is executed on the content of the comment, but without the last layers where variable names are recognized. In this case, Windows is recognized as an ID token, which in turn is recognized as an expression statement with a single Token.
That's the reason why there's an attribute to control the minimum number of tokens in this rule.

Why isn't this reported withing SQ?
Holen Sie sich Outlook für Androidhttps://aka.ms/AAb9ysg

From: Gilles QUERRET @.>
Sent: Wednesday, April 6, 2022 8:45:23 PM
To: vscode-abl/vscode-abl @.>
Cc: Mike Fechner @.>; Author @.>
Subject: Re: [vscode-abl/vscode-abl] FP for commented out code (Issue #22)
The parser is executed on the content of the comment, but without the last layers where variable names are recognized. In this case, Windows is recognized as an ID token, which in turn is recognized as an expression statement with a single Token.
That's the reason why there's an attribute to control the minimum number of tokens in this rule.
—
Reply to this email directly, view it on GitHubhttps://github.com/vscode-abl/vscode-abl/issues/22#issuecomment-1090611291, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADE3WEYKL52ZLJBDGL2VAGLVDXLUHANCNFSM5SUYVMDA.
You are receiving this because you authored the thread.Message ID: @.***>

Because the minTokens attribute has a different value in your quality profile ?

Confirmed. Sorry for missing that.


Should the EFCore.FunctionalTests project exist?

I thought we renamed it to Microsoft.EntityFrameworkCore.Specification.Tests, but there are still a few source files there...

@bricelam I think these are tests that are not useful as abstractions that each provider should test, but rather test non-provider specific behavior of the core. That being said, we could move them, but then they would run multiple times with no differences.

They're fine as they are. I just wanted to make sure they're intentional and not the result of a bad merge.


NightlyNight

Thanks for submitting your project to be featured in the Open Leadership Zone at MozFest 2017 :sparkles:
This is open to any project in Mozilla Open Leaders round 4 -- even if you're not coming to MozFest. This process ensures that you're following open practices and will help set you up for a sustained contributor community afterwards. If you have any questions, feel free to reach out to @acabunoc or ask questions in our chat room.
Open Project Checklist :clipboard:
Your project must complete the following to be a featured on Mozilla Pulse and the Open Leadership Zone at MozFest 2017. As you complete each exercise, check off the box and comment with a link to your completed resource. This template repository is here to help you if you get stuck!

[x] Complete Open Leadership 101
[x] Provide a GitHub repository for work and discussion on your project in a comment

new to GitHub?  Here's a step-by-step guide on using the #mozfest template

[x] Create file: README.md in your project repository. This file should help newcomers understand what your project is, why it's important, and kinds of help you're looking for.
[x] Create file: LICENSE to give your project an open license, allowing for sharing and remixing.
[x] Create file: CONTRIBUTING.md so others know how they can contribute. If you'd like, you can remix this template
[x] Create file: CODE_OF_CONDUCT.md. This can be the Mozilla Community Participation Guidelines or a code of conduct of your choice
[x] Turn on your Issue Tracker and create issues to describe each task that you need help with and how a contributor can get started on that task. If you're participating in Hacktoberfest, Create a label called hacktoberfest and apply it to your issues.

Ready to be featured :tada:

[x] Fill out this form to submit your project to Mozilla Pulse. Add the tag open leadership zone.
[ ] Leave a comment on this issue with the text This is ready for the Open Leadership Zone. @acabunoc will review this issue. If accepted, your project will be approved on Mozilla Pulse and featured in the Open Leadership Zone.

If you get stuck at any point, feel free to look at the project templates or reach out to your mentor or @acabunoc. We're here to help you through this process.

Hey @siclemx! Gentle reminder that there's only one week to MozFest :) I'd love to see you project featured in the Open Leadership Zone!

Ok @acabunoc tomorrow will be ready :)

This is ready for the Open Leadership Zone.  @acabunoc

https://github.com/LIDSOL/nightlynight

Thansk @siclemx! You're in the open leadership zone 🎉
Pulse: https://www.mozillapulse.org/entry/509


Taxonomy: Create new topic landing pages

We'll need the following 4 tasks completed before creating and mapping the new categories in Expression Engine.
A) Sara - Develop rules for what gets surfaced.
B) Editors - Copy for each of these new pages:

Mobile & Devices
HTML & CSS
JavaScript
Performance
Backend
Content Strategy & Writing
Interface Design
Responsive Design
Typography
Accessibility & Usability
Information Architecture
Research
Business & Product
Process
Web Industry
Personal & Career

C) Design from Mike
D) Implementation from Tim and Michelle

Priorities have shifted away from taxonomy work.  Closing to revisit another day.


Sourcemap for ESM build is not working properly

🐛 Bug report
Current Behavior
It seems the sourcemap for the ESM build is not working properly. I tried using the source-map package to locate the original source by providing the sourcemap and a position number of one of the lines in the transpiled ESM output. I couldn't get any result. On the other hand, when I tried with the CJS build, I was able to get an expected result. Therefore I suspect that there is something wrong with the sourcemap of the ESM build.
Expected behavior
I expect to be able to find the corresponding line and column number of the original source file if I can provide the line and column number of the transpiled ESM output and its sourcemap.
Reproducible example
First grab the npm package and unpack it (I've only tested with the latest stable release - v1.5.8).
npm pack<EMAIL_ADDRESS>tar -xf formik-1.5.8.tgz

And then move to the extracted directory and install source-map
cd package
npm install source-map

Then create a new file called validate-sourcemap.js and paste in the following code:
const { readFileSync } = require('fs');
const { SourceMapConsumer } = require('source-map');

new SourceMapConsumer(readFileSync('./dist/formik.esm.js.map').toString())
    .then(smc => {
        console.log(smc.originalPositionFor({ line: 739, column: 4 }));
    });

If you run the script, i.e.: node ./validate-sourcemap.js, you should see the following output in your shell:
{ source: null, line: null, column: null, name: null }

If you try it with the sourcemap of the CJS bundle and provide a position that corresponds to the position you provided earlier for the ESM sourcemap i.e.:
new SourceMapConsumer(readFileSync('./dist/formik.cjs.development.js.map').toString())
    .then(smc => {
        console.log(smc.originalPositionFor({ line: 571, column: 4 }));
    });

You will get the expected result:
{ source: '../src/Formik.tsx', line: 685, column: 2, name: null }

If there's no problem with the ESM sourcemap, you should get the same result as above.
Suggested solution(s)
This issue could be caused by a configuration issue or an issue with the build tool itself. I had a quick look at your rollup config but I couldn't see anything suspicious. I also tried with another rollup project that produces ESM bundles but couldn't replicate the issue. The validation code comes from this article written by the Sentry team. I used this code few times before and it worked as expected so the verification test should be reliable. These are the things I've tried so far and couldn't come up with a fix yet.
Your environment

Software
Version(s)

Formik
1.5.8

React

TypeScript

Browser

npm/Yarn

Operating System

I'm also running into this issue. Any updates on this?


zip function or extended for syntax

I propose a zip function modeled on the one found in python, or more accurately, zipWith as found in Haskell. For example zip f [1 2 3] [10 20] should run f 1 10 and then f 2 20, and then stop, since one of the input lists has been exhausted.
Here is a reference implementaion, in pure elvish:
fn zip [f xs ys]{
  local:x = 0
  local:y = 0
  while (not (or (eq $xs []) (eq $ys []))) {
    x @xs = $@xs
    y @ys = $@ys
    $f $x $y
  }
}

Of course, it may be desirable to allow an arbitrary number of lists.
Alternatively, and I am beginning to think this is a better alternative, extend the for syntax to allow several variables and lists. Then my reference implementation of zip could be written as
fn zip [f xs ys]{
  for x $xs y $ys { f x y }
}

which is so simple that we might as well forget about it.
What to do if the lists are of different lengths? I see three options:

Raise an exception
Stop early, like my reference implementation does
Introduce a new special variable $nil and pretend that the shorter lists ended with $nil values

If the final option is chosen, I wold propose that $nil is treated a bit like a ´NULLvalue in SQL: Any builtin operation involving$nilwill produce another$nil`. Whether or not this is useful or harmful will require some thought.

The more I think of this, the more I think I am in favour of adding multivariable for, not the zip function. But if the latter is favoured, name it zip-with or similar (etymology; Haskell's zipWith) to avoid shadowing the useful e:zip.


the WriteSection(dspy.Signature) class and the AnswerQuestion(dspy.Signature) class

Hello team.
First of all, congratulations on your great work. I have a question about the final report creation of the co-storm.

Whether the WriteSection(dspy.Signature) class or the AnswerQuestion(dspy.Signature) class has the biggest impact on how the system writes reports and citations.

Can you show me the workflow to create a complete report on a certain topic and what role the two classes above will play in the workflow.

Thanks a lot.

@Yucheng-Jiang


Add status mocking to Local Development Guide

Added an example gameserver.yaml configuration that includes the schema for the status object that will be returned during GameServer() and WatchGameServer() calls.

Gentle bump on this, see if we can get the CLA signed?

@markmandel Sorry, still waiting on approval from legal. I'll definitely ping this thread again when that happens.

No worries. I'll just occasionally ping you :smile: make sure it doesn't drop off the radar!

Time for a regular check in :smile:

@markmandel Still waiting on approval. I'll message you with more details.

Back again for a gentle bump.

Where have we ended up in this?
Also, how relevant is it still, given the changes we've recently made to the local tooling?

Any update on this, otherwise I might just close this for now.

I'm going to clean things up, and close this for now. If you end up getting legal approval, please feel free to reopen :+1:


False positive on Assert::upper() always evaluates as true

Hello I just updated phpstan-webmozart-assert to v1.0.7 and my codebase started reporting this error:
Call to static method Webmozart\Assert\Assert::upper() with non-empty-string will always evaluate to true.

It's failing in the following class construct
final class CityCode
{
    private function __construct(private string $cityCode)
    {
    }

    public static function fromString(string $cityCode) : self
    {
        Assert::length($cityCode, 3);
        Assert::upper($cityCode);

        return new self($cityCode);
    }
}

I'm not using the non-empty-string type assertion anywhere so it must be resolved from the length assertion, however that doesn't ensure what upper is doing.
Thank you for looking into this, and all your great work.

I broke this and will look into it

@p4veI are you using the phpstan-strict-rules extension too?

@p4veI are you using the phpstan-strict-rules extension too?

Yes, I am.

@ondrejmirtes there are more global problems related to ImpossibleCheckTypeStaticMethodCallRule and my last 2 features (19b869e1506c6a63fcaa05cd0c213abf0e9ca9b5 and 90091355b55dab2ad45fa1cf88b7114523940c09). Maybe only triggered if phpstan-strict-rules is used too. See also https://github.com/phpstan/phpstan-webmozart-assert/pull/86#issuecomment-1013684336 where I tried to initially fix it but failed.
As I know how busy you are - maybe it makes sense to just revert those 2 commits for now? I'd like to add integration / regression tests then too to avoid such failures in the future.

Created #89 which fixes this and adds the longed-for regression test

@herndlm Thanks for trying to improve PHPStan's extensions, things like this happen, don't let it discourage you to try again 💙

@ruudk thx. Yeah, don't worry about that 😅


ValueError: 9216 is not a valid InputAttack

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tkinter_init_.py", line 1705, in call
File "tkinter_init_.py", line 749, in callit
File "tekken\launcher.py", line 67, in __update_launcher
File "tekken_game_state.py", line 74, in update
File "tekken\process_io_manager.py", line 90, in update
File "tekken\game_reader.py", line 384, in get_updated_state
File "tekken\game_reader.py", line 571, in initialize_bots
File "tekken\bot_snapshot.py", line 73, in init
File "e:\portable_dev_tools\python\python3_7\lib\enum.py", line 310, in call
File "e:\portable_dev_tools\python\python3_7\lib\enum.py", line 564, in new
File "e:\portable_dev_tools\python\python3_7\lib\enum.py", line 548, in new
File "e:\portable_dev_tools\python\python3_7\lib\enum.py", line 577, in missing
ValueError: 9216 is not a valid InputAttack

Any context when this happened? Online mode? Characters being used?

I'm playing Bryan against King, ranked online. I've gotten the same error (not the same numbers) against a handful of other characters, Lei being the only one I remember for certain.

I don't know the meaning of those new values yet, so I have implemented a quick solution that ignores those values and treats them as Null:
https://github.com/Alchemy-Meister/TekkenBot/releases/tag/0.1.19b2
More testing and feedback is need before I can release this build publicly

Closing as stated on #13


[ENG-4551] Cesium/second batch of bug fixes

Ticket: ENG-4551
Feature flag: n/a

Purpose
More small bug fixes for the cesium release. Best reviewed commit-by-commit, I believe.
Summary of Changes
See commit list.

Makes sense. I've restricted it to just those two classes.


SASS variables for callout background colors

If I want to change the border color of a certain callout class, I can easily set the respective SASS variable $callout-border-secondary, $callout-border-success, $callout-border-warning or $callout-border-alert.
But unfortunately there is no way to specify the background color in a similar manner. So it would be nice to have SASS variables to set the background color. For example: $callout-background-secondary, $callout-background-success, $callout-background-warning or $callout-background-alert.
Issue #767 already addressed the same problem.

Hi @wynksaiddestroy,
So this issue here is a duplicate then?

Hi @wynksaiddestroy,
So this issue here is a duplicate then?

More or less. I tried to make the problem a bit more clearer. But it in the end we both address the same issue.

Ok, then it's better to close this here as duplicate.


[popups] popups no longer work

In the class diagram example, only a thick line appears.

We're using the wrong JSX factory in html-views.tsx


[Feature] Support the different type resource in order to deploy in cluster

In application, there will render different type resource, such as deployment, configmap, secret, service, ingress, then they are deployed in parallel under one policy，BUT we expect these resources can deploy in one specified order for some reason, such as ["configmap","deployment","service","ingress"]

In some scenarios:

if configmap exists, deployment generates pod earlier than configmap, pod may restart out of user's expect when applications are deloyed
in some business scenarios, business traffic can come into the pod when pod in ready
better to control the deploy processing in resource type level

In some scenarios:

if configmap exists, deployment generates pod earlier than configmap, pod may restart out of user's expect when applications are deloyed
in some business scenarios, business traffic can come into the pod when pod in ready
better to control the deploy processing in resource type level

This is similar to providing the ability to describe dependencies within the component.

Is this what you need? https://kubevela.net/docs/v1.2/end-user/workflow/component-dependency-parameter
Maybe you could specify all your Components and use "dependsOn" to control their order.

@StevenLeiZhang
Not exact.
I expect all resources related one component to deploy in order. For example, When one component typed webservice , and with on storage trait and one route trait are deployed, they are  in such order——firstly resources related storage trait to deploy, then component to deploy, lastly route trait to deploy.

@StevenLeiZhang Not exact. I expect all resources related one component to deploy in order. For example, When one component typed webservice , and with on storage trait and one route trait are deployed, they are in such order——firstly resources related storage trait to deploy, then component to deploy, lastly route trait to deploy.

Ok, I get your point. I think this feature requests one more powerful "pipeline" to control apply procedure.

If users must be heeded with all k8s resources, it is not our goal. so, we could design a user invisible mechanism to resolve potential problems

There is a key should be declared, is the order of one component's resource be strict?  Example.

There is stll one point that needs further declared. The secret or cm's scenarios is well known, but if the componnet's resource is a Custom Resource with status we should clarify such a point:
Is the CR must ready for the next step in the "order pipeline"?

@barnettZQG  The goal of this case is invisible for users, but  to orchestrate the resource deploying procedure on platform's side.

@fourierr  The desired is according to the expect status to run the next step.

This proposal aims to solve the dependencies between comp and trait, trait and trait within a component


Repeating inbound connection failure - EOF: read handler closed

Background
Every second or so, I am getting these logs repeating over and over:
2022-01-15 19:27:00.643 [INF] SRVR: New inbound connection from <IP_ADDRESS>:59790
2022-01-15 19:27:00.644 [INF] SRVR: Finalizing connection to 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:59790, inbound=true
2022-01-15 19:27:00.801 [INF] PEER: NodeKey(027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1) loading ChannelPoint(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0)
2022-01-15 19:27:00.801 [INF] HSWC: Removing channel link with ChannelID(9b585ceb9ee1c18656e8dd9bc4eccac31d066cb97f1b98e720f71300a032d47f)
2022-01-15 19:27:00.801 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): starting
2022-01-15 19:27:00.801 [INF] HSWC: Trimming open circuits for chan_id=680608:1005:0, start_htlc_id=24
2022-01-15 19:27:00.802 [INF] HSWC: Adding live link chan_id=9b585ceb9ee1c18656e8dd9bc4eccac31d066cb97f1b98e720f71300a032d47f, short_chan_id=680608:1005:0
2022-01-15 19:27:00.802 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): HTLC manager started, bandwidth=330294369 mSAT
2022-01-15 19:27:00.802 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): attempting to re-synchronize
2022-01-15 19:27:00.802 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0)
2022-01-15 19:27:00.802 [INF] PEER: Negotiated chan series queries with 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1
2022-01-15 19:27:00.802 [INF] DISC: Creating new GossipSyncer for peer=027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1
2022-01-15 19:27:00.802 [INF] NTFN: New block epoch subscription
2022-01-15 19:27:00.852 [INF] PEER: unable to read message from 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:59790: EOF
2022-01-15 19:27:00.852 [INF] PEER: disconnecting 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:59790, reason: read handler closed
2022-01-15 19:27:00.953 [INF] DISC: Removing GossipSyncer for peer=027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1
2022-01-15 19:27:00.953 [INF] HSWC: Removing channel link with ChannelID(9b585ceb9ee1c18656e8dd9bc4eccac31d066cb97f1b98e720f71300a032d47f)
2022-01-15 19:27:00.954 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): stopping
2022-01-15 19:27:00.955 [WRN] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): error when syncing channel states: link shutting down
2022-01-15 19:27:00.955 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): exited

2022-01-15 19:27:02.292 [INF] SRVR: New inbound connection from <IP_ADDRESS>:59794
2022-01-15 19:27:02.293 [INF] SRVR: Finalizing connection to 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:59794, inbound=true
2022-01-15 19:27:02.446 [INF] PEER: NodeKey(027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1) loading ChannelPoint(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0)
2022-01-15 19:27:02.447 [INF] HSWC: Removing channel link with ChannelID(9b585ceb9ee1c18656e8dd9bc4eccac31d066cb97f1b98e720f71300a032d47f)
2022-01-15 19:27:02.447 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): starting
2022-01-15 19:27:02.447 [INF] HSWC: Trimming open circuits for chan_id=680608:1005:0, start_htlc_id=24
2022-01-15 19:27:02.447 [INF] HSWC: Adding live link chan_id=9b585ceb9ee1c18656e8dd9bc4eccac31d066cb97f1b98e720f71300a032d47f, short_chan_id=680608:1005:0
2022-01-15 19:27:02.447 [INF] NTFN: New block epoch subscription
2022-01-15 19:27:02.447 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0)
2022-01-15 19:27:02.447 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): HTLC manager started, bandwidth=330294369 mSAT
2022-01-15 19:27:02.448 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): attempting to re-synchronize
2022-01-15 19:27:02.448 [INF] PEER: Negotiated chan series queries with 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1
2022-01-15 19:27:02.448 [INF] DISC: Creating new GossipSyncer for peer=027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1
2022-01-15 19:27:02.504 [INF] PEER: unable to read message from 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:59794: EOF
2022-01-15 19:27:02.505 [INF] PEER: disconnecting 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:59794, reason: read handler closed
2022-01-15 19:27:02.605 [INF] DISC: Removing GossipSyncer for peer=027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1
2022-01-15 19:27:02.606 [INF] HSWC: Removing channel link with ChannelID(9b585ceb9ee1c18656e8dd9bc4eccac31d066cb97f1b98e720f71300a032d47f)
2022-01-15 19:27:02.606 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): stopping
2022-01-15 19:27:02.606 [WRN] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): error when syncing channel states: link shutting down
2022-01-15 19:27:02.606 [INF] HSWC: ChannelLink(7fd432a00013f720e7981b7fb96c061dc3caecc49bdde85686c1e19eeb5c589b:0): exited

Is there something wrong and is there a way to resolve it?
I tried restarting LND but that did not resolve this issue.
Your environment

"version": "0.14.1-beta commit=v0.14.1-beta",  "commit_hash": "6042004edaaa5b3cad0a0808ff23dba4716f7178",

Linux prod 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 Linux
bitcoind v22.0.0
docker

Sounds like that other node might have a problem and is tripping over a message that your nodes sends when re-establishing the channel. I'd try to contact the node owner somehow, see if they see something in their log.

Could you share more logs before and after this EOF? Something like Already have outbound connection for or Already have inbound connection for?

lnd.log
I couldn't find anything like that around the EOF. Does anything in the above log file help?

@thorie7912 removed the link to the logs as it may contain private info.

Are you able to reach out to this peer <IP_ADDRESS> as suggested by @guggero ? What happens when you manually connect to it?

Haven't been able to reach them or contact them. I tried ping and also connecting to port 9735 but no response or hangs. Still digging into it, and I'll let you know what I find.

I was able to connect:
bash-5.1# nc -vz <IP_ADDRESS> 9735
<IP_ADDRESS> (<IP_ADDRESS>:9735) open
bash-5.1# lncli connect 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:9735
{

}

But the same EOF error keeps repeating every second.

I enabled some trace level debugging to see if it might help:
2022-01-18 07:13:28.103 [INF] PEER: Negotiated chan series queries with 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1                                                                 │··
2022-01-18 07:13:28.105 [INF] DISC: Creating new GossipSyncer for peer=027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1                                                                  │··
2022-01-18 07:13:28.105 [TRC] PEER: Update stream for gossiper created                                                                                │··
2022-01-18 07:13:28.105 [DBG] PEER: Sending ChannelReestablish(next_local_height=1866, remote_tail_height=1865) to 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:43880 │··
2022-01-18 07:13:28.105 [TRC] PEER: writeMessage to 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:43880: (*lnwire.ChannelReestablish)(0xc00b0ea620)({                  │··
 ChanID: (lnwire.ChannelID) (len=32 cap=32) 9b585ceb9ee1c18656e8dd9bc4eccac31d066cb97f1b98e720f71300a032d47f,                                                                                │··
 NextLocalCommitHeight: (uint64) 1866,                                                                                │··
 RemoteCommitTailHeight: (uint64) 1865,                                                                                │··
 LastRemoteCommitSecret: ([32]uint8) (len=32 cap=32) {                                                                                │··
  00000000  26 be d7 2f db c2 79 34  bf bb 01 7c 7b 0b 9a f4  |&../..y4...|{...|                                                                                │··
  00000010  a3 17 9b 55 c0 f5 2d 84  44 9d 9a c4 0e 2b a5 65  |...U..-.D....+.e|                                                                                │··
 },                                                                                │··
 LocalUnrevokedCommitPoint: (*btcec.PublicKey)(0xc008ac21a0)({                                                                                │··
  Curve: (elliptic.Curve) <nil>,                                                                                │··
  X: (*big.Int)(0xc008ac2160)(105598992955538229048115348110018263511117220841549366898510193856223106220136),                                                                                │··
  Y: (*big.Int)(0xc008ac2180)(62658966178689956542289505811105372311153469013257771793993422286056988169145)                                                                                │··
 }),                                                                                │··
 ExtraData: (lnwire.ExtraOpaqueData) <nil>                                                                                │··
})                                                                                │··
                                                                                │··
2022-01-18 07:13:28.129 [INF] PEER: unable to read message from 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:43880: EOF                                               │··
2022-01-18 07:13:28.129 [INF] PEER: disconnecting 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:43880, reason: read handler closed                                     │··
2022-01-18 07:13:28.130 [TRC] PEER: readHandler for peer 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:43880 done                                                      │··
2022-01-18 07:13:28.130 [TRC] PEER: Update stream for gossiper exited                                                                                │··
2022-01-18 07:13:28.130 [TRC] PEER: writeHandler for peer 027c948a8beed67402ea9ed0e8366064cd4987d141be1a4bfabbe9582f06bbadd1@<IP_ADDRESS>:43880 done

Closing this out for now as all we get is that the other side hung up on the connection. If we get more information, then there may be something we can do here. Otherwise, peers like this are good candidates for not maintaining channels with, as they're unreliable.


Automated Package Upgrade

:tada: This PR is included in version 12.4.157 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add bucket workflow from map browser is confusing

When selecting scenes from map page and clicking "Add to bucket" the modal includes an option to create bucket.
After creating a bucket I expected the scenes to be added to the bucket, but that didn't happen. I had to select the bucket. I'm not sure if other people find this confusing or not.

Do you think it makes sense when creating the bucket to then select that bucket? This would still allow the user to add the scenes to other buckets as well if they wanted to.

Yeah, that's kind of what I was thinking.


npm run test show 'NODE_ENV' is not recognised as an internal or external command

when running npm test in windows i face the problem like #162
NODE_ENV' is not recognised as an internal or external command
> NODE_ENV=babel jest --no-cache && npm run size && lint-md ./
'NODE_ENV' is not recognised as an internal or external command.....

my machine env
environment : windows7
node : v7.6.0
but after i run the test  on my RedHat machine, it works!!!!
so i google it NODE_ENV is not recognised as an internal or external command, people met this problem maybe  the command varies from the unix system command that you are using.
i found a solution

npm install cross-env

modified the package.json by add cross-env before NODE_ENV.....
"test": "cross-env NODE_ENV=babel jest --no-cache && npm run size && lint-md ./"

if u think it's a good idea, i would like to PR for it by following

install cross-env: npm install cross-env --save

insert cross-env before NOE_ENV cross-env NODE_ENV

Ok, you can give me a pr, thanks.


edit the test to pass in order to configure the automation in github

this integrate a correction on test file in order to proper configure the automation tests


M3-889 add borders to tables within expansion panels

Coverage remained the same at 28.04% when pulling bc22b7a118d3e57f73d3f6e0f1055cd9e45336d2 on alioso:M3-889 into 622a7e5d91b7f153a22ca7492f234fbdcebf29c9 on linode:develop.


[Bug]: Allow space before 'export default{}'

Is there an existing issue for this?

[X] I have searched the existing issues

Description
In JS object, if one adds an empty space before "export default {}", it throws an error saying
Start object with export default at: undefined. We should allow users to add space before object starts

Steps To Reproduce

Create JS object
Enter before "export default"
throws error

Public Sample App
No response
Environment
Production
Severity
Low (Cosmetic UI issues)
Issue video log
No response
Version
CLoud

Hello, I am interested in picking up this issue as part of my first open source contribution. I am a student contributing as an assignment in university so any guidance as to where to start would be much appreciated. Thank you!

Hello @ApekshaBhosale , I'm picking this issue.


Add support for enums

Right now upmin-admin (0.1.01) does not handle enums at all.
They are displayed as integers in the search panel, and attempt to update record with enums causes problems as upmin admin sets value of the enum field to null by default.

Hi @mspanc mspanc, this is a dup of #93 and is fixed in master with #105.


Receiver verticle should use a File object for TLS secrets instead of raw strings

Describe the bug
Instead of keeping a string as the secrets file path, we should keep a File object
https://github.com/knative-extensions/eventing-kafka-broker/blob/1ddc8235e12ed786802a6b6f30e587c8cd9c4220/data-plane/receiver/src/main/java/dev/knative/eventing/kafka/broker/receiver/impl/ReceiverVerticle.java#L77-L79
so that we don't need to create a File object every time:

https://github.com/knative-extensions/eventing-kafka-broker/blob/1ddc8235e12ed786802a6b6f30e587c8cd9c4220/data-plane/receiver/src/main/java/dev/knative/eventing/kafka/broker/receiver/impl/ReceiverVerticle.java#L238-L239
https://github.com/knative-extensions/eventing-kafka-broker/blob/1ddc8235e12ed786802a6b6f30e587c8cd9c4220/data-plane/receiver/src/main/java/dev/knative/eventing/kafka/broker/receiver/impl/ReceiverVerticle.java#L179
https://github.com/knative-extensions/eventing-kafka-broker/blob/1ddc8235e12ed786802a6b6f30e587c8cd9c4220/data-plane/receiver/src/main/java/dev/knative/eventing/kafka/broker/receiver/impl/ReceiverVerticle.java#L133-L138

Knative release version
main, release-1.11
Additional context
/kind cleanup
/kind performance

/assign

@pierDipi is this resolved now that #3371 is merged?

Yes, thanks!


Replace gitter link with slack link

And also, I notice, that we don't seem to have slack links in the nf-core/tools template.
Is this normal?

Hey! Actually, the current dev template shouldn't have gitter links in it anymore. Thanks for spotting htis


Rename info.json to info.json dash1122

Hey @DamianWilliams1122  this info are not a valid token, what do you want to submit?


Bug: Can not use .Version()

Describe the bug
{
  "error": "cbor: cannot unmarshal UTF-8 text string into Go struct field connection.RPCResponse[github.com/surrealdb/surrealdb%2ego.VersionData].result of type surrealdb.VersionData"
}

Steps to reproduce

Create a connection
Call .Version()
Read resulting Error

Expected behaviour
A string containing the version
SurrealDB version
2.0.4/Docker
Contact Details
<EMAIL_ADDRESS>Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I did some triaging on this. Turns out the error returned is: provided method is not allowed


Querying eq operator not working when using GSI composite SK.

Note: If your question is regarding the AWS Amplify Console service, please log it in the
AWS Amplify Console repository

Which Category is your question related to?
amplify schema, cli and AppSync
Amplify CLI Version
5.6.0
Issue
I have been trying to resolve an issue for the last few days and cannot work out why the "eq" operator on my query is refusing to yield results. I have a transaction schema with a composite SORT KEY. I have results and all other operators i.e. beginsWith, le, gt etc all work and return the correct results, however, "eq" returns nothing. Why?
It is understanding that with a composite SK I can query on one or more of the fields that make up that key. However, this does not seem to be the case. It seems like eq operator has to match the whole string i.e value#value.
My key:
# byAccountCategory: GSI with composite SORT using a combination categoryCode & sortIndex (sort direction) i.e 1021#00000691.
@key(name: "byAccountCategory", fields: ["accountOBConnectID", "categoryCode", "sortIndex"], queryField: "transactionByCategory")

Works beginsWith:
query MyQuery {
  transactionByCategory(accountOBConnectID: "da086ebb-46d7-42d7-b4c9-d6b96e6b551f", categoryCodeSortIndex: {beginsWith: {categoryCode: 100}}) {
    items {
      amount
      categoryName
      categoryCode
      sortIndex
      typeName
      typeCode
    }
  }
}

Returns
{
  "data": {
    "transactionByCategory": {
      "items": [
        {
          "amount": "1801.24",
          "categoryName": "Salary",
          "categoryCode": 100,
          "sortIndex": "0000000134",
          "typeName": "Income",
          "typeCode": 1
        },
        {
          "amount": "1801.44",
          "categoryName": "Salary",
          "categoryCode": 100,
          "sortIndex": "0000000296",
          "typeName": "Income",
          "typeCode": 1
        }, etc....

Operator ge works...
query MyQuery {
  transactionByCategory(accountOBConnectID: "da086ebb-46d7-42d7-b4c9-d6b96e6b551f", categoryCodeSortIndex: {ge: {categoryCode: 100}}) {
    items {
      amount
      categoryName
      categoryCode
      sortIndex
      typeName
      typeCode
    }
  }
}

However, when I try to use the operator 'eq' I get no results where I should have over 10.
Not working...
query MyQuery {
  transactionByCategory(accountOBConnectID: "da086ebb-46d7-42d7-b4c9-d6b96e6b551f", categoryCodeSortIndex: {eq: {categoryCode: 100}}) {
    items {
      amount
      categoryName
      categoryCode
      sortIndex
      typeName
      typeCode
    }
  }
}

Results:
{
  "data": {
    "transactionByCategory": {
      "items": []
    }
  }
}

What I'm I doing wrong?
What I have tried.

I have data and it is valid.
I have run the queries in the Appsync console to make sure this is not code related.
Permissions are correct. In fact, if I get data for the other operators there is no reason why eq should not work
Filters with the eq operator work but just not a query using a GSI SK

Schema
type Transaction
@model
@aws_cognito_user_pools
@auth(rules: [
      # Cognito users in Admin Group operations.
      { allow: groups, groups: ["Admin"], operations: [read]},
      # Dynamic group authorisation on the record.
      { allow: groups, groupsField: "groupsCanAccess", operations: [read]}
      ])

# byAccountCategory: GSI with composite SORT using a combination categoryCode & sortIndex (sort direction) i.e 1021#00000691.
@key(name: "byAccountCategory", fields: ["accountOBConnectID", "categoryCode", "sortIndex"], queryField: "transactionByCategory")
{
    # Core Transaction Fields.
    id: ID! # Unique identifier for the transaction within an servicing institution.
    accountID: ID! # A unique and immutable identifier used to identify the account resource.
    accountOBConnectID: ID! # Used to identify the account resource
    applicantID: ID! # Unique identifier for the Applicant.
    groupsCanAccess: [String]! # Which Cognito user group(s) can access this record.
    sortIndex: String! # A string assigned to the transaction to ensure a stable sort. A smaller index value corresponds to a more recent Transaction.
    amount: String! # A number of monetary units specified in an active currency.
    # Classification Fields.
    typeName: String # Name of the classification type.
    typeCode: Int # Classification type code
    categoryName: String # Name of the category.
    categoryCode: Int
}

Logs:
{
    "logType": "RequestMapping",
    "path": [
        "transactionByCategory"
    ],
    "fieldName": "transactionByCategory",
    "resolverArn": "arn:aws:appsync:eu-west-1:956388132785:apis/ja4l5riza5bglc6iym7jreyu4i/types/Query/resolvers/transactionByCategory",
    "requestId": "80d018fe-a193-4a0b-a67a-59857bff5595",
    "context": {
        "arguments": {
            "accountOBConnectID": "da086ebb-46d7-42d7-b4c9-d6b96e6b551f",
            "categoryCodeSortIndex": {
                "eq": {
                    "categoryCode": 100
                }
            }
        },
        "stash": {},
        "outErrors": []
    },
    "fieldInError": false,
    "errors": [],
    "parentType": "Query",
    "graphQLAPIId": "ja4l5riza5bglc6iym7jreyu4i",
    "transformedTemplate": "                       \n  \n\n\n{\"version\":\"2018-05-29\",\"operation\":\"Query\",\"limit\":100,\"query\":{\"expression\":\"#accountOBConnectID = :accountOBConnectID AND #sortKey = :sortKey\",\"expressionNames\":{\"#accountOBConnectID\":\"accountOBConnectID\",\"#sortKey\":\"categoryCode#sortIndex\"},\"expressionValues\":{\":accountOBConnectID\":{\"S\":\"da086ebb-46d7-42d7-b4c9-d6b96e6b551f\"},\":sortKey\":{\"S\":\"100\"}}},\"index\":\"byAccountCategory\",\"scanIndexForward\":true}"
}

When using composite sort key, dynamoDB stores the data in the format FieldA#FieldB#FieldC, so all the key condition expressions work around that format. In your example, it is actually looking for categoryCode#sortIndex equal to 100.
Best Practices for Using Sort Keys to Organize Data
Here are the options I could think that would solve your problem.
Option 1:
Use beginsWith as shown below, this will return all records with categoryCode = 100.
query MyQuery {
  transactionByCategory(accountOBConnectID: "da086ebb-46d7-42d7-b4c9-d6b96e6b551f", categoryCodeSortIndex: {beginsWith: {categoryCode: 100, sortIndex: ""}}) {
    items {
      amount
      categoryName
      categoryCode
      sortIndex
      typeName
      typeCode
    }
  }
}

Option 2:
Create an another index with only categoryCode as sort key and use eq key condition expression.
Option 3:
Use @searchable directive. This provides more options for searching using OpenSearch.
https://docs.amplify.aws/cli/graphql-transformer/searchable/

Thank you for such a detailed response. @sundersc This really helped me to understand. Using your advice I decided to look at my access patterns and came up with a solution that allows this to work with a correct sort direction. again thank you

Hi friends 👋
Sorry to ping a closed issue, but mine is related.
I am having a similar issue using three-field composite keys and anything other than the beginsWith operator. I can't find any docs on how one might go about using the other operators (lt / le / gt / ge) with a composite key that includes an enum with a date field (createdAt).
It seems to me that the only operator that works in this case is beginsWith, is that right? If so, shouldn't this be documented?


Circular dependencies in test suites

In Clojure, tests are conventionally located in prefix.ns-test, it post a small challenge in using init. Because for example, if I use init to scan namespace prefix company, it would normally auto require all test case namespaces to form system graph, however, those integration test cases would normally need to import the system graph, which results in circular dependencies.
flowchart LR
    root[company.main] -->|Scan| test(company.main-test)
    test -->|need system graph| root

If I want to keep the clojure test namespace naming convention, there seems to be no good workaround for now. My current workaround leverage runtime (resolve) + kaocha hooks, but it's a bit ugly.
I wonder if it's worth to have a granular control when init do scan, perhaps, support filtering during scan?  For example, we can allow pass in a filter function to filter out certain namespaces, such as xxxx-test.

Hey @zhming0,
Thanks for reporting!
I wonder how you are scanning your namespaces? I try to keep init very modular, so that you can use the building blocks if the built-in tools do not do what you need.
For classpath scanning, init.discovery/scan combines searching, loading, and building a configuration. If you want to filter before loading, you can create your own scan function, e.g.:
(let [ns-names (->> (init.discovery/classpath-namespaces "company")
                    (remove #(str/ends-with? (name %) "-test")))]
  (run! require ns-names)
  (init.discovery/from-namespaces (map the-ns ns-names)))

Another option is to keep company.main super slim, so that you don't need to test it. My main namespaces usually contain little else then the -main function, which does not make sense for me to write tests for. Anything else can go to different namespaces, so that nothing depends on my main namespace.
I often also use a different name for the main namespace, e.g. company-project, so that it does not match the classpath scanning prefix. Otherwise we would end up require-ing ourselves in init.discovery/scan, which is usually not a problem, but might lead to weird behaviour, as the company.main namespace would not be fully loaded yet.
Maybe that works for you as well?

Thanks for the reply @ferdinand-beyer!
I normally scan my namespaces via (init/static-scan 'my-company). The custom scan option is valid, but that would also mean that I basically have to create two scans as well, one static for uberjar build, one dynamic for REPL. 🤔 I wonder if adding an optional param filter-fn to init's scan and static-scan will be a good option?
The option of keeping company.main slim isn't going to work in my case. I don't have test cases for company.main but other, my company.service.foo-test will need to require the system graph, that's why they will require company.main.
The last option of using difference name for main namespace doesn't seem to address the circular dependency either, company-project ns will require all tests to form system graph but test namespaces will require system graph to function. so it's the same error I guess.
So it sounds to me that option 1 is the only valid option and now the problem is whether it's a good idea to get init to support this feature. Is there a way to add such a feature without compromising modularity?

my company.service.foo-test will need to require the system graph so it can spin up a test system

I think this is the reason for your circular dependency. I normally don't do that, but instead write unit tests for components without spinning up a system. Since every component takes its dependencies as function arguments, this is quite straight-forward, and you can also pass test doubles as needed.
Since you spin up a test system, I assume you have sort some of integration test, and I see the value of testing the system that is actually built. For test systems, you often might want to replace some components with test doubles as well.
In your case a simple solution would be to put these tests in a different namespace, like company-test. A (static-scan 'company) would then pick up unit tests like company.component-test, that should not require a test system, but not company-test.integration-test.
You will still have a circular dependency if you scan for company in company.main though (company.main requires itself). A cleaner approach might be to only scan sub-paths, e.g. have a main namespace company.project-main, an integration test in company.project-main-test, but put all your components in namespaces with the prefix company.project.
Having said all that, I think adding a way to customise scanning might indeed be useful. As you suggested, maybe a function include? to test found namespaces.

Added include? and exclude? options in v0.2.94.
You can now do:
(discovery/static-scan '[company] :exclude? #(str/ends-with? % "-test"))

Thank you for taking care of this! Really appreciated! 🙇🏿 🙇🏿

@ferdinand-beyer I tried it out today, it doesn't seem to work. I think the code has a bug:
Signature of classpath-namespaces is [prefixes & {:keys [include? exclude?]}], however, when we use it, we used it like: (classpath-namespaces prefixes opts)
The same problem applies to the load-namespaces fn too

Hmmm, for some reason that I don't understand yet, although classpath-namespaces seems to work properly, when I do static-scan, it still requires those excluded namespaces.

Argh, that's probably because of macro expansion...
Since static-scan is a macro, it will pass {:exclude? '(constantly true)} to emit-static-scan. (constantly true) will not be evaluated, so it is a list of a symbol and a boolean, and not a function.
This will lead to: class clojure.lang.PersistentList cannot be cast to class clojure.lang.IFn.
I forgot to (eval) this :(
Even then, we need to make sure that we actually find something, or emit-static-scan will emit an empty (require).

@zhming0 -- can you try v0.2.96 please?

@ferdinand-beyer v0.2.96 works! Thanks a lot!


directory structure mixes infrastructure with contributions

src contains both core code (e.g. common, wf_utils) and community-contributed task code. For readability, I'd suggest splitting out core code from contributions. Same within tasks -- datasets, methods, and metrics shouldn't be intermixed with all the other stuff that only task leaders should care about

Can you clarify what you mean by this?
The current task structure is:
src/
  common/               # core code
  datasets/             # common datasets
  sometask/             # task-specific code
    api/
    methods/
    metrics/
    ...

I made a diagram of the structure as a whole (inspired by the images you made for the upcoming publication): https://main--openproblems.netlify.app/documentation/more_information/project_structure.html.
When adding a method or metric, a contributor only needs to worry about editing code in src/sometask/methods or src/sometask/metrics.
When adding a common dataset, a contributor does need to add a component to src/datasets/loaders. However, I don't think it would make sense to split the data loaders from the components that process the output of the dataset loaders.
We could move all of the tasks into a separate directory src/tasks, which would align the structure more to what's being used in the v1 repo:
src/
  common/               # core code
  datasets/             # common datasets
  tasks/
    sometask/             # task-specific code
      api/
      methods/
      metrics/
      ...

However for the original v2 repository I opted not to put all of the tasks in src/tasks but instead simply in src since it seems quite clear to me that the src/common and src/datasets directories are related to core functionality and functionality related to processing datasets, while other folders such as src/denoising contain the code for the Denoising task.

Currently what I see is:
src/
  batch_integration/ # for contributors
  common/ # for core team
  datasets/ # for core team
  denoising/ # for contributors
  dimensionality_reduction/ # for contributors
  label_projection/ # for contributors
  migration/ # for core team
  multimodal_data_integration/ # for contributors
  wf_utils/ # for core team

and then within each task
task/
  api/ # for task leader
  control_methods/ # for task leader
  methods/ # for contributors
  metrics/ # for contributors
  process_dataset/ # for core team?
  resources_scripts/ # for core team
  resources_test_scripts/ # for core team
  workflows/run/ # for core team
  README.md # for contributors

It's unclear just by looking at it that e.g. migration is not a task. I'd advocate strongly for separating tasks from other code, and ideally separating components (datasets, methods, metrics) from other code within each task.

Would you prefer this overall project structure, then?
src/
  common/ # for core team
  datasets/ # for core team
  migration/ # for core team
  tasks/ # for contributors
    batch_integration/
    denoising/
    dimensionality_reduction/
    label_projection/
    multimodal_data_integration/
  wf_utils/ # for core team

Within a task, the api, control_methods and process_dataset will need to be defined by the task leaders. The resources_scripts and workflows/run folders are things that I expect the task leaders should also be able to maintain, although I agree that the Nextflow code is currently a bit too complicated for that.
However, it's been a while since I last worked on the Nextflow code and with the current structure (with the api/ files and metadata that is in the config of the components), I should be able to simplify the generalize the code in those workflows quite well.
Therefore, the task structure should look something like this:
task/
  api/ # for task leader
  control_methods/ # for task leader
  methods/ # for contributors
  metrics/ # for contributors
  process_dataset/ # for task leader
  resources_scripts/ # for task leader
  resources_test_scripts/ # for task leader
  workflows/run/ # for task leader
  README.md # for contributors

I'd propose the following changes:

Move tasks from src/* to src/tasks/*
Document which folders are part of a tasks leader's responsibilities (part of the upcoming documentation)

Move tasks from src/* to src/tasks/*

+1. This would help a lot.

Document which folders are part of a tasks leader's responsibilities (part of the upcoming documentation)

Personally I'd rather
  resources_scripts/ # for task leader
  resources_test_scripts/ # for task leader
  workflows/run/ # for task leader

all go in a subdirectory called scripts or something like that.


Tab-Color doesn't move on drag and drop of a tab in splitview

When the third tab is colored in a split view in red and i move it to the first place, the new first tab is without color, the new third is red.
I would expect the tab to keep the color when moved.

thanks for reporting this, it seems that this issue occurs whether in split view or not, I'll look to it soon

A workaround seems to be to drag a color tab to another split view tile and then drag it back to the final destination tab menü. Then the color is correct in the end.

I have updated the extension with a fix to the issue, can you please confirm if it works on your end.
The adjustments should be applied once you close and reopen VS Code

Nice - I can confirm.


page.drawText() inserts spaces when using Thai font

What were you trying to do?
I am trying to use the page.drawText() function to render text in the Thai language
Why were you trying to do this?
To build an application that creates PDF files containing text written in the Thai language
How did you attempt to do it?
The steps I followed are:

Download Google Noto Sans Thai font
Embed the font in the pdf-lib PDF document
Invoke the page.drawText() function passing in the text in Thai

See code example provided in reproduction steps section below.
What actually happened?
The PDF file was successfully created but it seems some large spaces have been inserted into the Thai text in the PDF.
I've copied the text from the PDF and pasted below, notice the strange block characters which have been inserted.

แห่งได้เป􏰀ดขึ􏰁นแล้วในการขยายรถไฟใต้ดินลอนดอนครั􏰁งใหญ่ครั􏰁งแรกในศตวรรษนี

Those strange characters appear visually as large blank spaces in the PDF e.g like this:

แห่งได้เป   ดขึ  นแล้วในการขยายรถไฟใต้ดินลอนดอนครั   งใหญ่ครั   งแรกในศตวรรษนี

What did you expect to happen?
I expected the Thai text to be rendered as one continuous string without any strange characters or spaces inserted:

แห่งได้เปดขึนแล้วในการขยายรถไฟใต้ดินลอนดอนครังใหญ่ครังแรกในศตวรรษนี

How can we reproduce the issue?

Create a Node JS project folder e.g. called 'pdf-test'
cd pdf-test
npm init -y
npm i pdf-lib
npm i @pdf-lib/fontkit
Download Noto Sans Thai font from https://fonts.google.com/download?family=Noto Sans Thai
Unzip the font and copy the TTF file from Noto_Sans_Thai/static/NotoSansThai/NotoSansThai-Regular.ttf, paste the file into the the project folder pdf-test so it can be loaded by the index.js script below
Create a file called index.js and paste the code from below
Run the index.js file using the command node index.js which will create the PDF file containing some Thai text
Use a PDF viewer/browser e.g. Google Chrome to view the rendered PDF
Notice the spacing between some of the Thai text

const fs = require('fs');
const path = require('path');
const { PDFDocument, rgb } = require('pdf-lib');
const fontkit = require('@pdf-lib/fontkit');

(async function run() {

    const pdfDoc = await PDFDocument.create()
    pdfDoc.registerFontkit(fontkit)

    // Font downloaded from https://fonts.google.com/download?family=Noto%20Sans%20Thai
    // See also https://fonts.google.com/noto/specimen/Noto+Sans+Thai?query=thai
    const thaiFontBytes = fs.readFileSync(path.join(__dirname, './NotoSansThai-Regular.ttf'))

    const thaiFont = await pdfDoc.embedFont(thaiFontBytes)
    const page = pdfDoc.addPage()
    const { width, height } = page.getSize()

    const fontSize = 11
    page.drawText('แห่งได้เปิดขึ้นแล้วในการขยายรถไฟใต้ดินลอนดอนครั้งใหญ่ครั้งแรกในศตวรรษนี้', {
        x: 50,
        y: height - 2 * fontSize,
        size: fontSize,
        font: thaiFont,
        color: rgb(0, 0.53, 0.71),
    })

    const pdfBytes = await pdfDoc.save()
    fs.writeFile('thai-test.pdf', pdfBytes, () => console.log('PDF file saved.'))
})()

Version
1.16.0
What environment are you running pdf-lib in?
Node
Required Reading

[X] I have read www.sscce.org.
[X] My report includes a Short, Self Contained, Correct (Compilable) Example.
[X] I have read Smart Questions.
[X] I have read 45 GitHub Issues Dos and Don'ts.

Additional Notes
No response

I also face this problem. I guess the bug is in layoutEngine function in @pdf-lib/fontkit lib.

Hey,
I see the same issue here. When I write in document, using fonts by google api, sometimes is added an spaces " " in my text.
like this:

I'm looking for light 💡

same here with helvetica neue roman and helvetica neue condensed It inserts spaces, for example after the sequence of fi, but not after i or f by itself. For example Backoffice becomes Backoffi ce and fifi becomes fi fi

(for Thai font) the issue can be resolved when we use .embedFont(fontBytes, { subset: true });
Don't know why this help.

The effect in the first post is some bytes added to text outside of valid space for the charset. In PDF if there is no character for that byte-sequence (utf8 is multi-byte with variable length), a reader renders it as a space. While when you copy the text, the actual data with the added bytes is copied and when you paste it in a program that renders non-valid/non-printable "chars" as those "glyphs" (the squares in first post) containing the hex encoded "byte" or "2xbytes", instead of just rendering a "space". Some other programms might render it as a ?.

(for Thai font) the issue can be resolved when we use .embedFont(fontBytes, { subset: true }); Don't know why this help.

This solution is work for font Khmer also.

@akomm

same here with helvetica neue roman and helvetica neue condensed It inserts spaces, for example after the sequence of fi, but not after i or f by itself. For example Backoffice becomes Backoffi ce and fifi becomes fi fi

Try the following
await pdfDoc.embedFont(YOURFONT, {     features: { liga: false },   });
It definitely is a bug and in my opinion is an issue that should be fixed: https://github.com/Hopding/pdf-lib/issues/490

features: { liga: false }

this solution also works for Calibri fonts

(for Thai font) the issue can be resolved when we use .embedFont(fontBytes, { subset: true }); Don't know why this help.

This solution also works for Calibri fonts

(for Thai font) the issue can be resolved when we use .embedFont(fontBytes, { subset: true });
Don't know why this help.

This also worked for Noto Sans Thai, not sure why it works either, but I'll look into this.


az network public-ip create fails with ImportError

Command Name
az network public-ip create
Errors:
cannot import name 'BatchManagementClient' from 'azure.mgmt.batch' (/usr/lib/python3/dist-packages/azure/mgmt/batch/__init__.py)
Traceback (most recent call last):
python3/dist-packages/knack/cli.py, ln 233, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 558, in execute
    self.commands_loader.load_arguments(command)
...
network/private_link_resource_and_endpoint_connections/resource_providers/batch_provider.py, ln 6, in <module>
    from azure.mgmt.batch import BatchManagementClient
ImportError: cannot import name 'BatchManagementClient' from 'azure.mgmt.batch' (/usr/lib/python3/dist-packages/azure/mgmt/batch/__init__.py)

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

az network public-ip create --resource-group {} --name {} --sku {} --allocation-method {}

Environment Summary
Linux-5.10.0-kali9-amd64-x86_64-with-glibc2.31
Python 3.9.2
Installer: DEB

azure-cli 2.18.0 *

Extensions:
azure-devops 0.19.0

network

Please update cli version by command
az upgrade

Similar: https://github.com/Azure/azure-cli/issues/19122.
After running az upgrade, the problem was not resolved..


Convert self.body to a Buffer if it's a String to reduce mem usage

A performance regression was introduced in: https://github.com/request/request/commit/478e0c2#diff-ccc0734f65dd7a299409ff07d35be095L436 Strings have a larger overhead than Buffers, which can cause the process to run out of memory faster when POSTing large payloads.
This might be an edge case, but it's something I ran into in Artillery which uses Request for HTTP, and it is a regression in performance after 2.58.0.
Test case here:

https://gist.github.com/hassy/d161e728a97744ecdbbb - (warning, 18MB file)
https://gist.github.com/hassy/ed9fe0b2fff766a6fd96

I can create an isolated test case for the test suite if this ok to be merged. :ok_hand:

@hassy still interested in merging? Happy to work with you to review if so.

This PR has been closed as "abandoned" as a part of an automated cleanup. If this is a mistake and you are still interested in merging this PR, please do the following:

[ ] Rebase your changes onto the master branch (even if there are no merge conflicts, we want to make sure your change is under the most recent tests).
[ ] Push your updated branch to Github to update this PR.
[ ] Make sure this PR's Travis tests are still passing. (Run npm test locally if tests are still failing).
[ ] Comment here to let us know that you've updated the PR and are still interested in getting it merged. Somebody from the project will respond and work with you to review.

Thank you for your understanding. If you have any questions, please check out https://github.com/request/request/issues/2556 and feel free to comment / ask anything there.


how execute csharp method from go c-shared library?

I tried use the a go library on csharp and use callbacks, but the application entire crash by the library with the error:
unexpected fault address 0xffffffffffffffff fatal error: fault [signal 0xc0000005 code=0x0 addr=0xffffffffffffffff pc=0x627ca9ab]
go code:
package main

import "C"
import "fmt"

type externFunc func(int)

//export Connect
func Connect(fn externFunc) {
    fmt.Println("fn ",fn)

    for i:= 0; i<3;i++{
       fn(10)
    }

}

How is the way to execute callbacks with c-shared?

My apologies, I do not know anything about CSharp.  Cannot help.

See #18

but the code in go, is the correct way to make callbacks?

I don't quite understand.  The code is in csharp.  Go offers one way for interoperability with external languages.  I assume the csharp code is correct.


feat(buffer): Supporting a lock-free and thread-safe RingBuffer to address the issue of memory reuse

add a lock-free and thread-safe ringbuffer instead of byebuffer

Codecov Report

Merging #56 (8b3d58c) into main (64c6c88) will increase coverage by 10.56%.
The diff coverage is 95.89%.

@@             Coverage Diff             @@
##             main      #56       +/-   ##
===========================================
+ Coverage   65.56%   76.13%   +10.56%
===========================================
  Files           6        7        +1
  Lines         273      419      +146
===========================================
+ Hits          179      319      +140
- Misses         73       77        +4
- Partials       21       23        +2

Impacted Files
Coverage Δ

pkg/buffer/ringbuffer.go
95.89% <95.89%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Question: When do you plan to create a new release tag?

Hi there, I would love to use the new SwiftUI abstraction of the Horizon Calendar in a production app, but the many new implementations on the master branch are not part of any release tag yet. Do you plan on creating a git release tag sometime soon or is the current development on the master branch still partially experimental?
Thanks a lot :) Best, Alex

Hey Alex, pretty much all of the SwiftUI stuff was finished last year https://github.com/airbnb/HorizonCalendar/releases/tag/v2.0.0
If you need something newer, you can point your package manager to a specific commit, rather than a version number. Hope this helps!


Enable access to the demo app via google's identity aware proxy

@ggebel To get IAP up and running we had to set up DNS for the demo app. You can find the demo app at https://www.hexaorchestrationdemo.com/


image optimizer tools

This installs some image optimizer tools.
One of the most popular image optimizer library in php, spatie/image-optimizer, recommends these tools.
I am not sure if I should I define a separate option for each tool.
This PR is not complete. If the idea is liked, I will complete it.

@ojhaujjwal cool tool man, could you support the "7.0 and 5.6 PHP versions" at least the 7.0 if 5.6 will cause troubles?

sure man.

Done the changes.


Jason Browser APP in Debug mode

I've use that APP for create views and debug they in Jasonbase, but can't use a Stetho for debug. Seems that this APP not in debug-release.
Please, provide APP in debug-release.

Here the Jason App in Debug release https://github.com/jasonelle/jasonelle/releases 👍