EKSclt having issues while creating cluster

This is the error message I got while creating a cluster with the following command
eksctl create cluster --name=eksworkshop-eksctl --nodes=3 --node-ami=auto --region=${AWS_REGION}
2018-10-23T21:46:08Z [ℹ]  using region us-west-2
2018-10-23T21:46:09Z [ℹ]  setting availability zones to [us-west-2a us-west-2b us-west-2c]
2018-10-23T21:46:10Z [ℹ]  using "ami-0a54c984b9f908c81" for nodes
2018-10-23T21:46:10Z [ℹ]  creating EKS cluster "eksworkshop-eksctl" in "us-west-2" region
2018-10-23T21:46:10Z [ℹ]  will create 2 separate CloudFormation stacks for cluster itself and the initial nodegroup
2018-10-23T21:46:10Z [ℹ]  if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-west-2 --name=eksworkshop-eksctl'
2018-10-23T21:46:10Z [ℹ]  creating cluster stack "eksctl-eksworkshop-eksctl-cluster"
2018-10-23T21:47:06Z [✖]  unexpected status "ROLLBACK_IN_PROGRESS" while waiting for CloudFormation stack "eksctl-eksworkshop-eksctl-cluster" to reach "CREATE_COMPLETE" status
2018-10-23T21:47:06Z [ℹ]  fetching stack events in attempt to troubleshoot the root cause of the failure
2018-10-23T21:47:06Z [ℹ]  AWS::CloudFormation::Stack/eksctl-eksworkshop-eksctl-cluster: ROLLBACK_IN_PROGRESS – "The following resource(s) failed to create: [SubnetUSWEST2A, SubnetUSWEST2B, PublicSubnetRoute, PolicyNLB, SubnetUSWEST2C]. . Rollback requested by user."
2018-10-23T21:47:06Z [✖]  AWS::EC2::Subnet/SubnetUSWEST2B: CREATE_FAILED – "Resource creation cancelled"
2018-10-23T21:47:06Z [✖]  AWS::EC2::Subnet/SubnetUSWEST2C: CREATE_FAILED – "Resource creation cancelled"
2018-10-23T21:47:06Z [✖]  AWS::IAM::Policy/PolicyNLB: CREATE_FAILED – "Resource creation cancelled"
2018-10-23T21:47:06Z [✖]  AWS::EC2::Subnet/SubnetUSWEST2A: CREATE_FAILED – "Resource creation cancelled"
2018-10-23T21:47:06Z [✖]  AWS::EC2::Route/PublicSubnetRoute: CREATE_FAILED – "route table rtb-0400aa3431520b725 and network gateway igw-0c49354aae0fc78cf belong to different networks (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterValue; Request ID: 2c781c6e-aad3-4510-959b-df0ac89ea59a)"
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::Route/PublicSubnetRoute: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::SecurityGroup/ControlPlaneSecurityGroup: CREATE_COMPLETE
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::SecurityGroup/ControlPlaneSecurityGroup: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::RouteTable/RouteTable: CREATE_COMPLETE
2018-10-23T21:47:06Z [ℹ]  AWS::IAM::Policy/PolicyNLB: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::Subnet/SubnetUSWEST2A: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::Subnet/SubnetUSWEST2C: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::RouteTable/RouteTable: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::Subnet/SubnetUSWEST2B: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::IAM::Policy/PolicyNLB: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::Subnet/SubnetUSWEST2C: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::Subnet/SubnetUSWEST2A: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::RouteTable/RouteTable: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::Subnet/SubnetUSWEST2B: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::SecurityGroup/ControlPlaneSecurityGroup: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::IAM::Role/ServiceRole: CREATE_COMPLETE
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::VPC/VPC: CREATE_COMPLETE
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::InternetGateway/InternetGateway: CREATE_COMPLETE
2018-10-23T21:47:06Z [ℹ]  AWS::IAM::Role/ServiceRole: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::InternetGateway/InternetGateway: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::IAM::Role/ServiceRole: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::VPC/VPC: CREATE_IN_PROGRESS – "Resource creation Initiated"
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::InternetGateway/InternetGateway: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::EC2::VPC/VPC: CREATE_IN_PROGRESS
2018-10-23T21:47:06Z [ℹ]  AWS::CloudFormation::Stack/eksctl-eksworkshop-eksctl-cluster: CREATE_IN_PROGRESS – "User Initiated"
2018-10-23T21:47:06Z [ℹ]  1 error(s) occurred and cluster hasn't been created properly, you may wish to check CloudFormation console
2018-10-23T21:47:06Z [ℹ]  to cleanup resources, run 'eksctl delete cluster --region=us-west-2 --name=eksworkshop-eksctl'
2018-10-23T21:47:06Z [✖]  waiting for CloudFormation stack "eksctl-eksworkshop-eksctl-cluster" to reach "CREATE_COMPLETE" status: ResourceNotReady: failed waiting for successful resource state
2018-10-23T21:47:06Z [✖]  failed to create cluster "eksworkshop-eksctl"
The issue went away when I deleted the stack and ran the eksctl create cluster command once again

We will watch for this again, but this appears to be a problem on the backend, not related to the workshop.

Adding wontfix/question labels to keep it in mind for monitoring, but note that there is nothing actively to change.


Can anyone help with Autocomplete?

Im using a library to autocomplete keywords but I can't get it working with Emojionearea
The following fiddle has 2 textareas one with emojionearea and one without; only the latter is working for autocomplete when you type "@"
https://jsfiddle.net/ukLaz8cm/134/
Can anyone help? JS is not my primary language.

You can use bundled textcomplete plugin,
add script https://cdn.rawgit.com/yuku-t/jquery-textcomplete/v1.3.4/dist/jquery.textcomplete.js
and after that
$(document).ready(function() {
    $("#emojionearea1").emojioneArea({
        pickerPosition: "right",
        tonesStyle: "bullet",
        events: {
          ready: function() {
            this.editor.textcomplete([
              {
                id: 'emojionearea',
                match: /\B@([\-\d\w]*)$/,
                search: function (term, callback) {
                  // this code must be replaced with your
                  // load mentions from ajax
                  var mentions = ['Peter', 'Tom', 'Anne'];
                  callback($.map(mentions, function (mention) {
                    return mention.indexOf(term) === 0 ? mention : null;
                  }));
                },
                template: function (value) {
                  return '' + value + ' ';
                },
                replace: function (value) {
                  return '@' + value + ' ';
                },
                cache: true,
                index: 1
              }
            ])
          }
        }
    });
});

Example: https://jsfiddle.net/1v03Lqnu/897/
type : for autocomplete emotions
type @ for autocomplete mentions

Hi Mervick,
First of all congratulations for this emoji plugin. I think is the best we can find now. But I have the same problem as described is this discussion.  I tried all the codes I could and I checked everything about what's showing here and textcomplete.  I want to associate your plugin and a mention autocomplete code but I can't reach my database table to retrieve the datas. When I type @ it's showing [object Object]. I tried all I know to debug. With no result.  If only you could help please ! If you would just reply and I'll show to you the code I did.  Thanks a lot and see you soon !

@LouisSyfer
$(document).ready(function() {
    $("#emojionearea1").emojioneArea({
        pickerPosition: "right",
        tonesStyle: "bullet",
        autocomplete: true,
        events: {
            ready: function() {
            	$.ajax('url/to')
                .success(data) {
                   this.editor.textcomplete([{
                      id: 'emojionearea',
                      match: /\B@([\-\d\w]*)$/,
                      search: function (term, callback) {
                          callback($.map(data, function (mention) {
                          return mention.indexOf(term) === 0 ? mention : null;
                      }));
                      },
                      template: function (value) {
                          return '' + value + ' ';
                      },
                      replace: function (value) {
                          return '@' + value + ' ';
                      },
                      cache: true,
                      index: 1
                  }]);
                });
            }
        }
    });
});

Good evening Mervick.
Thank you for the reply. I try as soon as possible and I let you know.
Thanks again and see you soon !

Hi Mervick,
Some news :
I should have adapted your code to fit with the most recent jQuery version :
$("#content").emojioneArea({
autocomplete: true,
events: {
ready: function() {
$.ajax({
url:'mention_autocomplete_posts.php',
success:function(data) {
this.editor.textcomplete([{
id: 'emojionearea',
match: /\B@([-\d\w]*)$/,
search: function (term, callback) {
                    callback($.map(data, function (mention) {
                    return mention.indexOf(term) === 0 ? mention : null;
                }));
                },
                template: function (value) {
                    return '' + value + ' ';
                },
                replace: function (value) {
                    return '@' + value + ' ';
                },
                cache: true,
                index: 1
            }]);

        }

        });

    }
}

});
Console says : Uncaught TypeError: Cannot read property 'textcomplete' of undefined
I tried to install inside the js file :
{
                    id: css_class,
                    match: /\B@([\-\d\w]*)$/,
                    search: function (term, callback) {
                    		// this code must be replaced with your
                        // load mentions from ajax
                       $.ajax({
                        url:'mention_autocomplete_posts.php',
                        success:function(mentions) {

                        callback($.map(mentions, function (mention) {
                            return mention.indexOf(term) === 0 ? mention : null;
                        }));
                    },
                    template: function (value) {
                        return '' + value + ' ';
                    },
                    replace: function (value) {
                        return '@' + value + ' ';
                    },
                    cache: true,
                    index: 1
                   });
                }
            }

Not working as well.  Maybe I did something wrong.  Thanx anyway !

Add this script to head

I have done it already. That changes nothing...

@LouisSyfer , if you want my help. please first format your code

I would like to. Sorry I don't know why it did not...

@LouisSyfer
ref https://help.github.com/articles/basic-writing-and-formatting-syntax/#quoting-code

Maybe this one is the best. But I don't know why I get [object Object] ... Sure I'm better in PHP !!
$("#content").emojioneArea({
                autocomplete:true,
                events:{
                ready: function() {
                this.editor.textcomplete([{
                    match: /(^|\s)@(\w*)$/,
                    dataType: "json",
                    search: function (term, callback) {
                        // this code must be replaced with your
                        // load mentions from ajax
                         $.getJSON("mention_autocomplete2.php", { q: term })
                        .done(function (resp) { callback(resp); })
                        .fail(function ()     { callback([]);   });

                        callback($.map(term, function (mention) {
                        return mention.indexOf(term) === 0 ? mention : null;
                    }));
                    },
                   template: function (value) {
                        return '' + value + ' ';
                    },
                    replace: function (value) {
                        return '@' + value + ' ';

                    },
                    cache: true,
                    index: 1
                }]);
            }
        }
    });

But maybe the problem come from the php side...

        session_start();

	include_once("config/database.php");
	include_once("includes/functions.php");
	include_once("includes/constants.php");

if(isset($_POST['term'])){

$term= $_POST['term'];
 //$term= $_GET['term'];
$query = $db->prepare('SELECT * FROM user
                       WHERE mention_user LIKE :term');
$query->execute(array('term' => '%'.$term.'%'));

$array = array();

?>
<?php
while($donnee = $query->fetch())
{

   array_push($array, $donnee["mention_user"]);
    //array_push($array, $donnee["id_user"]);

    ?>

<?php

} ?>

<?php
echo json_encode($array);

}
?>

Your code is terrible!
At least you have error in the php side,
in js, you send GET request with param q
$.getJSON("mention_autocomplete2.php", { q: term })

so in php you should get search param from
$_GET['q']

but you use
if (isset($_POST['term'])) {
    $term= $_POST['term'];

Well I think I have already tried this ($_GET[‘q ‘] instead of $_POST[‘term’]), I will try again and let you know...

IT'S WORKING ! Almost... I mean you can retrieve datas from your table, the autocomplete works, but like a normal one : you type @ at the beginning of the textarea but I have to make a "carriage" return if I want to mention other user.
Ex :
It' possible to do :
@mervick how are you ?
@jonhdoe are you fine ?
But you can't :
How are you @mervick  ? And what about you @johndoe ?
The code :
$("#content").emojioneArea({
                autocomplete:true,
                events:{
                ready: function() {
                this.editor.textcomplete([{
                    match: /(^|\s)@(\w*)$/,
                    dataType: "json",
                    search: function (term, callback) {
                        // this code must be replaced with your
                        // load mentions from ajax
                          $.getJSON("mention_autocomplete2.php", { q: term })
                        .done(function  (resp) { callback (resp);  })
                        .fail(function (resp)     { callback([resp]); });

                        callback($.map(term, function (mention) {
                        return mention.indexOf(term) === 0 ? mention : null;
                    }));
                    },
                   template: function (value) {
                        return '' + value + ' ';
                    },
                    replace: function (value) {
                        return '@' + value + ' ';

                    },
                    cache: true,
                    index: 1
                }]);
            }
        }
    });

<?php

        session_start();

	include_once("config/database.php");
	include_once("includes/functions.php");
	include_once("includes/constants.php");

$term= $_GET['q'];
$query = $db->prepare('SELECT * FROM user WHERE mention_user LIKE :q');
$query->execute(array('q' => '%'.$term.'%'));

$array = array();

?>

<?php

while($donnee = $query->fetch())

{

    array_push($array, $donnee["mention_user"]);

?>

<?php } ?>

<?php
header('Content-Type: application/json');
echo json_encode($array);

?>

It's ok  Mervick it's working fine THANKS A LOT !
I just deleted "index:1" at the end of the code.  I'm going to test it again but for the moment THAT WORKS pefectly !


SpeakerRecognition fails to RecognizeOnceAsync with Enrolled VoiceProfile  0x5 (SPXERR_INVALID_ARG)

Could someone please help me? I am getting this exact same error in version 1.16 using an ARM7 Android 8.1 device with SpeakerRecognition using exactly the example that comes with it. I can enroll my speaker but whenever I run this with the same VoiceProfile that was just enrolled it fails with this error 0x5 (SPXERR_INVALID_ARG) . I feel like this was working in older versions 1.12 but now it is not. It fails on the RecognizeOnceAsync. This same stream works fine for every other Speech function like STT.
byte channels = 1;
byte bitsPerSample = 16;
uint samplesPerSecond = 16000;
var audioStreamFormat = AudioStreamFormat.GetWaveFormatPCM(samplesPerSecond, bitsPerSample, channels);
    _pushAudioInputStream = new PushAudioInputStream(audioStreamFormat);
    var config = SpeechConfig.FromSubscription(AzureSpeechResourceKey, AzureRegionWestUs);
        using (var audioInput = AudioConfig.FromStreamInput(_pushAudioInputStream))
        {
            var speakerRecognizer = new SpeakerRecognizer(config, audioInput);

            var model = SpeakerVerificationModel.FromProfile(profile);

         // "Speak the passphrase to verify: My voice is my passport, please verify me."

            var result = await speakerRecognizer.RecognizeOnceAsync(model);

To Reproduce
Take the sample code for enrolling a speaker using a PushStream sending the Android Minimum Buffer Size to stream and Enroll a User with a VoiceProfile of TextIndependentVerification.  Enroll a user from wav file.  Once enrollment is successful verify the speaker using the same VoiceProfile.  It will immediately fail on RecognizeOnceAsync.
Expected behavior
It should have returned with a Result Score of Recognized or Not.
Version of the Cognitive Services Speech SDK
1.16
Platform, Operating System, and Programming Language
Development Environment
Xamarin Android native
Windows 10
Visual Studio Community 2019 16.9.2
Xamarin Android SDK <IP_ADDRESS>
Xamarin <IP_ADDRESS>3
Rooted Android Device
Android 8.1
audio is PCM 16 bit 16000Hz mono
Additional context
speechlog.txt

@roninstar Thanks for including the log! It looks like something about the SpeakerVerificationModel is causing the RecognizeOnceAsync call to throw. Could you include more of your code around how the profile variable gets created and updated?

sure, so I am capturing all the audio spoken to a PCM 16bit Wav file and playing this audio wav file into this code.  Then I verify the enrolled profile by passing this created profile into the Speaker verification code above.
_config = SpeechConfig.FromSubscription(CognitiveServicesSettings.AzureSpeechResourceKey, CognitiveServicesSettings.AzureRegionWestUs);
using (var client = new VoiceProfileClient(_config))
using (var profile = await client.CreateProfileAsync(VoiceProfileType.TextIndependentVerification, "en-us"))
{
using (_audioInput = AudioConfig.FromWavFileInput(wavFilePath))
{
VoiceProfileEnrollmentResult result = null;
while (result is null || result.RemainingEnrollmentsSpeechLength > TimeSpan.Zero)
{
result = await client.EnrollProfileAsync(profile, _audioInput);
Console.WriteLine("Remaining enrollment audio time needed: " + result?.RemainingEnrollmentsSpeechLength);
}
if (result.Reason == ResultReason.EnrolledVoiceProfile)
{
Console.WriteLine("VoiceProfile is Enrolled " + profile.Id);
VerifyVoiceTraining(profile, profileMapping);
}
else if (result.Reason == ResultReason.Canceled)
{
var cancellation = VoiceProfileEnrollmentCancellationDetails.FromResult(result);
Console.WriteLine( $"CANCELED {profile.Id}: ErrorCode={cancellation.ErrorCode} ErrorDetails={cancellation.ErrorDetails}");
                    }
                }

            }

@roninstar Thanks for the response. Could you also share the .wav files you're using to enroll and then verify?

sure, thanks.
voicetraining_audio.zip

@roninstar For verifying that audio file, I'm getting a Cancelled result "ErrorDetails= Invalid audio length. Maximum allowed length is 10 seconds. Bad request (400). Please verify the provided subscription details and language information." For training and verification files, there is a max time limit of 10 seconds per file. Could you try this with files less than 10 seconds long?

Yes I will try that now.

I am getting the same error with a file size just under 10 seconds.  It does have some gaps between speaking.  Maybe that is causing a problem.  An odd thing I noticed in the logs is when enrollment starts it says remaining time 14 seconds.  But when I open my file in a wav editor it matches up with 16 bit 16khz mono pcm of 10 seconds.  I set the limit of bytes to capture as 312000.

@roninstar That remaining time means how much more spoken audio the service requires to completely enroll a voice profile. A 10 second audio file may have 3-4 seconds of spoken audio, which is not enough on it's own. Try using more samples until the remaining time is 0 seconds (or you can re-enroll the same sample file multiple times, but the voice profile recognition may not be as accurate).

I'm struggling to get this just right.  I am still failing with this audio.  So I am prompting users to speak different sentences for voice training.  I am using Speech To Text Speech Recognition to know when to capture the audio and when to stop.  This still leaves little gaps in between.   Its hard to get people to speak one phrase that lasts 10 seconds or for them to remember what they should say that is 10 seconds long of speech.  That is why I am trying to string it together.  Is there anything in the Speech Recognizer that could fine tune exactly when to start capturing the audio and when to stop?  When I use SpeechDetected event that cuts off too much audio and then SpeechEnd Detected never seems to get hit.  But Recognized does seem to be a good spot to stop capturing the audio.  Do you have any suggestions or is there a way to either get the audio right on the way in or clean the audio gaps before we submit the wav file for Enrollment?
recognizer.Recognized += (s, e) =>
{
switch (e.Result.Reason)
{
case ResultReason.RecognizedSpeech:
resultStr = $"RECOGNIZED: '{e.Result.Text}'";
//STOP CAPTURING AUDIO ON FIRST RECOGNITION
_captureSpeech = false;

to give you a use-case for my problem is we have no user interface so we are using Text to Speech to prompt the user to speak each phrase.  We use the SpeechRecognizer to know when to capture audio and when not to.  If I could capture just the users speech portion each time then I could accurately fill 10 seconds with audio and create the wav file and play that into the Enrollment process.

@roninstar One approach could be to record 10 seconds of audio, then send that 10 second file multiple times until you receive a EnrolledVoiceProfile result. Another could be to prompt the user multiple times, as in SpeakerVerificationWithMicrophone here, but using voice prompts instead of the console output in the sample.

That sounds promising! I will give these a try.

This latest wav file passes Enrollment and it has no audio gaps and is just under 10 seconds.  but as soon as I go to verify my voice the RecognizeOnceAsync fails immediately.
voicetraining_usersguid_audio.zip

@roninstar If you could zip and attach your solution files, I'll take a look. My best guess is that something about the profile isn't right (wrong type, wrong id). Looking on your end, I'd make sure in debug that the enrolled profile details when you get the EnrolledVoiceProfile match exactly the details of the profile given to SpeakerVerificationModel.FromProfile.

sure can I email you the two classes?  they are a part of a very large project so I can't send the whole thing.  The Audio is getting raised from the mic using the Android Minimum Buffer OnMarkerReached using an AudioRecord.

<my_username>(at)microsoft(dot)com

thanks, email is sent.

Resolved via email


fix Incorrect precision detection for the decimal type in condition.

Proposed changes
For precision like Decimal(7,7),  the value "0.1234567" should be valid(the integer part is 0).

run buildall

run buildall

run buildall

run buildall


ENH: Generate png motionindex v2.0.2 dev

Part of #40

Here is an example of the current state of plots to support the assessment of motion in scans:


Build fails: error: no matching package named python3-dll-a found

I am getting this failure:
===>  Building for py311-qh3-1.0.8
* Getting build dependencies for wheel...
* Building wheel...
Running `maturin-3.11 pep517 build-wheel -i /usr/local/bin/python3.11 --compatibility off`
error: no matching package named `python3-dll-a` found
location searched: registry `crates-io`
required by package `pyo3-build-config v0.20.3`
    ... which satisfies dependency `pyo3-build-config = "=0.20.3"` (locked to 0.20.3) of package `pyo3 v0.20.3`
    ... which satisfies dependency `pyo3 = "^0.20.3"` (locked to 0.20.3) of package `qh3 v1.0.8 (/usr/ports/www/py-qh3/work-py311/qh3-1.0.8)`
💥 maturin failed
  Caused by: Cargo metadata failed. Does your crate compile with `cargo build`?
  Caused by: `cargo metadata` exited with an error:
Error: command ['maturin-3.11', 'pep517', 'build-wheel', '-i', '/usr/local/bin/python3.11', '--compatibility', 'off'] returned non-zero exit status 1

ERROR Backend subprocess exited when trying to invoke build_wheel
*** Error code 1

python3-dll-a is missing in Cargo.lock
Version: 1.0.8
FreeBSD 14.1

It does not seems to be related to us.
I could not reproduce using what is at hand. Can you retry?
And according to the error message, "the crate is not found": means something wrong happened during fetching because it does exists. Maybe using a mirror or (corporate) proxy w/ caching?
regards,

I'm attempting to build this for nixpkgs, and ran into the same issue. My resolution was to manually place:
[[package]]
name = "python3-dll-a"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd0b78171a90d808b319acfad166c4790d9e9759bbc14ac8273fe133673dd41b"
dependencies = [
    "cc"
]

at the end of Cargo.lock


Add support for pyspotify v2.1.3

Please add support for pyspotify v2.1.3

My spotify ripper repo, richardk80/spotify-ripper currently supports pyspotify 2.1.3.


Stalebot commenting on closed issues

See https://github.com/andig/evcc/issues/78#issuecomment-651985454 for an example. Stalebot should not touch this issue at all.

Any feedback? This seems so obvious that it should be fixable?

Another example here: https://github.com/rancher/rke/issues/1961#issuecomment-705749849

I have an example here too: mantidproject/mantid#29477 (comment)


Support Rust async.await ?

The current view is synchronous, does it support Rust async, await?
Ref:https://docs.rs/tokio/latest/tokio/fs/struct.File.html

The parallel implementation internally creates its own threads with rayon. The entry function will block, so you should run it with spawn_blocking. I'm interested in either having, or making, a natively async version - I think it will make some of the internals much easier to express, and could lead to smarter handling of extreme conditions (super deep or super branchy trees).
But as @XAMPPRocky says, depending on tokio itself would be problematic - this crate is intended to be usable from both non-async, and other-engine async code, so some modular way to deal with that is important.

For example, reqwest http client support async_impl and blocking optional

@baoyachi reqwest only supports one async runtime. The way the blocking feature works, it creates a Tokio runtime implicitly when you call into it, rather than expecting to find a runtime contextually. This is ok for reqwest which started out as an HTTP client for Tokio, but remove_dir_all needs to be more circumspect with users dependency chains.


python312Packages.google-cloud-datacatalog: 3.20.1 -> 3.21.0

Changelog: https://github.com/googleapis/google-cloud-python/blob/google-cloud-datacatalog-v3.21.0/packages/google-cloud-datacatalog/CHANGELOG.md

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 351365

x86_64-linux

:white_check_mark: 18 packages built:

harlequin
harlequin.dist
python311Packages.dbt-bigquery
python311Packages.dbt-bigquery.dist
python311Packages.google-cloud-bigquery
python311Packages.google-cloud-bigquery.dist
python311Packages.google-cloud-datacatalog
python311Packages.google-cloud-datacatalog.dist
python311Packages.harlequin-bigquery
python311Packages.harlequin-bigquery.dist
python312Packages.dbt-bigquery
python312Packages.dbt-bigquery.dist
python312Packages.google-cloud-bigquery
python312Packages.google-cloud-bigquery.dist
python312Packages.google-cloud-datacatalog
python312Packages.google-cloud-datacatalog.dist
python312Packages.harlequin-bigquery
python312Packages.harlequin-bigquery.dist


Onboarding @konarev

Hello @konarev. I've added you to the Nuvola Maintainers group so you have commit access to this repository. Welcome aboard ;-)

[ ] Subscribe to the nuvola-player-devel mailing list. Important announcements are posted there.
[ ] Create a Tiliado account and tell me your username. Your account will be then upgraded to developer account.
[ ] Take a look at Service Integration Guidelines: Rules and guidelines you should follow. Please make sure you are familiar with the process how releases are made.
[ ] Look at the documentation of Nuvola's JavaScript API: tutorial, media player API and API reference.
[ ] Once you install Nuvola ADK 4.4, you could add progress bar and volume management integration to the Yandex Music script. These are new features in upcoming Nuvola 4.5 release. I've recently added them to Google Play Music and Deezer scripts.

Hello @konarev. Are you still interested in taking over this script from me?


Don't sign NuGetGallery.Core quite yet (NuGetDeployment is broken)

Revert the line that broke things until I can iron the issue out in a non-breaking way 😄

@joelverhagen,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


[Bug]: ImprovedUI Assets can't be moved from Overrides

Operating System
Windows 11
BG3 Mod Manager Version
<IP_ADDRESS>
BG3 Game Version
<IP_ADDRESS>48643
Bug Summary
Downloaded updated ImprovedUI and ImprovedUI Assets 10/3. Imported all updated mods at the same time as I usually do. The context menu doesn't allow this to be moved into the Active Mods list.

I deleted the mod/file, closed Mod Manager, downloaded Assets again, opened the program, imported again, and got the same result.
Links
No response

ImprovedUI Assets has no metadata, so it's not a mod you add to your load order. Improved UI itself doesn't need to be in the load order either, since it only overrides GUI files:

You're allowed to add Improved UI to the load order since it has metadata (meaning it has a UUID via Mods/ModFolder/meta.lsx).


Ensure 'completeopt' always set sensibly in Kite buffers.

See https://github.com/kiteco/kiteco/issues/8011.

@jansorg The only visible change should be that, even if you (or one of your other plugins) have  configured completeopt, you have to explicitly choose a completion option for it to be inserted, rather than the first option being inserted automatically.
It shouldn't affect whether or not the documentation is shown in the preview window, which depends on completeopt containing the value preview.
What does :echo &completeopt give?

@airblade I'm getting this:

I don't think that I have custom options set for my user.

@jansorg I'm confused ;)

Do you see the documentation?
Do you want to see the documenation?
How is it different without this patch?

@airblade

I see the documentation
I don't wan't it as I haven't seen it before in vim
running master isn't displaying the documentation
with master :echo &completeopt gives menuone,noinsert

@jansorg Thanks for the clarifications.
On master we force completeopt to menuone,noinsert if and only if the user hasn't configured completeopt themselves.  If they have, we respect their configuration.
In this patch, we don't care whether the user has configured completeopt; we force it to contain menuone,noinsert (and remove longest which stops noinsert from working).  However in order not to completely overwrite their setting, if they made one, we add menuone,noinsert to whatever is already there.  Vim's default is menu,preview; the preview makes the documentation show in the preview window.  The result is that with the patch your completeopt becomes menu,menuone,noinsert,preview.
I think the "Vim way" is to leave the user to figure out that they need to remove preview themselves if they don't want it, perhaps aided with some documentation.  They would need to put set completeopt-=preview in their vimrc.

BTW, vim's docs for completeopt:
'completeopt' 'cot'	string	(default: "menu,preview")
			global
			{not available when compiled without the
			|+insert_expand| feature}
			{not in Vi}
	A comma separated list of options for Insert mode completion
	|ins-completion|.  The supported values are:

	   menu	    Use a popup menu to show the possible completions.  The
		    menu is only shown when there is more than one match and
		    sufficient colors are available.  |ins-completion-menu|

	   menuone  Use the popup menu also when there is only one match.
		    Useful when there is additional information about the
		    match, e.g., what file it comes from.

	   longest  Only insert the longest common text of the matches.  If
		    the menu is displayed you can use CTRL-L to add more
		    characters.  Whether case is ignored depends on the kind
		    of completion.  For buffer text the 'ignorecase' option is
		    used.

	   preview  Show extra information about the currently selected
		    completion in the preview window.  Only works in
		    combination with "menu" or "menuone".

	   noinsert Do not insert any text for a match until the user selects
		    a match from the menu. Only works in combination with
		    "menu" or "menuone". No effect if "longest" is present.

	   noselect Do not select a match in the menu, force the user to
		    select one from the menu. Only works in combination with
		    "menu" or "menuone".

@airblade Thanks for the details on the way it's implemented now.
I assume that this means that user who did not configure a value for completeopt would now see the preview after an update? A change of behaviour without apparent reasons might confuse users.
If completeopt was set to menu,preview, would it be possible to find out if this was set by the user or by vim's defaults?

@jansorg Yes, a user who did not configure a value for completeopt would now see the preview window after an update.  Would you like me to revert that aspect?
And yes, we can distinguish a default menu,preview from a user-configured one.


Add proper disabled values for input chips

Fixes https://github.com/flutter/flutter/issues/115826 - all chips now use the correct M3 spec for disabled values.
The issue was specific only to InputChips, so we can use the same isSelected solution from the ChoiceChips to implement the solution.
Verification -
Before

After

Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

LGTM though this will need a test

Thanks - done


Bump Python patch version to 3.6.12

It's a pain on macOS Big Sur to run older patch versions, because PyEnv can't install them anymore.

It looks like the wine_builder job is failing since python.org doesn't upload windows installer binaries for releases in the security fix only part of the lifecycle.

Maybe I should keep the original windows version?

Maybe I should keep the original windows version?

Yes

ACK c8fd9fecaf3a25e71b355d567019e7705f7b6102


Clean up App.xaml.cs

Cleaned up the app.xaml.cs file.
Description
1.Removed UWP code from the file.
2.Added comments to the file.
3.Made the code cleaner.
4.Removed unused code.
Motivation and Context
UWP code should not be in a WinUI app.
How Has This Been Tested?
No testing needed.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

/azp run

ping


url-lists.txt: allow amazon s3 instance

blocking s3-eu-west-1.amazonaws.com  is too restrictive as it blocks everything which is on an s3 instance.

Thank you for your feedback


Made NLopt.jl interface properly handle options & minor changes to MOI

NLopt.jl interface now takes option for global optimiser as kwargs and if a local_method is defined  maxiters and option for the local optimiser can be passed as local_maxiters and a NamedTuple to local_options respectively.
Moreover, the interface now takes both NLopt.Opt and the newly defined NLO type as optimiser input. The NLO type follows the same logic of BBO.
Also I removed n_starts argument as it was passed to the optimiser and only used to multiply the maxiters.
The NLopt __solve also passes ret to the retcode of SciMLBase.SciMLBase.OptimizationSolution and the NLopt model is passed to original field.
Additionally, for MOI interface now returns the MOI.TerminationStatus() via the retcode field and the optimised MOI problem via the original field of SciMLBase.SciMLBase.OptimizationSolution.
I have added some test for the changed interface

Looks good, just needs docs.


Better differentiation between 2,4 GHz and 5 GHz mode

I have just 5 GHz antennas on my PC Engines APU and therefore want to prevent usage of the 2,4 GHz spectrum. This is a bit cumbersome to me, since there are several settings available, which affect this, but can be configured to contradictory settings. So here are my critics:
• Standard: 802.11na
– As far as I know, "na" is no standard. Can this be renamed to something more obvious, like "5 GHz (802.11n/a)"?
• Channel: (auto)
– Selection list should be restricted to just the frequencies usable with the above chosen standard
• Minimum standard: 802.11n
– 802.11g is also available, but makes no sense if I just want 5 GHz operation, should therefore also be filtered by the "standard" setting.
• On the dashboard, my wifi is declared as "autoselect mode 11b <hostap>" – how can this be possible if I selected the 802.11na standard? Is my router in 2,4 GHz mode, now…?!

timeout due to inactivity

So this is no bug anymore, because time has passed by…?

No it was closed because nobody works on it and we have no benefit from having hundreds of pending or stale tickets that hide visibility of tickets we would like to progress.
Do you offer to work on it? It’s trivial to reopen this, but it should mean something. 😊

On 21. Oct 2017, at 19:00, Frank Brütting<EMAIL_ADDRESS>wrote:
So this is no bug anymore, because time has passed by…?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Sorry, I don’t know the internals and sadly have also no time (and many other constructions sites already).
But how about giving closed (but practically open) bug reports tags like "Bug", "Re-track in future" and maybe "Help wanted". Maintainers of other GitHub projects also use this to keep the open issues list small, but to also having a good opportunity to review deferred issues.
Examples:
https://github.com/adapta-project/adapta-gtk-theme/issues?q=is%3Aissue+is%3Aclosed
https://github.com/adapta-project/adapta-gtk-theme/issues/538

We have these, but it's impossible to know how to tag it without looking. I can tell you we only read the values from the kernel/ifconfig so my best guess is to look into the FreeBSD source code, read problem reports over at https://bugs.freebsd.org/bugzilla/ to see what / if we can do ... also granted that we have the same hardware to reproduce (I don't).
While "na" is no standard it seems common enough to pass it as such. This seems to be preferred by Juniper Networking as well... https://www.juniper.net/documentation/en_US/junos-space-apps/network-director2.5/topics/concept/wireless-80211.html
The channels are read from ifconfig directly. It advertises what we can set, even if it advertises it wrong, that's programatically better than filtering the list on top as well.
I don't understand this one, can you explain:

• Minimum standard: 802.11n
– 802.11g is also available, but makes no sense if I just want 5 GHz operation, should therefore also be filtered by the "standard" setting.

It would help to break questions out of reports and / or report them individually for clarity and the chances are higher that someone will jump right in to help / discuss.
Thanks,
Franco

Ok, I try to look into it the next days, seems not to be so difficult then.
My question (I hope I recall it correctly, since this is some time ago and I haven’t used OPNsens since):
I first specified 802.11na, what means 5 GHz operation only (if I understood it correctly). But afterwards I’m able to chose 802.11g which operates at 2,4 GHz. That makes no sense to me, since I selected 802.11na above – therefore, the “minimum standard” should be filtered appropriately.


[v6] Allow typing of navigate call

Currently in the docs navigate has the following type dec
interface NavigateFunction {
  (to: To, options?: { replace?: boolean; state?: State }): void;
  (delta: number): void;
}

In my opinion this should take an argument so that we can type our state objects. I think this is relatively straightforward since the Location interface already supports it
interface Location<S extends State = State> {
  pathname: string;
  search: string;
  hash: string;
  state: S;
  key: string;
}

This would be great since having a state mystery box isn't ideal

Unfortunately, that navigate type won't be carried to anywhere you read that state. The type of the current location is a runtime concern. It is not known statically.
We know that useLocation returns a Location, but we don't know what type of state is on that Location. You either have to override the type to force it or add lots of type guards everywhere you use those things.

That's fine but I'd still like to be able to idiotproof it against myself. Of course I could write a wrapper hook but it seemed like a nice opt-in feature


Fs 3324 applicatn feedback survey form

FS-3324 Applicant Section Survey Forms
Change description
Created section forms for each section

No longer needed, @AbuNavsa says it's been done in another branch


Datatable custom column searching

I seems this gem searches only for global searching. how about custom column searching like this:
http://www.datatables.net/release-datatables/examples/api/regex.html

@ajahongir this is a planned feature to be released sometime soon. And @mebezac developed this in our v-0-4-0 branch, so if you need this feature, please use that branch :wink:

@antillas21 thank you.

@mebezac how about this way using view_columns option?
https://github.com/ajahongir/ajax-datatables-rails/pull/1

@ajahongir thanks for your input! You would also need to change https://github.com/antillas21/ajax-datatables-rails/blob/v-0-4-0/lib/ajax-datatables-rails/base.rb#L42-L45.
Personally I like using an array with all columns in the view, because if you add a new column to the middle of the table in the html, you just need to add that column in the correct place in the view_columns array. If it were a hash, you would have to add that column to the hash and then change all the keys for any columns to the right of the column you just added.
@antillas21 what do you think?

@mebezac

if you add a new column to the middle of the table in the html, you just need to add that column in the correct place in the view_columns array. If it were a hash, you would have to add that column to the hash and then change all the keys for any

in my case I have 10 columns on a table and want to filter or sort only on 2 columns, and I have no to define all of columns.
if you care that if your hash order will change after adding a new col. https://github.com/antillas21/ajax-datatables-rails/pull/87 is fine for this.
def sortable_columns
  @sortable_columns ||= {
    first_name: 'User.first_name',
    last_name: 'User.last_name',
    bio: 'User.bio'
  }
end

You would also need to change https://github.com/antillas21/ajax-datatables-rails/blob/v-0-4-0/lib/ajax-datatables-rails/base.rb#L42-L45.

thanks

@mebezac and @ajahongir I have some questions...
# if you make this:
def view_columns
  @view_columns ||= {
    first_name: 'User.first_name',
    last_name: 'User.last_name',
    bio: 'User.bio'
  }
end

# and you manage to edit this:

# def searchable_columns
#    searchable_indexes = params[:columns].map {|k, v| k.to_i if v[:searchable] == 'true' }.compact
#    @searchable_columns ||= view_columns.values_at(*searchable_indexes)
# end

# into something like:
def searchable_columns
  searchable_cols = params[:columns].map {|k, v| v[:name] if v[:searchable] == 'true' }.compact
  @searchable_columns ||= view_columns.values_at(*searchable_cols.map(&:to_sym))
end

what changes do you need in your JS code?
what other changes do you need in the AjaxDatatablesRails::Base class? I'm guessing none, but that's off the top of my head.

@antillas21 I was thinking about this:
def view_columns
    # Declare strings in this format: ModelName.column_name
    # or in aliased_join_table.column_name format
    @view_columns ||= {
      "id" => "Flight.id",
      "departure_date" => "Flight.departure_date",
      "arrival_date" => "Flight.arrival_date",
      "code" => "Flight.code"
    }
end

def aggregate_query
  conditions = view_columns.map do |data_attr, column|
    searching_column = params[:columns].values.find { |col| col[:data] == data_attr }
    puts "searching_column:#{ searching_column}"
    if searching_column
      value = searching_column[:search][:value]
      regex = searching_column[:search][:regex] == 'true'
    end
    search_condition(column, value, regex) unless value.blank?
  end
  conditions.compact.reduce(:and)
end

what changes do you need in your JS code?
no changes

but it seams will some problems with current ordering field

https://github.com/ajahongir/ajax-datatables-rails/pull/1/files

https://github.com/antillas21/ajax-datatables-rails/pull/105

Guys, I'm missing a point here... why don't we start by pointing out why is a good idea to have a hash with keys pointing to a Model.column if we're going to treat them as an Array later on...

@antillas21
In this way it is not matter order of columns on table. and you will not have problem when you add a new column to your table.
later, we can define other useful options in a hash. for example right now I am having a problem with typecasting. thomething like this:

like
like_full
eql_positive
date_between
date_by_day
eql

@view_columns ||= {
  'id' => { field: 'User.id', type: :eql },
  'first_name' => { filed: 'User.first_name', type: :like_full }
  'bio' => 'User.bio'
}

what do you think guys about this idea?

Mmh... somehow this sounds interesting... never thought about extending a column definition, so it could help later on with typecasting, but what if, to simplify things a little bit then:
def view_columns
  @view_columns ||= [
    { source: "User.id" },
    { source: "User.last_login_from", type: :ip },
    { source: "Property.availability", type: :json }
  ]
end

This is:

We define an Array of Hashes
By default, all columns are typecasted to text-like behavior in its corresponding db (mysql, sqlite, postgresql)
Developer can "override" typecasting if needed
Leave door open to extend/override when more cases are brought to our attention

@ajahongir , @mebezac what do you think about this?

Guys, I'm missing a point here... why don't we start by pointing out why is a good idea to have a hash with keys pointing to a Model.column if we're going to treat them as an Array later on...

@antillas21 I am really dont understant why you dont want to use columns definition as a hash?
my procs in this case is:

you have to not describe every column if you dont want to use ordering all searching for all of your columns at client side
you should not to change order of columns when you change order or add column at client side.
ability to define more options for every column.

@ajahongir I am not reluctant to adding such functionality... my comment was because I needed to understand what will be gained if we change the implementation to use a Hash map instead, as opposed to the current Array or an Array of Hashes.

It seems it is possible to use Array of Hashes. in this case you have to desctibe column data field:
@view_columns ||= [
  { data: 'id', source: 'User.id', type: :integer, cond: :eq },
  { data: 'first_name', source: 'User.first_name', type: :json, cond: :like },
  { data: 'bio', source: 'User.bio' }
]

data attribute will connect our source with datatable columns.

I like where this is going... I'm not totally sure on the cond key, as the purpose of jQuery.dataTables is to filter records as you type along in a search box, so, a like filtering mechanism and not eq is what is needed, but to be able to map source and typecast is a nice thing to have.
What do you think @mebezac ?

Sorry for taking so long to read through this. I really do the like the idea of an array of hashes, or hash of hashes and being able to add more functionality (e.g. different type-casting per column) down the road. I think hash of hashes would make the most sense, something like
def view_columns
  @view_columns ||= {
   0:  { source: "User.id" },
   1:  { source: "User.last_login_from", type: :ip },
   2:  { source: "Property.complicated_field", type: :json }
  }
end

guys can you please look at my changes - https://github.com/antillas21/ajax-datatables-rails/pull/105
may be it is possible to accept some of concepts from there?

I am not finished yet. It requires to refine search conditions, I should be simple do define and redefine.

@ajahongir I just recently had a chance to review what you've done in that PR.
I am now adding comments to that specific PR thread, so we can discuss it further... rest assured that I like what you've done so far, just have minor comments to do, and believe the PR comment thread would be the best place to discuss.
So, follow me there :)


Externalize label string

Fixes #194
@davidnixon please review and merge when you get a chance. Thank you!

Added the second commit with the leftover commits. Thank you @davidnixon


Multiple css extractors

The idea is to split css into multiple files e.g  critical css file and remaining css file.
I've tried the following, but plugin generated only one css file.
var firstExtractor  = new ExtractTextPlugin(
   '[hash]/first.css', {
   allChunks: true
}),
var secondExtractor  = new ExtractTextPlugin(
   '[hash]/second.css', {
   allChunks: true
})

module: {
     loaders: [{
         test: /\.pattern1\.less$/,
         loader: firstExtractor.extract('style-loader', 'css-loader!less-loader')
     }, {
         test: /\.pattern2\.less$/,
         loader: secondExtractor.extract('style-loader', 'css-loader!less-loader')
     }]
}

plugins: [
   firstExtractor,
   secondExtractor
]

What does your entrypoint look like?

It looks like this
module.exports = {
  output: {
    path: path.join(__dirname, 'dist'),
    filename: '[hash].js',
    libraryTarget: 'amd'
  },
  entry: 'client'

@ytanruengsri maybe CommonsChunkPlugin could help?

Can you try the example against the new version (currently rc)?

Please try with webpack 2 / ETWP 2, reopen if still any regressions :)


[WIP] stale-balance command: force-sync EigenPods with slashed validators

stale-balance

If an EigenPod has been slashed, you can use stale-balance to start a checkpoint against the EigenPod. We suggest avoiding doing this if the deviated amount is small (<5%), but it is a legal operation within the protocol at any time as a way to sync the beacon state with the execution state, when we know that a beacon slashing has occurred.

To use;

./cli stale-balance --podAddress $EIGENPOD_ADDRESS --execNode $NODE_ETH --beaconNode $NODE_BEACON --sender $EIGENPOD_PK --slashedValidatorIndex $SLASHED_VALIDATOR_INDEX
This will prompt to complete any in-flight checkpoints, and then call verifyStaleBalances.

going to rebase / reopen this.


Create a timeline

Add a list of all your activities, achievements, work experience. Add as much info as you can remember. In case you don't have working experience tell about your pet-projects or student projects. Don't be shy :)

1989 -Year of birth
1996- 2006 - Went to school
2006 - 2011 - Studied at the University
2009 - 2011 My first job (beauty salon admin)
2012 - Second job - sales manager
2013 - Title of Senior Sales Manager
2013 - Title of Sales Department Lead
2015 - Opening of own online store
2022 - Realization that I need to grow further
2022 - Start learning JavaScript
2023 - Beginning of QA training


Issue in combining the shares generated on iOS Platform #13

Hi
I've been trying to use this library to work with iOS. I keep facing an issue in combining the shares which are generated on iOS platform. Each share generated on iOS is an unsigned integer array, whereas in Java it's in form of signed bytes. I have been converting the unsigned integer array from iOS to signed bytes.
The Scheme.join() method works fine if I provide all the shares generated on iOS but fails if the number of shares are less than the total number number of shares.
public void testCrossPlatform() {
	String secretString = "Hi";
    final byte[] secret = secretString.getBytes(StandardCharsets.UTF_8);
	final Map<Integer, byte[]> parts = scheme.split(secret);

	HashMap<Integer, byte[]> allParts = new HashMap<>();
	allParts.put(1, new byte[]{(byte)43, (byte)9});
	allParts.put(2, new byte[]{(byte)37, (byte)145});
	allParts.put(3, new byte[]{(byte)70, (byte)241});

        HashMap<Integer, byte[]> halfParts = new HashMap<>();
	halfParts.put(1, new byte[]{(byte)43, (byte)9});
	halfParts.put(2, new byte[]{(byte)37, (byte)145});

	final byte[] recovered = scheme.join(halfParts);
    Log.d("msg", "Recovered String : " + new String(recovered,StandardCharsets.UTF_8));
}

I have been using this library in iOS.
Could you please help me with resolving the issue. Thanks in advance.

Off-hand, I’d say they’re probably generating a polynomial that’s a byte short, so their threshold is actually k+1, but I don’t know Swift so it’s hard for me to tell. Can you combine halfParts using that library?

Both the libraries are not able to combine the half parts generated from the other library but can combine all the parts

It sounds like either your threshold with the iOS app is too high (i.e. should be 2 but is 3) or the iOS library has a bug in it. If you determine that it’s a bug in this library, please open a new issue with a reproduction case.


proxy_testcase.py turns potentially useful errors from test-proxy into useless ones

See original issue: https://github.com/Azure/azure-sdk-for-python/issues/22387
# snippet from start_or_record_payback in proxy_testcase.py
   if is_live():
        result = requests.post(
            RECORDING_START_URL,
            headers={"x-recording-file": test_id, "x-recording-sha": current_sha},
        )
        recording_id = result.headers["x-recording-id"]
    else:
        result = requests.post(
            PLAYBACK_START_URL,
            headers={"x-recording-file": test_id, "x-recording-sha": current_sha},
        )
        try:
            recording_id = result.headers["x-recording-id"]
        except KeyError:
            raise ValueError("No recording file found for {}".format(test_id))
        if result.text:
            try:
                variables = result.json()
            except ValueError as ex:  # would be a JSONDecodeError on Python 3, which subclasses ValueError
                six.raise_from(
                    ValueError("The response body returned from starting playback did not contain valid JSON"), ex
                )

This pattern:
try:
  # do something
except:
  raise ValueError(...)

Result in a frustrating debugging experience. The underlying issue is that the request returned  server 500 error. We are proactively assuming things went well, and attempting to retrieve the x-recording-id header. However, since the request failed, it doesn't exist and so the first error we get in the debug log is a KeyError.
Then we throw away the information that was in the response, which provides useful details and instead manually throw a vague error. "No recording file found for {test_id}". While this is true, it gives zero context for trying to figure out why, since the recording file is present.
This pattern results in a debug log that looks like:
E       KeyError: 'x-recording-id'
During handling of the above exception, another exception occurred:
>               raise ValueError("No recording file found for {}".format(test_id))

It would be much preferable if we simply looked at the result, and if it is an error, actually bubble up the error. The KeyError is a total red herring, and rethrowing a less-specific error helps no one.

This a great point; we should raise from so we don't lose the original context.


Database_MySql.cs for the NetworkZones addon in the latest Version

Thank you for this,  but this duplicates the entire class.
A better way is to add a partial class that adds the stuff needed for network zones.   I don't want to maintain 2 copies of the same thing.

Add NetworkZones_MySql as a partial database class and removed the Database_MySql.cs from the Addons

Looks like all done now the only thing is insert on duplicate in SaveCharacterScenePath i try it, but get some error, near @'charachter' on one of the Zone Server as i remember, maybe wrong syntax; So i reset it to the old working one;

i have tested and it works! I also increase the version for the NetworkZones addon


[Bug] Executor auto registration should not be turned on/off by irrelavant (or at least not obviously) configs

Describing the issue
Right now if executor.port is specified, node (either web or executor) will register itself into db.
But if azkaban.use.multiple.executors is turned on, then it doesn't do that, as described by the code below.
https://github.com/azkaban/azkaban/blob/3.44.0/azkaban-common/src/main/java/azkaban/executor/ExecutorManager.java#L198
I'm sorry but this behavior makes no freaking sense to me, especially when azkaban.properties is shared across web and executor nodes (which makes sense as per doc, there's no shared configs, even though the code does have these implicitly shared).
Expected result
New config kv pairs (with default values on the right) should be added:
# if true, executors will register themselves in db upon launch. Ignored by web nodes.
executor.autoRegistration=true

# this is used together with executor.port to register executor if auto registration is on
# this should be used instead of the hidden, undocumented azkaban.server.hostname
# this does not have a default value, if this is not specified and autoRegistration is turned on, azkaban will auto fetch the current ip used by eth0
executor.ip=

# this already exists
executor.port=12321

I also got the error but the issue was in DB where the executors config lies. It has a canonical hostname instead of The IP address and web node was not able to communicate with the executor node.
there is a configuration in executor azkaban.server.hostname If it is not set the executor register itself with canonical hostname(hotname -f). and for this there should be the host entry mapping in web node for the executor node <hostname -i> . If the above config is set the executor registers itself with the provided value of in config azkaban.server.hostname
curl http://${executorHost}:${executorPort}/executor?action=activate

Use this command to activate
executorHost=<value of azkaban.server.hostname>

I also got the error but the issue was in DB where the executors config lies. It has a canonical hostname instead of The IP address and web node was not able to communicate with the executor node.
there is a configuration in executor azkaban.server.hostname If it is not set the executor register itself with canonical hostname(hotname -f). and for this there should be the host entry mapping in web node for the executor node <hostname -i> . If the above config is set the executor registers itself with the provided value of in config azkaban.server.hostname
curl http://${executorHost}:${executorPort}/executor?action=activate

Use this command to activate
executorHost=<value of azkaban.server.hostname>


No mqtt:// service available for Apprise notifications

Problem/Motivation
No MQTT available.
Expected behavior
MQTT included in docker image.
Actual behavior
When trying to set up Apprise notification via MQTT, the following error appears:
ERROR - mqtt:// is disabled on this system.
Steps to reproduce
See above.
Proposed changes
Change Uptime Kuma docker image to one, that includes MQTT.

Thanks! 👍
That is indeed an issue with the add-on. I've prepared a fix for he next release of the add-on.
../Frenck


Invoke transitions rendered twice on new inspector

Description
invoke.onDone and invoke.onError duplicated on https://statecharts.io/inspect.
Expected Result
Each transition displayed once.
Actual Result
Each transition displayed twice:

Reproduction
https://codesandbox.io/s/intelligent-hill-v8tds?file=/src/index.ts

You're using an older version of XState. Upgrade to latest; this issue was fixed.


0.4.0 status

Hey @gcanti. 0.4.0 is currently available via the next dist tag. Do you know when it will hit stable? Is there remaining work to be done?
Thanks!
Olly

In my opinion no, there's no more work to do, just testing. I just would wait for some feedback from @justinwoo who is trying the lastest versions of fp-ts, io-ts and monocle-ts in some of its projects: then if there are no major issues I'll release 0.4.0 soon

Looks all good to me, my projects all work pretty well with the new versions 👍

Awesome, thanks @justinwoo for testing out. I'll release the stable version asap

Released


Update setup.py

added 3.9 version of python

Summary
Details and comments

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the PR, but this is a bit premature. Qiskit doesn't actually support python 3.9 yet, mostly because none of its upstream dependencies. We will bump the supported version here when all the qiskit components release as listing support for python 3.9. This will be a multi-step process as it takes time to add CI configurations running tests on python 3.9 and also we have to wait for the upstream dependencies to release with python 3.9 support before we can run anything. I'm going to close this PR now because we can't merge this without actually supporting python 3.9 and when it comes time to advertise 3.9 support we'll handle it when we bump the component versions that support 3.9 (for example see https://github.com/Qiskit/qiskit/pull/802 which added 3.8 support to the package metadata). Please feel free to reopen this if you think I'm missing something.


CourseID property missing from code

I think a CourseID property declaration is missing in the code where you modify Instructors/Index.cshtml.cs, in "Add courses taught by selected instructor". The code throws an error when trying to use "Model.CourseID" on Index.cshtml
Also, when you explain how selecting an Instructor works by
if(item.ID == Model.InstructorID) {selectedRow = "success";}
the code you show is from the next section:
if (item.CourseID == Model.CourseID){ selectedRow = "success";}

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d0026f69-7e5d-0d3e-5586-16ecc0656ff0
Version Independent ID: 3cb264da-2ff1-1256-572f-aa4ebca6e255
Content: Razor Pages with EF Core in ASP.NET Core - Read Related Data - 6 of 8
Content Source: aspnetcore/data/ef-rp/read-related-data.md
Service: unspecified
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

It's a parm in the function
public async Task OnGetAsync(int? id, int? courseID)
? means it's optional and might be null. That's why it's checked before using.
    if (courseID != null)
    {
        CourseID = courseID.Value;
        Instructor.Enrollments = Instructor.Courses.Where(
            x => x.CourseID == courseID).Single().Enrollments;
    }

You use that nullable type value to set a property called "CourseID", with capital C.
if (courseID != null)
{
CourseID = courseID.Value;
//code omitted
}
There should be a property declaration such as:
     public int CourseID {get; set;}

probably after..... InstructorID {get; set;}
That way, when you can actually use it in the Instructor/Index.cshtml file:
 string selectedRow = "";
        if (item.CourseID == Model.CourseID)
        {
            selectedRow = "success";
        }

Otherwise, Model.CourseID  and CourseID = courseID.value both throw errors.

CourseID is declared in the PageModel class containing that method.

@thomasiverson  so it's bringing in the wrong code snippet. Thanks, I'll get that fixed.

Thanks Rick!  it appears there is an issue with the Html.ActionLink in the courses table as well (index.cshtml - line 87).  it is not rendering the link properly.

Now it's running--->
1)block "@if (Model.Instructor.Courses != null){ //code }" ~ must be in 'Pages/Instructors/Index.cshtml' not in 'Pages/Courses/Index.cshtml'.
2) in 'Pages/Instructors/Index.cshtml.cs' line "CourseID = courseID.Value;" ~ must be "InstructorID = courseID.Value;"
3) same with 'Pages/Instructors/Index.cshtml' line "if (item.CourseID == Model.CourseID)" ~ must be "if (item.CourseID == Model.InstructorID)".


copy to clipboard feature added

Fixes Issue
Closes #2521
Changes proposed

Added the copy to clipboard button to the code blocks in the quick start page.
https://linkfree.eddiehub.io/docs/quickstart
Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots

Hey Eddie! I fixed it 🕺

Looks good @ChinmayMhatre 👍 I will have a play with it later on and then we can get it merged
Thank you!

Looks good @ChinmayMhatre 👍 I will have a play with it later on and then we can get it merged
Thank you!

Awesome! Maybe later on we could move the wrapper component to a utils folder. Could create an issue later on, a green square for a first timer.


[WIP]-3072 MODFLOW instance resources migration

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[Enter positive test case here]

METRIC
VALUE

NEW CODE SMELLS
40

NEW SECURITY HOTSPOTS
41

NEW BUGS
9

NEW DUPLICATED LINES DENSITY
27.1343873517787

NEW VULNERABILITIES
0

https://sonarqube.cuahsi-workstation.com:9000/dashboard?id=hydroshare-4459


BUG: Unable to find template "knp_menu.html.twig"

The error appeared after upgrading composer that upgraded Symfony to version 2.8.16.
Falling back to Symfony 2.8.15 "solves" the error.
What have I to do?
I opened this same issue on the Symfony repository, too.

This was a bug in Symfony that was fixed in symfony/symfony#21285 and will be part of the next patch releases. As a workaround you have to make sure that TwigBundle is registered before KnpMenuBundle in your application kernel.

Closing - as issue (thanks to @xabbuh) is already fixed in the core! Just downgrade to the previous patch release, or wait until the next path release (e.g. it will be fixed in 2.8.17, whenever that is released).

Just downgrade to the previous patch release, or wait until the next path release (e.g. it will be fixed in 2.8.17, whenever that is released).

Or check the order in which the bundles are registered in the kernel (see https://github.com/KnpLabs/KnpMenu/issues/252#issuecomment-272724258 and https://github.com/symfony/symfony/issues/21281#issuecomment-272578100).


ODE testing cleanup

Description
The ODE tests are kinda getting unwieldy. For instance, if we found a bug in ode_adams_tol, then we'd also want to check all the other ode_* interfaces as well.
These are the .cpp files in the rev tests (and a lot of these are quite large and contain lots of duplicate code):
test/unit/math/rev/functor/integrate_ode_adams_rev_test.cpp  test/unit/math/rev/functor/integrate_ode_cvodes_grad_rev_test.cpp
test/unit/math/rev/functor/integrate_ode_rk45_tooMuchWork_test.cpp
test/unit/math/rev/functor/integrate_dae_test.cpp
test/unit/math/rev/functor/integrate_ode_bdf_prim_test.cpp
test/unit/math/rev/functor/integrate_ode_rk45_grad_test.cpp
test/unit/math/rev/functor/integrate_ode_std_vector_interface_adapter_test.cpp
test/unit/math/rev/functor/integrate_ode_adams_prim_test.cpp
test/unit/math/rev/functor/integrate_ode_bdf_rev_test.cpp
test/unit/math/rev/functor/integrate_ode_rk45_rev_test.cpp
test/unit/math/rev/functor/ode_adams_prim_test.cpp
test/unit/math/rev/functor/ode_adams_tol_rev_test.cpp
test/unit/math/rev/functor/ode_bdf_tol_prim_test.cpp
test/unit/math/rev/functor/ode_rk45_tol_rev_test.cpp
test/unit/math/rev/functor/ode_adams_rev_test.cpp
test/unit/math/rev/functor/ode_bdf_prim_test.cpp
test/unit/math/rev/functor/ode_bdf_tol_rev_test.cpp
test/unit/math/rev/functor/ode_store_sensitivities_test.cpp
test/unit/math/rev/functor/ode_adams_tol_prim_test.cpp
test/unit/math/rev/functor/ode_bdf_rev_test.cpp
test/unit/math/rev/functor/ode_rk45_rev_test.cpp

There are effectively 4 ode functions now. There's the integrate_* interfaces with and without tolerances, and there's the ode_* interfaces with and without tolerances. There's also some overlap in what the old integrate_* and new ode_* tests test.
It would be useful to simplify the testing to make these functions more manageable.
Current Version:
v4.0.1

Also there are these three files which are very close to one another:
test/unit/math/rev/functor/util_rk45.hpp
test/unit/math/rev/functor/util_cvodes_bdf.hpp
test/unit/math/rev/functor/ode_test_util.hpp

I'll add that the existing tests do quite some boilerplating and make adding new ones difficult. I used ode_test_util.hpp instead of util_ files for #2336 and will expand it to the other integrators' tests.


cmd/vet: analyze 'loopclosure' func literals that preceed some well-understood statements

What version of Go are you using (go version)?
tip.
Does this issue reproduce with the latest release?
yes.
What did you do?
Run the 'loopclosure' analyzer via go vet on code that has go or defer statements with a function literal that captures a loop iteration variable, but has trailing statements after the go or defer statement, such as this example from #21412:
func handleBatch(ctx context.Context, batch *Batch) error {
    var chans []chan error
    for _, request := range batch.Requests {
        c := make(chan error)
        go func(c chan error) {
            c <- handle(ctx, request) // wrong: request is captured loop iteration variable
        }(c)
        chans = append(chans, c)
    }
    // ... read chans ...
}

What did you see?
No vet message.
What would you like to see instead?
vet reporting:
loop variable request captured by func literal

Recent background
https://go.dev/cl/452155 recently added the ability to handle additional moderate complexity leading up to loop variables being captured by a function literal in a go or defer statement, as well as certain errgroup.Group.Go calls.
While working on that CL, I also did a quick prototype of handling moderate complexity after the go or defer statement, where a limited number of well-understood trailing statements and expressions could be handled (recursively). Also, during the review of that CL, @timothy-king also asked if the definition of "last" could be modified to handle a trailing i++ for example.
Handling well-understood trailing statements
I have a new WIP CL https://go.dev/cl/455195, which modifies the 'loopclosure' analyzer to handle examples like the one above.
The basic approach is there are now a number of well-understood statements (and expressions within statements) that the analyzer now allows to trail a to-be-analyzed go or defer statement, but only if the analyzer believes those trailing statements cannot derail the loop variable from being modified when returning to the top of the loop.
Because statements trailing a go or defer statement are examined recursively, this loop capture is also now properly flagged:
	var processMore []string
	for _, s := range []string{"one", "two", "three"} {
		go func() { process(s) }() // wrong: s is a captured loop variable
		switch s {
		case "two":
			continue
		default:
			processMore = append(processMore, s)
		}
	}

The analyzer gives up on statements and expressions that it does not understand, which hopefully makes the approach tractable while maintaining no false positives.
For example, the analyzer properly gives up on the following, which is also an example of why we do not report captured loop variables with a go statement trailed by something that waits, might wait, or we can't prove won't wait. (Example adapted from https://github.com/golang/go/issues/21412#issuecomment-322208030).
	for i := range "loop" {
		wg := &sync.WaitGroup{}
		wg.Add(1)
		go func() {
			defer wg.Done()
			print(i) // use of i is correctly not flagged
		}()
		wg.Wait()
	}

In that example, the func literal always completes execution prior to the loop variable changing. The analyzer does not have any explicit knowledge of WaitGroups in order to disallow them. Instead, it gives up when it sees the wg.Wait call, which is not something it understands.
Panics
For now, it does not allow trailing panics.
It is reasonable to debate whether or not it should flag:
	for i := range "loop" {
		go func() { print(i) }()
		panic("this panic means the loop variable will never change")
	}

or:
func _(q int) {
	for i := range "loop" {
		go func() { print(i) }()
		_ = i / q // possible panic means loop var might never change
	}
}

Right now, the analyzer purposefully will not flag either of those because of the explicit panic and the possible panic.
Mainly in the interests of incremental progress with a more conservative approach to start, my vote would be to defer to a later issue the question of whether it should or should not allow any trailing explicit panics or possible panics (and if so, in which circumstances), though of course open to discussing now if people prefer.
CC @adonovan, @findleyr, @timothy-king

Question: proposal process?
Should this go through the proposal process?
In #16520, Russ replied to a related question:

Given that this is improving the precision of an existing vet check, without introducing any new false positives, I don't believe it needs to go through the proposal process.

The context of that answer was https://go.dev/cl/452155.  This new CL might be viewed as a larger change than CL 452155, so happy to send this through the proposal review process if that is better.

An additional detail is the roll out plan. For 1-2 release cycles it would be good to gate this new feature behind a flag. That allows infrastructure to catch up and for additional testing/adjustments to be done.
For panics, I feel like the challenging case to decide what to do with p.i++ when p is a pointer. The loopclosure does not try to know if a pointer may be nil or not and adding that reasoning seems like a bit too much. So are we going to stop at any dereference or may panic? "Must reach the iteration of the loop or panics without form of synchronization" seems like a plausible criteria with low false positives. This criteria can fail when panicking is intended to achieve control flow (weird but well defined). But I think we can "go backwards" across implicit panics but not calls to the panic builtin. This allows for indexing into arrays, printing fields from a struct pointer, etc.
This leads to my opinion for whether a proposal is needed, if we go back across any may panics we probably want to have this be a proposal. If the proposal committee feels this is not needed they can always remove it from the process.

The analyzer does not have any explicit knowledge of WaitGroups in order to disallow them. Instead, it gives up when it sees the wg.Wait call, which is not something it understands.

To be a bit more explicit, any function or method call expression that is not modeled by the Analyzer should probably not be stepped through. This would be an allowlist style approach.
This brings us to fmt.Print functions. These trailing at the end of a loop is a common and important case. Do we just trust that String() functions are reasonable, i.e. terminate, are doing no weird lock synchronization, and only have implicit panics? That sounds okay on the surface to me. I am hesitant to try to reason more and only do this to on String() methods we deduce are okay. vet checks need to make sense to users and why one fmt.Print is okay on a *p but not on an any(*p) is not is too insider knowledge.

An additional detail is the roll out plan. For 1-2 release cycles it would be good to gate this new feature behind a flag.

Right now, it is gated behind a flag. My understanding based on what @findleyr did for loopclosure analysis of t.Parallel is it can be disabled in vet, but enabled in gopls, which then gives an incremental rollout, which would be nice. That said, it could also be off in vet for 1-2 release cycles. (The code code currently has a TODO that mentions enabling for Go 1.21, which might be too fast).

For panics, I feel like the challenging case to decide what to do with p.i++ when p is a pointer. The loopclosure does not try to know if a pointer may be nil or not and adding that reasoning seems like a bit too much.

FWIW, the current WIP CL attempts to allow p.i++ when p is not a pointer, and attempts to disallow p.i++ when p is a pointer.

This leads to my opinion for whether a proposal is needed, if we go back across any may panics we probably want to have this be a proposal. If the proposal committee feels this is not needed they can always remove it from the process.

I was somewhat hoping to defer the question for now about panics in the hopes of possibly first landing something more conservative. That said, perhaps better to discuss holistically first before landing anything.

To be a bit more explicit, any function or method call expression that is not modeled by the Analyzer should probably not be stepped through. This would be an allowlist style approach.

Yes, the current approach in the WIP CL is an "allow list" approach.

This brings us to fmt.Print functions. These trailing at the end of a loop is a common and important case. Do we just trust that String() functions are reasonable, i.e. terminate, are doing no weird lock synchronization, and only have implicit panics?

The WIP CL currently has a set of TODOs related to that:
  // TODO: consider a possibly large "allow list" of stdlib funcs, such as strings.Contains.
  // TODO: consider allowing println, print, although this would require updating tests that use print now.
  // TODO: consider allowing fmt.Println and similar when arguments are all basic types, or otherwise
  // restricted from having String, Error, Format, [...] methods

I think those could be viable approaches. Not mentioned explicitly there, but the intent at least at first would be to disallow pointers that could panic under any use of those functions.

Related -- given the new machinery, I think it is also likely tractable in the future to handle basic versions of some additional cases like the following:
Example 1: loop variable captured in func literal via method with pointer receiver
From #56010:
	for _, a := range alarms {
 		go a.Monitor(b)
 	}

(That is one of two visually similar examples from #56010. The intent would be to properly handle both cases).
Example 2: func literal stored in slice with captured loop var
From #16520:
	fn := []func(){}
	for _, s := range []string{"a", "b", "c"} {
		fn = append(fn, func() { fmt.Println(s) })
	}
	for _, f := range fn {
		f()
	}

Example 3: pointer to loop variable captured in slice
From #56010:
var all []*Item
for _, item := range items {
	all = append(all, &item)
}

Example 4: pointer to loop variable captured in map
From https://go.dev/cl/40937, which was a x/crypto/ssh/knownhosts bug:
	knownKeys := map[string]*KnownKey{}
	for _, l := range db.lines {
		if l.match(addrs) {
			typ := l.knownKey.Key.Type()
			if _, ok := knownKeys[typ]; !ok {
				knownKeys[typ] = &l.knownKey
			}
		}
	}

Without solving the general case, it could be under a similar approach of handling examples that are simple enough to understand explicitly while giving up on more complex examples. For example, slices can be "well understood" data structures, but only analyzed if they are used simply prior to determining they have been misused.
Asprirationally, I would like to take a run at also handling these examples, but I think those likely should be discussed in other issues.

https://github.com/golang/go/issues/57173#issuecomment-1355813762 Example 1 is very doable.

Aspirationally, I would like to take a run at also handling these examples, but I think those likely should be discussed in other issues.

+1 to discussing in another issue. Examples 2, 3 and 4 all require an additional escape[/pointer] analysis to conclude that the lifetime of what you are storing the into always exceeds the lifetime of the loop. Even in the "basic" form you do need to worry about this. The current loopclosure analysis is using that go stores a global reference, defer stores a reference on the stack frame, etc. You might be okay if you are only storing into variables of known types that are scoped outside of the loop and no other write may have happened to a value of the same type in the "skippable tail".
FWIW examples 3 and 4 are not "loopclosure" (no closure) so vet would likely have these in another checker.

I propose we close this issue given that go1.22 will fix the longstanding problem that this analyzer detects. Of course it might be a year or two before every project has caught up, but it doesn't seem work investing more in loopclosure.

Hi @alandonovan, I definitely agree. Thanks again for the feedback on https://go.dev/cl/455195!


add test for not showing default when no default is given

Adds a test for a special case when using show_default, but no default is available resulting in [default: None].

fixes #1732

Checklist:

[x] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[x] Add or update relevant docs, in the docs folder and in code.
[x] Add an entry in CHANGES.rst summarizing the change and linking to the issue.
[x] Add .. versionchanged:: entries in any relevant code docs.
[x] Run pre-commit hooks and fix any issues.
[x] Run pytest and tox, no tests failed.

I needed to force push to do some cleanup. Since you made the PR from your master branch, you'll need to reset it to be in sync with ours.
git fetch upstream
git reset --hard upstream/master
git push -f origin master


Database Delete service returns successfully with an invalid collection

The current bug may be linked to the issue https://github.com/elastos/Elastos.Hive.Node/issues/153 which states that the Database Delete service returns HTTP204 without any response payload.
When calling the Delete service with an invalid collection name, we expect to get an HTTP404, but we still get an HTTP204, which is a success status.

When doing a delete operation, the collection does not exist. Which means the deleting operation is successful. This rule is for all of the hive node APIs.

Just tried to reactivate collection deletion tests and they are now working fine. Which means that the Hive Node has been fixed and the delete operation now sends back an HTTP 404 when the collection doesn't exist.


Backspace after lolcat.

Hello There.
I am running Arch Linux with Ruby version 2.5.3p105, and bash v4.4.23. I was trying out lolcat but I figured a small bug-ish.
While using lolcat with Bash, it identifies my backspace as "\b" (^H) key. This does not occur when I am using another shell, like fish. Although "\b" corresponds to the backspace key, it does not actually go back, but prints "\b" instead.
To reproduce the same, try pressing the backspace key after entering any command with lolcat (like, ls | lolcat).
I am not sure if this issue should be raised here, or at bash.

Same issue, after running lolcat in bash on Debian the backwards-delete key for bash gets mapped to printing "^H". Definitely need advice. Have to logout and reopen to change mapping back.

This might help.
Maybe we can do something about this issue. I'll dig in further.

Sorry, can not reproduce this.
Can you try running this command: stty sane -istrip <&1
This is what lolcat runs before exiting, in order to cleanup your terminal.
When you run it directly (without lolcat), does it also mess up your backspace-key?

Yes. Running the above command directly messes the backspace key.

Ok, how about this shorter command: stty sane <&1
Does that also mess up your terminal? 🤔

Yep. That too.
Re-configuring the backspace after this command seems to work (i.e. using stty erase '^H'.
As an example:
┌─[major@archlinux]─[~]
└──╼ $ stty sane <&1
┌─[major@archlinux]─[~]
└──╼ $ ls^H
bash: $'ls\b': command not found
┌─[✗]─[major@archlinux]─[~]
└──╼ $ stty erase '^H'
┌─[major@archlinux]─[~]
└──╼ $ l
bash: l: command not found

This is rather strange. What terminal emulator are you using?
Could you try a different one (e.g. xterm, gnome-terminal or similar)
to see if the problem also occurs there?
When you look at man stty and search for sane you can see that
this command is actually meant to fix issues such as the one that you
describe, rather than create them.
@Grimy
The above stty-call was introduced by your PR in 2018.
Did you add it for a specific reason or only as a general safeguard?
I wonder if we can just drop it or if that might cause other problems. 🤔

When you look at man stty and search for sane you can see that this command is actually meant to fix issues.

I agree. Even I don't know why it is not working in this case. I had tried using it, but it didn't work. In the end, I had to resort to manually reset it.
I am currently using the UXterm emulator. This problem also persists in xterm. However, there's no such issue in gnome-terminal and terminator. It's probably something related to the xterm family, I guess.

I'll give it a week to see if Grimy has an opinion on this and otherwise remove the stty-call.

For reference the setup I am using to get this strange problem is definitely unique. This problem does not occur when I use lolcat on my WSL with Debian. I was running it on my Raspberry Pi (Raspbian GNU 9, a version of Debian) over SSH on MobaXTerm. Bash version 4.4.12 and Ruby version 2.3.3p222.

stty sane is meant to fix these issues, but it does so by setting backspace to what it thinks is the right value, and of course nobody can ever agree on what the right value is for backspace (^H or ^?).
Note that I didn’t introduce the stty call, I just replaced stty cooked -nl (which can badly mess up non-ASCII characters) with stty sane -istrip. I think it would be safe to completely remove the stty call. Or, to be more conservative, replace it with stty -nl echo, which still does some sanitizing but without touching backspace or 8th bits.

@Grimy
Thanks for chiming in so quickly!
I've release a new version with the stty call removed.
@Aniket-Pradhan @andersonentwistle
Please let us know in case you still experience any problems with the latest version. 🍭


Unable to sync local repository to remote repository with passphrase-protected ssh key in vscode

Type: Bug
Reproducible steps:

Open vscode and navigate to the local repository that you want to sync to a remote repository.
Click on the Source Control icon on the left sidebar.
Click on the ellipsis (...) button and select "Push".
If you have a passphrase-protected ssh key, vscode should prompt you to enter the passphrase to proceed with the sync. However, in this case, vscode does not prompt for the passphrase and the sync process fails.

Actual result
Vscode does not prompt for the passphrase and the sync process fails.
Expected result
Vscode should prompt for the passphrase when using a passphrase-protected ssh key to sync a local repository to a remote repository, and the sync process should be successful.
I have found a bug in vscode where it is unable to prompt for the passphrase when using a passphrase-protected ssh key to sync a local repository to a remote repository. This bug is not present when using the Windows terminal to sync the repositories. Please address this issue and provide a solution to fix it. Thank you.
VS Code version: Code 1.78.2 (b3e4e68a0bc097f0ae7907b217c1119af9e03435, 2023-05-10T14:39:26.248Z)
OS version: Windows_NT x64 10.0.19045
Modes:
Sandboxed: Yes

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz (4 x 2195)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: unavailable_offvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
7.91GB (2.53GB free)

Process Argv
--crash-reporter-id faf065e1-f035-4da7-bb4d-ad563337a528

Screen Reader
no

VM
0%

Extensions (15)

Extension
Author (truncated)
Version

vscode-markdownlint
Dav
0.50.0

vscode-eslint
dba
2.4.0

latex-workshop
Jam
9.11.4

git-graph
mhu
1.30.0

vscode-docker
ms-
1.25.1

vscode-language-pack-zh-hans
MS-
1.78.2023051009

vscode-edge-devtools
ms-
2.1.1

python
ms-
2023.8.0

vscode-pylance
ms-
2023.5.50

remote-containers
ms-
0.292.0

remote-ssh
ms-
0.102.0

remote-ssh-edit
ms-
0.86.0

remote-explorer
ms-
0.4.0

sqlite-viewer
qwt
0.2.5

volar
Vue
1.6.4

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
282f8724:30602487
pyind779:30671433
89544117:30613380
pythonsymbol12:30671437
a9j8j154:30646983
showlangstatbar:30737416
vsctsb:30748421
pythonms35:30701012
pythonfmttext:30731395
pythoncmv:30756943
fixhidewlkth:30730051
pythongtdpathcf:30739705

@qwertystar, could you please confirm that the git.useIntegratedAskPass setting is enabled?

I guess that setting is enabled, and I try again to sync change, it still doesn't work. I have never encountered this situation before, but it has been a problem since I recently tinkered with Docker and single board computers.

@lszomoru

@qwertystar, yes the setting seems to be enabled and I would have expected that if the authentication request reaches VS Code you would see a quick input widget at the top of the VS Code in the middle. You mention that pushing succeeds from the Windows Terminal. Does it work from the VS Code integrated terminal?

@lszomoru I just created a new commit and tried to synchronize to the remote. However, when I pressed the "同步更改" button on try2,

the passphrase input box still didn't pop up and no any mention about  whether push ok or not. Then I opened the VSCode terminal again, as shown in try3, and after prompted for input, it successfully synchronized!

And the button still in loading status ... So I actually don't know how to solve this problem ...

One more thing,the version of vscode during this run is 1.80.1.

I am able to use git push/pull using built-in vs code terminal, it allows to enter a passphrase. But when I execute any git command using vs code UI - no input box for a passphrase but an error<EMAIL_ADDRESS>Permission denied (publickey)"

Using the latest version of VS Code you should be able to pull/push when using an SSH key with a passphrase. VS Code is the last actor in the git authentication pipeline so depending on your git config, the auth request might not reach VS Code.

It works properly when I'm running VSCode locally; when I'm connecting to a remote workspace, it does not.

are you using the Remote-SSH extension to connect to the remote workspace?
Yes I am.
Is your SSH key added to the SSH agent locally?
Nope.
What about to the remote machine?
Nope...until now.
Tried ssh-add in the VSCode remote bash terminal...and now the "sync" button works. Thanks!

@dvg-p4, thank you very much for the update! Adding your SSH key to the SSH agent is the right solution as VS Code does not store the passphrase for the SSH key and you would have to enter it for every git operation. I will go ahead and close this issue for now.


Import missing jquery dependency

Coverage remained the same at 88.478% when pulling 798d9a1167b9f8f2e6aa4bc484fb0a539c3bc6df on cabhishek:master into e4599f6281d83093aea374cbc9ca54fa57deb1c8 on Netflix:master.

Cherry-picked this commit into a different PR: https://github.com/Netflix/genie/pull/553

Coverage remained the same at 88.487% when pulling 34d37d836f4652633a837cfbea49f4770717f43a on cabhishek:master into 27c0548254dff4199840004bdb3a8c5c10df9045 on Netflix:master.


[WIP] [Feature] 1.4.0 - Improvements, agree command, ...

Version will be 1.3.0.
This was already suggested in #11, but moved here.
This is a megathread for the update.

Okay, so I have decided to postpone the extension API to an other version for right now. Maybe later.