Support git+http

Is your feature request related to a problem? Please describe.
I have a private gitlab-instance that has no ssh-access enabled. I have to clone/push/etc via https.
When using includes in my gitlab-ci.yaml, gitlab-ci-local tries to download these includes. The function downloadIncludeProjectFile uses git archive under the hood which does not work with https but only with ssh.
Describe the solution you'd like
I'd like to use includes with my instance that has no ssh enabled.
Describe alternatives you've considered
Additional context
I thought about doing it with curl or wget via the gitlab API like this:
    static async downloadIncludeProjectFile (cwd: string, stateDir: string, project: string, ref: string, file: string, gitData: GitData, fetchIncludes: boolean): Promise<void> {
        const remote = gitData.remote;
        const normalizedFile = file.replace(/^\/+/, "");
        try {
            const target = `${stateDir}/includes/${remote.host}/${project}/${ref}/`;
            if (await fs.pathExists(`${cwd}/${target}/${normalizedFile}`) && !fetchIncludes) return;
            await fs.mkdirp(`${cwd}/${target}`);
            await Utils.bash(`git archive --remote=ssh://git@${remote.host}:${remote.port}/${project}.git ${ref} ${normalizedFile} | tar -f - -xC ${target}`, cwd);
        } catch (e) {
            try {
              const target = `${stateDir}/includes/${remote.host}/${project}/${ref}/`;
              if (await fs.pathExists(`${cwd}/${target}/${normalizedFile}`) && !fetchIncludes) return;
              await fs.mkdirp(`${cwd}/${target}`);
              await Utils.bash(`curl --header "Private-Token: ${token}" -O ${target}/${normalizedFile} https://${fomain}/api/v4/projects/${project}/repository/files/${normalizedFile}?ref=${ref}`, cwd);
            } catch (e) {
            throw new ExitError(`Project include could not be fetched { project: ${project}, ref: ${ref}, file: ${normalizedFile} }`)
;
          }
        }
    }

Or maybe with axios? However I'm not proficient with javascript to include a working solution.

We need a way to specify the ACCESS token...
Is it only fetching includes that fail?
I'm asking because I've never tried gitlab-ci-local without ssh access.

I couldn't really test it further since it fails pretty early. Checking the code, remote variables will probably also fail:
> grep -r "git archive" src/
src/variables-from-files.ts:            const res = await Utils.bash(`git archive --remote=${url} ${ref} ${file} | tar -xO ${file}`, cwd);
src/parser-includes.ts:            await Utils.bash(`git archive --remote=ssh://git@${remote.host}:${remote.port}/${project}.git ${ref} ${normalizedFile} | tar -f - -xC ${target}`, cwd);
src/variables-from-files.js:            const res = await utils_1.Utils.bash(`git archive --remote=${url} ${ref} ${file} | tar -xO ${file}`, cwd);
src/parser-includes.js:            await utils_1.Utils.bash(`git archive --remote=ssh://git@${remote.host}:${remote.port}/${project}.git ${ref} ${normalizedFile} | tar -f - -xC ${target}`, cwd);

The workaround doesn't work for me..

@rndmh3ro I need a little more info about the workaround.
What exactly did you put your global git config?

I put this in my config. example.com replaced with my internal gitlab server.
git config --global url."git@git.example.com:".insteadOf https://git.example.com/
git config --global url."git://".insteadOf https://

This doesn't work, because the problem is that git archive does not work with https in my gitlab instance (or in general with all gitlab instances?). So replacing ssh-access with https-access locally is not useful.

Oh, I thought git archive would use those git instructions.
Well, in that case, we need a proper feature implemented to deal with the http case.

Looks like Gitlab is not support git archive over https at all. @firecow can you please update readme's --fetch-includes section to mention explicitly what we need to use SSH only authentication?
I have a use case similar to @rndmh3ro and I spent a lot of time digging root case of non-fetched includes, as there is no error message. For some reason git output of fatal: operation not supported by protocol was not detected by try-catch.

This is a dublicate

https://github.com/firecow/gitlab-ci-local/commit/0aecd8be6a078b42066a4aeea7bc1acd22d65e24


Improve DV path canonicalization

Description
This PR improves the FILE_PATH canonicalization logic by avoiding calling expensive Path.toUri.toString calls for each row in a table. Canonicalized paths are now cached and the UDF just needs to look it up.
Future improvement is possible for handling huge logs: build canonicalizedPathMap in a distributed way.
How was this patch tested?
Existing tests.

@larsk-db Could you take a look at this PR?

Closed in favor of https://github.com/delta-io/delta/pull/1770.


implementing stop on removal for RC522

See #1097
implementation proposed by @Toqqi in https://github.com/MiczFlor/RPi-Jukebox-RFID/commit/786ecf4874db54c0fd6257a7aa8cf8fe611c0232:
Description from @Toqqi:
I used the signal python library to detect when a RC522 RFID reader stops reading in a card ID for one second.
This then triggers the playerpauseforce action in playout_controls.sh.
I then configured the second swipe action to be "resume playback" to achieve the play/pause effect when moving an RFID card to/from the reader.
@Toqqi, could you check, if that's what you propsed?

@s-martin Yes, that's what I proposed and what is currently running on my take on the Phoniebox.

Hi @Toqqi @s-martin
can the two of you confirm that this works in production?
And a few more quesitons:

there are so many "second swipe" options now:
https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/MANUAL#second-swipe
how do the changes interact with these options?

What about quick actions with a RFID card, like controlling "volume up" and "volume down"

Hi @MiczFlor,
Quick actions work as intended. Since the playout is paused whenever an RFID tag is removed, this behaviour remains consistent.
Example:

Place playlist card on reader > playing
Remove playlist card > paused
Place quick action card "volume up" > volume increases (paused)
Remove quick action card "volume up" > paused
Place playlist card on reader > resumes playing (with "Resume playback" selected as second swipe action)

Interactions with "second swipe" options

"Resume playback": Works as intended, since the player pauses on card removal.
"Restart playlist": Once a card is removed and pauses the playlist, a second placement of the card without using a quick action card in between restarts the playlist. If a quick action card is used, then it's not a second swipe anymore, since a different card ID was identified in between. The playback of the list is then resumed (play action)
"Toggle pause / play": Works as intended, since the player pauses on card removal. Playback of the list resumes, if a quick action card is used in between.
"Skip to next track": Broken in current state, since the player pauses on card removal. The playlist skips to the next track, but remains paused. Would require to modify the playernext action in scripts/playout_controls.sh.
"Ignore audio playout triggers...": Works as intended, since the player pauses on card removal. The player does not react to that card on second swipe. A different playlist card then triggers playout of that playlist.

Hi @Toqqi
thanks for the quick reply. Thinking aloud here:

many of the Phoniebox users want the behaviour like Tonies: pause playback on removal
many of the Phoniebox users want the behaviour as it is now (which is illustrated by the second swipe behaviour ideas, most of which does not break, as I understand now)

Not sure which part is the majority :)
How difficult would it be (this is the thinking aloud part) if there was a global switch: enable / disable swipe - not place - RFID on Phoniebox
(Difficult to find a good wording for that :)
What do you think? @s-martin and what do you think?
Thanks, micz

Hi @MiczFlor,
As soon as the global switch can be checked within daemon_rfid_reader.py , we could simply toggle the signal alarm inside the card reading loop with a simple if statement.
Then the second swipe actions could also be adapted, depending on that global switch. E.g. adding the "play" action as part of "Skip to next track".

I think a global switch would be a good idea.
Both variants are widely used, because this depends also on your box (e.g. has the box a slot where the card stays during playback).
I just opened the PR to have the development started to fix stop on removal for v2.1. Unfortunately right now I won't have the time to implement this...
So anybody is free to continue on that PR. :)

Hi @Toqqi @s-martin
I created this pull request: https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/1130
But it's really done in "good faith" that I know what I am doing, because I can not check my code on a live Phoniebox at the moment.
@Toqqi could you have a look if this works for you - and then it would give you the global switch for your (awesome!) solution.
Here a bit of info which comes from the file inc.writeGlobalConfig.sh
##############################################
# General RFID player control SWIPE OR PLACE
# General decision on how the player operates
# SWIPENOTPLACE = Swiping starts the player
# PLACENOTSWIPE = Placing the card starts player, removal stops it
# 1. create a default if file does not exist
if [ ! -f $PATHDATA/../settings/Swipe_or_Place ]; then
    echo "SWIPENOTPLACE" > $PATHDATA/../settings/Swipe_or_Place
    chmod 777 $PATHDATA/../settings/Swipe_or_Place
fi
# 2. then|or read value from file
SWIPEORPLACE=`cat $PATHDATA/../settings/Swipe_or_Place`

Hi @Toqqi
did you find the time to take a look at this? Your solution would be very welcome - with the global switch.
I can't commit the global switch, if you don't use it :)

Hi,
thanks for creating this great software !!
My daughter loves it.
But this feature is HIGHLY desirable because the  are used to their Toniebox behaviour.
I have version 2.1.1. installed. My novice question, is it available in the newer version ? or can i implement it easyly in the installed version ?
Thanks !!

I have version 2.1.1. installed. My novice question, is it available in the newer version ? or can i implement it easyly in the installed version ?
Thanks !!

Hi, sorry this issue is not in the current release 2.2.
Usually as long as issues and PRs are open, they're not yet in a release.

Hi @urge-at
there is a hack, which you might be able to adjust to your hardware:
https://github.com/MiczFlor/RPi-Jukebox-RFID/commit/786ecf4874db54c0fd6257a7aa8cf8fe611c0232
(it's also linked in this pull request).
@Toqqi
started the development, which looks very promising, possibly you can help to move it forward.
The roadmap for this feature would be:

Including a system wide setting to decide which behaviour is needed (removal or swipe?). There is already code for this, untested and it only makes sense to have this IF the two options are available: https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/1130
Taking @Toqqi  's code and adding the switch "if setting = removal, act like this, else". This is needed, because the "second swipe" functionality of the Phoniebox changes, if you decide to go for "stop on removal"

So if you want to pull up your sleeves and dive in, you are very welcome. @Toqqi is a bit quiet at the moment, but I am sure he will come back to the table when he is not alone with this issue :)
All the best, micz

Hi all,
It's definitely on my to-do list to fully integrate this.
Just very busy with work and family these weeks.
I might be able to work on it next week.

@Toqqi, i hear you..  same situation here.. ;-)
I would love to help but i would be useless because of my lack of knowledge...
thanks !!

I committed https://github.com/Toqqi/RPi-Jukebox-RFID/commit/4e1a6fc22a5afc6d31d97b406546fe26cefa184b, which is tested and working with https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/1130 on my Phoniebox now.

Web app settings #1130 are now in develop and can be used.
@Toqqi, if I understand you correctly in the other PR, this all worked for you?

Web app settings #1130 are now in develop and can be used.
@Toqqi, if I understand you correctly in the other PR, this all worked for you?

Hi,
I'm trying the changig but when I add the new Code my RFID-Reader will disabled and i can't anble it manally

Hi,
I'm trying the changig but when I add the new Code my RFID-Reader will disabled and i can't anble it manally

OK, I did everything aganin and now my RFID-Reader is not disabled. The first time I've done something wrong.
But now the rendering stops after some seconds. Its doesen't matter which option I choise

OK, I did everything aganin and now my RFID-Reader is not disabled. The first time I've done something wrong.
But now the rendering stops after some seconds. Its doesen't matter which option I choise

So, in my last attempts it didn't get any better. I will stop for today.
I just saw how many lines of source code there are in just a few files. Very big remaining respect to all the programmers who were involved and thank you for sharing your skills with us.
many Greetings

So, in my last attempts it didn't get any better. I will stop for today.
I just saw how many lines of source code there are in just a few files. Very big remaining respect to all the programmers who were involved and thank you for sharing your skills with us.
many Greetings

I committed Toqqi@4e1a6fc, which is tested and working with #1130 on my Phoniebox now.

Just to add another datapoint - I'm running this (merged this into the current main develop branch) and it does seem to work nicely. I expected it to have some false negative detections (pause playback when the card isn't removed) but so far I've had no problems.

I committed Toqqi@4e1a6fc, which is tested and working with #1130 on my Phoniebox now.

Just to add another datapoint - I'm running this (merged this into the current main develop branch) and it does seem to work nicely. I expected it to have some false negative detections (pause playback when the card isn't removed) but so far I've had no problems.

Maybe I've missed something, but I still don't see, where in the script the configuration is checked to determine, whether "swipe" or "place and stay" should be used.
Furthermore, the depending settings for the "second swipe" should be automatically changed to "continue playback", when this feature gets activated. Alternatively, second swipe options may be disabled completly, when using this option. In rfid_trigger_play.sh the secondswipe an overlayed if-clause could trigger the continue action based on the swipe and place option.


include a section for backend protocol in the website

What type of PR is this?
/kind documentation
/kind gep
What this PR does / why we need it:
This PR surfaces details of the backend protocol GEP on the user facing docs site.
Which issue(s) this PR fixes:

Does this PR introduce a user-facing change?:

NONE

LGTM, thanks @dprotaso.
/approve

Should be good now - thanks for the help

Thanks @dprotaso!
To make the day of this release more manageable, I've created a v1-docs branch and updated this PR to target that instead. All v1 docs will merge into that so we have a single docs PR to handle for the v1.0 release.
/lgtm
/hold cancel

@dprotaso Unfortunately it looks like another PR raced this one in and now you've got a conflict, mind rebasing?

/hold git is borked

oh i see - i'm rebasing off main

/hold cancel

Thanks!
/lgtm


Insufficient Permissions on S3 Bucket in Source Stage

Hi,
nice article and sources.
I used the single click script and followed the indicated instructions.
But the "App" action in the "Source" stage is in error :
Insufficient permissions
The service role or action role doesn’t have the permissions required to access the Amazon S3 bucket named pre-reqs-artifactbucket-xxxxxxxxx.
Update the IAM role permissions, and then try again.
Error: Amazon S3:AccessDenied:Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID:...

I can't see precisely which service role or action role as my account is restricted on CloudTrail access.
The bucket policy in the tools account seems to be ok with the real account numbers (but here in github with : dev =<PHONE_NUMBER>12, tools :<PHONE_NUMBER>23)
{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:role/ToolsAcctCodePipelineCodeCommitRole",
                    "arn:aws:iam::234567890123:role/sample-lambda-CodeBuildRole"
                ]
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::pre-reqs-artifactbucket-xxxxxxxxxxxx",
                "arn:aws:s3:::pre-reqs-artifactbucket-xxxxxxxxxxxx/*"
            ]
        }
    ]
}

And the role (trusted entity :  tools account<PHONE_NUMBER>23) in the dev account looks ok too :
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "codecommit:BatchGetRepositories",
                "codecommit:Get*",
                "codecommit:GitPull",
                "codecommit:List*",
                "codecommit:CancelUploadArchive",
                "codecommit:UploadArchive",
                "s3:*"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "kms:*"
            ],
            "Resource": "arn:aws:kms:eu-west-1:234567890123:alias/codepipeline-crossaccounts",
            "Effect": "Allow"
        }
    ]
}

Any advice on the way to go ?

OK
I found it ! I used to pass the ARN of the alias for the CMK instead of the ARN of the CMK.
That's why S3 complained.

I got a below issue when I run my aws code pipeline.
AccessDenied: Access Denied status code: 403, request id: D18C063FBD, host id: q8QSdgeMXd9GzqiHAn9aR7e+Qh5TNjYfRjbXxQP73FZbZWjFj78IXQ= for primary source and source version arn:aws:s3:::pre-reqartifactbucket-1btcbp1ce/Infra-Prov/SourceOutp/EEB5s
I have give full s3 access but still access issue & tried alot.
Please let me know the solution to avoid this.

I had the same issue and in my case the KMS key that was to be used for this did not have the permissions to use the key. Once the role added to the key policy on the KMS console, it worked fine.
The S3 permission error was misleading.

Hi
I'm getting this error please help me
Action execution failed
Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 24EE6735C01CFEBA; S3 Extended Request ID: a2/WMSUWqJFaeN3ZXkMD9hc6pshB3eCyXJya48286QACzZOkE8q63tf6olAu/gJ+jv/tReGZyps=)

I was getting similar issue. But then I found out I was using my KMS -key and which is not assigned to the bucket which I was using for codepipeline.
So either use default AWS key or use KMS -key in bucket and check the policy for s3 access.

@aslangencer could provide sample json of what that policy looks like with the added roles? I am having a similar issue

This is a sample key policy that I used for cross-account deployment pipeline.
It gives permission to use the key to other roles within the account where the key resides as well as other roles in other accounts.:
{
    "Version": "2012-10-17",
    "Id": "KMS Policy",
    "Statement": [
        {
            "Sid": "Allows admin of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111111111111:root"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow others use the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111111111111:role/ToolsAcctCodePipelineCloudFormationRole",
                    "arn:aws:iam::111111111111:role/cloudformationdeployer-role",
                    "arn:aws:iam::111111111112:role/ToolsAcctCodePipelineCloudFormationRole",
                    "arn:aws:iam::111111111112:role/cloudformationdeployer-role",
                    "arn:aws:iam::111111111112:root"
                ]
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        }
    ]
}

had the same issue
solution->

use aws_kms_key instead of aws_kms_alias
comment deletion_window_in_days, bypass_policy_lockout_safety_check = true and add a policy for s3 access.
yes, its insecure. for the time I'm just having an MVP. you can do it better. thx

I am at https://abhinand.in

You are missing the GetBucketVersioning action in your policy, so the correct example looks like below. I don't know why it's not mentioned anywhere in the reference/documentation:
- PolicyName: AccessRequiredByPipeline
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Action:
                  - s3:PutObject
                  - s3:GetObject
                  - s3:GetObjectVersion
                Effect: Allow
                Resource: !Sub ${YouBucket.Arn}/*
              - Action:
                  - s3:GetBucketVersioning
                Resource: !Sub ${YouBucket.Arn}
                Effect: Allow
              - Action:
                  - kms:GenerateDataKey
                  - kms:Decrypt
                Effect: Allow
                Resource: !GetAtt KMSKey.Arn


capturoo command without sub-command should show help screen

capturoo

Shows nothing but should default to the capturoo --help screen

Confirmed to be fixed in 0.3.0-alpha


Arraybuffer

Modern node can do this better.  We're already relying on a modern node, so declare that in the package.js, and use the better approach.

Coverage decreased (-0.6%) to 94.828% when pulling b379a94960c54e29bb02c8ab46b642c9cf144a4d on hildjj:arraybuffer into 25dccaa2a4d0f4b4df3b0c09c972a54f4cc956cc on erdtman:master.


Fixing style issues

Two error messages didn't comply with recommended style. It's largely irrelevant but it was polluting my IDE.
One comment had a typo
Annotations were inconsistently formatted (I'm not completely sold on this one, it's technically fine either way and it may pollute blame, I'll drop it if there is a push back)

/retest

/restest
 error: build error: Failed to push image: trying to reuse blob

/retest

/retest

/retest

/test openstack-operator-build-deploy-kuttl


Storing email in NVS (IDFGH-3522)

Environment

Development Kit: ESP32-DevKitC
Kit version (for WroverKit/PicoKit/DevKitC): v1
Module or chip used:  ESP32-WROOM-32
IDF version: 201912.00-396-g314275376
Build System: CMake
Compiler version: 1.22.0-80-g6c4433a5
Operating System: Windows
(Windows only) environment type: PowerShell
Using an IDE?: No
Power Supply: USB

Problem Description
So am trying to save an email<EMAIL_ADDRESS>to the devices memory using the function nvs_set_str() with a key “user_email” but the string fails to be written to memory, meaning after I store the email and fetch it from memory and log it I receive weird symbols mostly question marks as in “??/ ????” Or something similar. Even if I restart the device and fetch the key value I get the same thing.
Am positive the way am storing or my code is correct as I am storing other details along with the email and they are stored and fetched successfully.
My question is, is there a different or specific way to handle storing emails?
I suspect my issue could be because the email in question has a “.” or “@“ if that’s the cause is there a specific way to handle these characters? Because I need to store any given user email that may be supplied.
I have tried posting the issue in aws-freertos github repo but they suggested i revert to you.
Expected Behavior
Email storied in NVS.
Actual Behavior
Email not storing in NVS.
Code to reproduce this issue
#include "esp_log.h"

// Decoded email comes from different part of the code, arrives as
char decodedEmail =<EMAIL_ADDRESS>
// Opening Non-Volatile Storage (NVS) handle
ESP_LOGI(TAG, "Opening Non-Volatile Storage (NVS) handle... \n");
esp_err_t err = nvs_flash_init();
nvs_handle wifi_handle;
err = nvs_open("storage", NVS_READWRITE, &wifi_handle);
if (err != ESP_OK) {
    ESP_LOGI(TAG, "Error (%s) opening NVS handle! \n", esp_err_to_name(err));
    ESP_LOGI(TAG, "Restarting... \n");
    esp_restart();
} else {
    ESP_LOGI(TAG, "Done, opening storage! \n");

    // // Write Email value to Memory
    ESP_LOGI(TAG, "The user email that is writing to nvs right now = %s \n", decodedEmail);
    err = nvs_set_str(wifi_handle, "user_email", decodedEmail);
    printf((err != ESP_OK) ? "Failed! \n" : "Done \n");

    /* Other values wirtten to memory, which works fine
     * ...
     */

    // Commit writings to Memory
    ESP_LOGI(TAG, "Committing updates in NVS ... \n");
    err = nvs_commit(wifi_handle);
    printf((err != ESP_OK) ? "Failed! \n" : "Done \n");
}

// Close NVS
nvs_close(wifi_handle);

Hi @AbdeenM, the code to store the email address looks OK. Dots "." shouldn't be an issue, not sure about "@" right now. We'll have a look at this. Thanks for posting this here.

Hi @0xjakob thanks for the comment, you are right i forgot to mention i did several tests, for example storing "abdeen" alone, then "abdeen.mohd" then "abdeen.mohamed" as values and it worked fine so "." is not the issue.
however the moment "@" is introduced the issue arises. i havent investigated further (i.e. testing something like "abdeen@" without a ".") but i think our issue is from the @ char.
I will be working on this tomorrow so i will update with my findings as well.

@AbdeenM
I justed modified one of the IDF nvs examples:
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "nvs_flash.h"
#include "nvs.h"

void app_main(void)
{
    // Initialize NVS
    esp_err_t err = nvs_flash_init();
    if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
        // NVS partition was truncated and needs to be erased
        // Retry nvs_flash_init
        ESP_ERROR_CHECK(nvs_flash_erase());
        err = nvs_flash_init();
    }
    ESP_ERROR_CHECK( err );

    // Open
    printf("\n");
    printf("Opening Non-Volatile Storage (NVS) handle... ");
    nvs_handle_t my_handle;
    err = nvs_open("storage", NVS_READWRITE, &my_handle);
    if (err != ESP_OK) {
        printf("Error (%s) opening NVS handle!\n", esp_err_to_name(err));
    } else {
        printf("Done\n");

        // Read
        printf("Reading restart counter from NVS ... ");
        int32_t restart_counter = 0; // value will default to 0, if not set yet in NVS
        char str [128] =<EMAIL_ADDRESS>        size_t length;
        err = nvs_get_str(my_handle, "email", str, &length);
        switch (err) {
            case ESP_OK:
                printf("Done\n");
                printf("email address: = %s\n", str);
                break;
            case ESP_ERR_NVS_NOT_FOUND:
                printf("The email addr is not initialized yet!\n");
                break;
            default :
                printf("Error (%s) reading!\n", esp_err_to_name(err));
        }

        // Write
        printf("Updating email address NVS ... ");
        restart_counter++;
        err = nvs_set_str(my_handle, "email", str);
        printf((err != ESP_OK) ? "Failed!\n" : "Done\n");

        // Commit written value.
        // After setting any values, nvs_commit() must be called to ensure changes are written
        // to flash storage. Implementations may write to storage at other times,
        // but this is not guaranteed.
        printf("Committing updates in NVS ... ");
        err = nvs_commit(my_handle);
        printf((err != ESP_OK) ? "Failed!\n" : "Done\n");

        // Close
        nvs_close(my_handle);
    }

    printf("\n");

    // Restart module
    for (int i = 10; i >= 0; i--) {
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

This code works, the email address is printed after the reboot. I wonder whether it's an encoding issue...
Could you try to print out the email address in hex before you save it to nvs?

HI @0xjakob thank you for the response!
Okay so ran your code and it does work fine, i even modified it alittle and it works with no issues (see below);
/**
 * @brief Run tests for saving to NVS.
 */
void test_nvs() {
    // Initialize NVS
    esp_err_t err = nvs_flash_init();
    if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
        // NVS partition was truncated and needs to be erased
        // Retry nvs_flash_init
        ESP_ERROR_CHECK(nvs_flash_erase());
        err = nvs_flash_init();
    }
    ESP_ERROR_CHECK( err );

    // Open
    printf("\n");
    printf("Opening Non-Volatile Storage (NVS) handle... ");
    nvs_handle my_handle;
    err = nvs_open("storage", NVS_READWRITE, &my_handle);
    if (err != ESP_OK) {
        printf("Error (%s) opening NVS handle!\n", esp_err_to_name(err));
    } else {
        printf("Done\n");

        // Read
        printf("Reading restart counter from NVS ... ");
        int32_t restart_counter = 0; // value will default to 0, if not set yet in NVS
        char data [128] =<EMAIL_ADDRESS>        char str [128];
        size_t length;
        err = nvs_get_str(my_handle, "user_email", str, &length);
        switch (err) {
            case ESP_OK:
                printf("Done\n");
                printf("email address: = %s\n", str);
                break;
            case ESP_ERR_NVS_NOT_FOUND:
                printf("The email addr is not initialized yet!\n");

                // Write
                printf("Updating email address NVS ... ");
                restart_counter++;
                err = nvs_set_str(my_handle, "user_email", data);
                printf((err != ESP_OK) ? "Failed!\n" : "Done\n");

                // Commit written value.
                // After setting any values, nvs_commit() must be called to ensure changes are written
                // to flash storage. Implementations may write to storage at other times,
                // but this is not guaranteed.
                printf("Committing updates in NVS ... ");
                err = nvs_commit(my_handle);
                printf((err != ESP_OK) ? "Failed!\n" : "Done\n");

                break;
            default :
                printf("Error (%s) reading!\n", esp_err_to_name(err));
        }

        // Close
        nvs_close(my_handle);
    }

    printf("\n");

    // Restart module
    for (int i = 10; i >= 0; i--) {
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

what you are doing is pretty much what am doing as well, i really don't get what could be wrong on my main code. i have attached a gist, please have a look and let me know what you think.
The flow is as follows:

once the device launches, it checks if wifi ssid and password are available. (if not it runs wifi provisioning)
after confirming wifi is provisioned it checks if aws is provisioned. (if not it runs aws provisioning)
after confirming aws is provisioned it connects to aws and handles other functions.

Thanks again

It looks like you are calculating string_size based on device_id value, but
then using it to get user_email.
On Sun, Jun 28, 2020, 11:26 Abdeen Mohamed<EMAIL_ADDRESS>wrote:

HI @0xjakob https://github.com/0xjakob thank you for the response!
Okay so ran your code and it does work fine, i even modified it alittle
and it works with no issues (see below);
/** * @brief Run tests for saving to NVS. */void test_nvs() {
// Initialize NVS
esp_err_t err = nvs_flash_init();
if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
// NVS partition was truncated and needs to be erased
// Retry nvs_flash_init
ESP_ERROR_CHECK(nvs_flash_erase());
err = nvs_flash_init();
}
ESP_ERROR_CHECK( err );
// Open
printf("\n");
printf("Opening Non-Volatile Storage (NVS) handle... ");
nvs_handle my_handle;
err = nvs_open("storage", NVS_READWRITE, &my_handle);
if (err != ESP_OK) {
    printf("Error (%s) opening NVS handle!\n", esp_err_to_name(err));
} else {
    printf("Done\n");

    // Read
    printf("Reading restart counter from NVS ... ");
    int32_t restart_counter = 0; // value will default to 0, if not set yet in NVS
    char data [128] =<EMAIL_ADDRESS>    char str [128];
    size_t length;
    err = nvs_get_str(my_handle, "user_email", str, &length);
    switch (err) {
        case ESP_OK:
            printf("Done\n");
            printf("email address: = %s\n", str);
            break;
        case ESP_ERR_NVS_NOT_FOUND:
            printf("The email addr is not initialized yet!\n");

            // Write
            printf("Updating email address NVS ... ");
            restart_counter++;
            err = nvs_set_str(my_handle, "user_email", data);
            printf((err != ESP_OK) ? "Failed!\n" : "Done\n");

            // Commit written value.
            // After setting any values, nvs_commit() must be called to ensure changes are written
            // to flash storage. Implementations may write to storage at other times,
            // but this is not guaranteed.
            printf("Committing updates in NVS ... ");
            err = nvs_commit(my_handle);
            printf((err != ESP_OK) ? "Failed!\n" : "Done\n");

            break;
        default :
            printf("Error (%s) reading!\n", esp_err_to_name(err));
    }

    // Close
    nvs_close(my_handle);
}

printf("\n");

// Restart module
for (int i = 10; i >= 0; i--) {
    printf("Restarting in %d seconds...\n", i);
    vTaskDelay(1000 / portTICK_PERIOD_MS);
}
printf("Restarting now.\n");
fflush(stdout);
esp_restart();

}
what you are doing is pretty much what am doing as well, i really don't
get what could be wrong on my main code. i have attached a gist
https://gist.github.com/AbdeenM/6b6de7080952e59e2c1052f7e12bc5ea,
please have a look and let me know what you think.
The flow is as follows:

once the device launches, it checks if wifi ssid and password are
available. (if not it runs wifi provisioning)
after confirming wifi is provisioned it checks if aws is
provisioned. (if not it runs aws provisioning)
after confirming aws is provisioned it connects to aws and handles
other functions.

Thanks again
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/5475#issuecomment-650723966,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBFY6QBVJXHKY25GBDJ7XLRY4EDBANCNFSM4ODXXPEQ
.

@igrr Of course! that was it. thank you so much for the catch, that fixed my problem.
i refactored my code as it was abit of a mess on how am handling nvs.
Thanks again i will close the issue now.


changing based on new information

changing based on new information

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

when is it going to go live?

@LauraWi PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@Christopher J Fox<EMAIL_ADDRESS>-- Since this is Information Barrers, can you take a look? Thanks!

From: Manuela Scanu<EMAIL_ADDRESS>Sent: Tuesday, November 10, 2020 8:08 PM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness<EMAIL_ADDRESS>Cc: Laura Williams<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] changing based on new information (#6146)
Assigned #6146https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fpull%2F6146&data=04|01|Laura.Williams%40microsoft.com|45340b8a8c7b49f3d57408d885f7635d|72f988bf86f141af91ab2d7cd011db47|0|0|637406644857122351|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=xLpW9gH71zeIMWUn0jueeUMKOp7xdaOZnnKnrJIENvc%3D&reserved=0 to @LauraWihttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FLauraWi&data=04|01|Laura.Williams%40microsoft.com|45340b8a8c7b49f3d57408d885f7635d|72f988bf86f141af91ab2d7cd011db47|0|0|637406644857132342|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=k8nuCb1Adna3vl1umKWVXd1S2yPy0H0xW6Wvj34X%2FDw%3D&reserved=0.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fpull%2F6146%23event-3982005025&data=04|01|Laura.Williams%40microsoft.com|45340b8a8c7b49f3d57408d885f7635d|72f988bf86f141af91ab2d7cd011db47|0|0|637406644857132342|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=PMpvYC4Y82DmsdoVo72X8UOCoACRHEd%2F%2FYc%2B%2FyPSJxA%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAH243MJVLJS3GCQRAIHBPB3SPIE2JANCNFSM4TLW5DDA&data=04|01|Laura.Williams%40microsoft.com|45340b8a8c7b49f3d57408d885f7635d|72f988bf86f141af91ab2d7cd011db47|0|0|637406644857142409|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=w5IZPUSD7iwn7d9qEyWCX0fW4vwVCTA1kaTl7ZBHJOM%3D&reserved=0.

Assigned myself, merged.  Should be live in 24 -35 hrs
Christopher J. Fox
Senior Content Developer |<PHONE_NUMBER> | chrfox<EMAIL_ADDRESS>I identify with these pronouns he, him, his
From: Laura Williams<EMAIL_ADDRESS>Sent: Wednesday, November 11, 2020 8:28 AM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness<EMAIL_ADDRESS>MicrosoftDocs/OfficeDocs-SkypeForBusiness<EMAIL_ADDRESS>Christopher J Fox (OFFICE<EMAIL_ADDRESS>Cc: Assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] changing based on new information (#6146)
@Christopher J Fox<EMAIL_ADDRESS>-- Since this is Information Barrers, can you take a look? Thanks!

From: Manuela Scanu <notifications<EMAIL_ADDRESS>Sent: Tuesday, November 10, 2020 8:08 PM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness <OfficeDocs-SkypeForBusiness<EMAIL_ADDRESS>Cc: Laura Williams <Laura.Williams<EMAIL_ADDRESS>Assign <assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] changing based on new information (#6146)
Assigned #6146https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fpull%2F6146&data=04|01|chrfox%40exchange.microsoft.com|edaaa3115a68484e5bdd08d8865eb0b6|72f988bf86f141af91ab2d7cd011db47|0|0|637407088533743899|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=9yDOifUpPZxYDUbuYZLzMXJPnchdN9ZZaYi4M5bYr%2BU%3D&reserved=0 to @LauraWihttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FLauraWi&data=04|01|chrfox%40exchange.microsoft.com|edaaa3115a68484e5bdd08d8865eb0b6|72f988bf86f141af91ab2d7cd011db47|0|0|637407088533748890|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=P6hnHquEuvgHBS9hrkVxrUc3tl3HCTjdOb59lghkBMk%3D&reserved=0.

You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fpull%2F6146%23event-3982005025&data=04|01|chrfox%40exchange.microsoft.com|edaaa3115a68484e5bdd08d8865eb0b6|72f988bf86f141af91ab2d7cd011db47|0|0|637407088533753880|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=vxzfxJy43DwmpezPypA%2FxGsWA4J7%2Br7T6sc%2BVVnpeUQ%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAH243MJVLJS3GCQRAIHBPB3SPIE2JANCNFSM4TLW5DDA&data=04|01|chrfox%40exchange.microsoft.com|edaaa3115a68484e5bdd08d8865eb0b6|72f988bf86f141af91ab2d7cd011db47|0|0|637407088533758875|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=9zCed9jWP8pmMagCT5FAN9nn8cjdV%2BrBpnPqWl0QDyw%3D&reserved=0.


Unable to setup a working environment using embeddable CPython

I'm getting this error in the interactive window using a custom environment with the embeddable zip distribution of CPython 3.6.3:
Failed to start interactive process:
System.ComponentModel.Win32Exception (0x80004005): Incorrect function
   at Microsoft.PythonTools.Repl.PythonInteractiveEvaluator.<ConnectAsync>d__43.MoveNext()

Current interactive window is disconnected.

This happens for both x86 and x64 embeddable zips.
I do not have any version of Python installed on my machine and PYTHONPATH is not defined.
Using Visual Studio Community 2017 (v15.4.1) and the latest PTVS (v3.0.17262.1).
Any assistance would be appreciated. Thanks!

The embeddable zip is not supported for use from Visual Studio. You should use the full installer for CPython (the "Python developer kit" as I like to think of it). You do not need administrative privileges to install Python 3.6, though the default settings will try to install the launcher for all users, so you'll have to uncheck that box.
You could also use the nuget packages if you have a need for zero-impact install.


[iOS] Selfie should use iOS SDK

Migrate to use SDK via CocoaPods. This means SDK needs to implement:

Camera selection https://github.com/EricssonResearch/openwebrtc-ios-sdk/issues/7
Rotation https://github.com/EricssonResearch/openwebrtc-ios-sdk/issues/33
Mirroring https://github.com/EricssonResearch/openwebrtc-ios-sdk/issues/34

Fixed in https://github.com/EricssonResearch/openwebrtc-examples/pull/132

Done.


optimization optimization JAVA_OPTS for be conf and be bin

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
-Xlog:gc Is a false choice，The correct way to write it is -Xloggc

Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.03 seconds
stream load tsv:          420 seconds loaded<PHONE_NUMBER>9 Bytes, about 169 MB/s
stream load json:         23 seconds loaded<PHONE_NUMBER> Bytes, about 97 MB/s
stream load orc:          59 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230425062558_clickbench_pr_134574.html

run buildall


Xamarin SDK

I was wondering if there is any news about a Xamarin.Android/ IOS version.
It was teased in this request #76, but since then a year has passed and there is still no info about a xamarin version.
An alternativ would be a guide how to use it with Binding Libraries, which is possible but definitly not optimal.

The release in September sounds realy nice.
At the moment i`m working with a Java Binding Library which is kind of a pain.

@jhakulin I would like to get the Enities from my queries but unfortunately i`m not able to find where\how they are returned.
Can you help?

Currently for Xamarin UWP or Android, you could also build plugin using C# bindings which may be easier. See Android as an example below:

Get C# dll from https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech/
Extract nuget package and locate “Microsoft.CognitiveServices.Speech.csharp.dll” under
microsoft.cognitiveservices.speech.1.6.0\runtimes\linux-x64\lib\netstandard2.0
Get .aar package from your users directory (which is configured for Android Studio, normally C:\Users) after you have built following sample app on Android Studio
https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/quickstart-java-android
Name of the .aar package you should look for is “client-sdk-1.6.0.aar”
Extract .aar package and locate “libMicrosoft.CognitiveServices.Speech.core.so” of your required flavor
Integrate Microsoft.CognitiveServices.Speech.csharp.dll and libMicrosoft.CognitiveServices.Speech.core.so into your Xamarin app project

Anyways we are working on this for the coming release so that you can directly use .nuget package in your Xamarin project.

Hey @jhakulin  is there any news when the release will be finished?

Thanks for feedback,
Plan is to release support for Xamarin UWP, Android and iOS this week.
Custom wake-word (keyword recognizer) is available in UWP, however not currently included to Xamarin Android or Xamarin.iOS.

Is it already out/where can i find it?

Apologies for waiting, we are still working on to finalize final bits for the release, release should be out at the beginning of coming week.

@SOliasS 1.7.0 release is now out and Xamarin support is released as beta version. Let us know any issues with it.

@jhakulin Nice. But where can i find it? ;)
The documentation doesn´t seem to be updated yet.

Docs are being updated now, you can find Xamarin support from Microsoft.CognitiveServices.Speech nuget for UWP, Android, and iOS. Also check quickstart documentation here
https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/quickstart/csharp-xamarin

Everything is working as expected so far.
Realy @jhakulin you did an amazing job, thanks.
One thing i was wondering... Is it is possible to get the entities or the probability of a result back?
https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-concept-entity-types
If you target the API you can get them but in the SDK i couldn't find a way to access the additional informations.
These informations are quite essential for working with the SDK.

That is great to hear, thanks for information. Let us know if issues raises.
Related to entities/probability of results, would the Intent recognition provide the functionality you need?
https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/how-to-recognize-intents-from-speech-csharp

No... for example if i would like the user to select something: select Product number 5.
i would ether have to create a Intent for every product i have... product 1 product 2 and so on, or i would have to analyse the spoken words again to look for the number(which could be 5, fifth, and so on).
Both Solutions would be quite complicated and unnecessary time consuming because luis does that already for me.
With entities i would get for example a List with one Entity{Number, 5} and would not have to look by myself.

I will check internally what can be done for the entity request. In the meantime, would you mind to create separate issue for that ?

Hi,
I just downloaded  Microsoft.CognitiveServices.Speech 1.8.0 from nuget and tried to run the quickstart at https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/quickstart/csharp/xamarin  in a Oreo (Android 8.1) emulator/
And getting the same issue:

Did something regress in v 1.8.0?
Is there a way to work around this issue by copying libMicrosoft.CognitiveServices.Speech.core.so into the device manually?

@josephsctan Thanks for the feedback, I can reproduce some issues with x86 emulator, dll is found correctly, but app does not work correctly. I will investigate more and let you know.
We did our release testing with all flavors (arm64, arm32, x86), but I have seen issues with Android emulators not been reliable also in past.
Did you try with Android HW device?

@jhakulin
Presently unable to test with an Android HW device since the Xamarin Forms dependencies requires Android 8.1 and above and I don't have one of those.
Is there a simple workaround? I can see libMicrosoft.CognitiveServices.Speech.core.so for various architectures shipped in the nuget package, but copying them to the (emulated) device doesn't seem to work.

Hmm, we have not seen issues with devices which use Android 8.1, we probably have not tested Android 6.0 recently.
For workaround you can try following:

Remove the nuget from all projects inside the solution using VS Package Manager
Add reference to C# dll from nuget's lib\monoandroid to the main project
Add Android native library from nuget's \build\monoandroid\libs directory to Android specific project, look details from here: https://docs.microsoft.com/en-us/xamarin/android/platform/native-libraries
And then build Android project again

@josephsctan did that workaround help you forward?
Related to Xamarin and Android emulator, I was experiencing a crash and created a ticket to Xamarin side for further investigation.
https://github.com/xamarin/xamarin-android/issues/3989

Hi @jhakulin
Thanks for the workaround. I think its working but not 100% sure. When I tried it, the original error  - unable to find the  libMicrosoft.CognitiveServices.Speech.core.so -  went away.
Now the app is continually crashing - same error as you got in xamarin/xamarin-android#3989.

@josephsctan We will investigate emulator issue further, please use Android HW (if feasible) for testing.

x86 emulator issue will be fixed in 1.10 release (ETA at the end of Feb)

Hi @jhakulin,
We are facing the same issue, is the issue fixed?
Thanks,
Edward

@Edwardfelix08 Which issue you you have, emulator problem ? Do you use v1.10.0 release?

hey there - I'm using 1.10 now and the emulator issue's gone away

Hi @jhakulin ,
We are still facing this issue.
"https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/363#issuecomment-560172449"
Thanks
Edward

@Edwardfelix08, do you use Speech SDK 1.10.0 version and x86 Android emulator?

We are having this issue as well, on 1.13.0 latest:
Exception thrown when calling:
SpeechConfig.FromSubscription
libMicrosoft.CognitiveServices.Speech.core.so assembly: type: member:(null)'

@upsilondynamics Thanks for report, I have seen occasionally this problem, but that has disappeared after clean-up/restoring nuget packages. Could you try removing bin and obj directories from the projects of your Xamarin app and also restore nuget packages for solution ?

@jhakulin Tried that and still not working:
System.DllNotFoundException: 'libMicrosoft.CognitiveServices.Speech.core.so assembly:<unknown assembly> type:<unknown type> member:(null)

I should ask, does this happen only in the simulator? @jhakulin

@upsilondynamics Speech SDK supports x86 version of simulator with Xamarin, you should not see problems to load speech sdk core library with that either.
Is this first project where you have integrated speech SDK with Xamarin and the issue happened or has the problem happened first time now with 1.13.0 release and worked with previous versions of Speech SDK? I would need to be able to reproduce to investigate further.

@upsilondynamics Also please let me know which version Visual Studio and Xamarin.Android SDK you have?

@jhakulin
Pasted my info here:
Microsoft Visual Studio Professional 2019
Version 16.7.2
VisualStudio.16.Release/16.7.2+30413.136
Microsoft .NET Framework
Version 4.8.03752
Installed Version: Professional
ADL Tools Service Provider   1.0
This package contains services used by Data Lake tools
ASA Service Provider   1.0
ASP.NET and Web Tools 2019   16.7.532.28833
ASP.NET and Web Tools 2019
ASP.NET Core Razor Language Services   <IP_ADDRESS>5807+72d099b977d3a85e65fa3b0614ca8cfc803fef02
Provides languages services for ASP.NET Core Razor.
ASP.NET Web Frameworks and Tools 2019   16.7.532.28833
For additional information, visit https://www.asp.net/
Azure App Service Tools v3.0.0   16.7.532.28833
Azure App Service Tools v3.0.0
Azure Data Lake Node   1.0
This package contains the Data Lake integration nodes for Server Explorer.
Azure Data Lake Tools for Visual Studio   2.4.6000.0
Microsoft Azure Data Lake Tools for Visual Studio
Azure Functions and Web Jobs Tools   16.7.532.28833
Azure Functions and Web Jobs Tools
Azure Stream Analytics Tools for Visual Studio   2.4.6000.0
Microsoft Azure Stream Analytics Tools for Visual Studio
Bundler & Minifier   2.8.396
Adds support for bundling and minifying JavaScript, CSS and HTML files in any project.
C# Tools   3.7.0-6.20412.3+d3c3a44a4e7ad31cc75c59be0d3df4a19ff33878
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
Extensibility Message Bus   1.2.6 (master@34d6af2)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.
Fabric.DiagnosticEvents   1.0
Fabric Diagnostic Events
IntelliCode Extension   1.0
IntelliCode Visual Studio Extension Detailed Info
JetBrains ReSharper 2020.2.1   Build 202.0.20200820.125348
JetBrains ReSharper package for Microsoft Visual Studio. For more information about ReSharper, visit http://www.jetbrains.com/resharper. Copyright © 2020 JetBrains, Inc.
Microsoft Azure HDInsight Azure Node   2.4.6000.0
HDInsight Node under Azure Node
Microsoft Azure Hive Query Language Service   2.4.6000.0
Language service for Hive query
Microsoft Azure Service Fabric Tools for Visual Studio   16.0
Microsoft Azure Service Fabric Tools for Visual Studio
Microsoft Azure Stream Analytics Language Service   2.4.6000.0
Language service for Azure Stream Analytics
Microsoft Azure Stream Analytics Node   1.0
Azure Stream Analytics Node under Azure Node
Microsoft Azure Tools   2.9
Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.30701.1
Microsoft Continuous Delivery Tools for Visual Studio   0.4
Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.
Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft Library Manager   2.1.79+ge3567815aa.RR
Install client-side libraries easily to any web project
Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual Studio Tools for Containers   1.1
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.
Mono Debugging for Visual Studio   16.7.5 (112c7bc)
Support for debugging Mono processes with Visual Studio.
NuGet Package Manager   5.7.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/
ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
SQL Server Data Tools   16.0.62008.03130
Microsoft SQL Server Data Tools
Syncfusion Xamarin Project Templates   <IP_ADDRESS>
A multi-project template for building iOS, Android, and Windows apps using Syncfusion Xamarin components.
Syncfusion Xamarin Toolbox   <IP_ADDRESS>
Syncfusion Essential Studio for Xamarin Toolbox Visual Studio extension.
SyncfusionMenu Extension   1.0
SyncfusionMenu Visual Studio Extension Detailed Info
ToolWindowHostedEditor   1.0
Hosting json editor into a tool window
TypeScript Tools   16.0.20702.2001
TypeScript Tools for Microsoft Visual Studio
Visual Basic Tools   3.7.0-6.20412.3+d3c3a44a4e7ad31cc75c59be0d3df4a19ff33878
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual F# Tools <IP_ADDRESS> for F# 4.7   16.7.0-beta.20361.3+3ef6f0b514198c0bfa6c2c09fefe41a740b024d5
Microsoft Visual F# Tools <IP_ADDRESS> for F# 4.7
Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
Visual Studio Container Tools Extensions (Preview)   1.0
View, manage, and diagnose containers within Visual Studio.
Visual Studio Tools for Containers   1.0
Visual Studio Tools for Containers
Visual Studio Tools for Kubernetes   1.0
Visual Studio Tools for Kubernetes
Visual Studio Tools for Unity   <IP_ADDRESS>
Visual Studio Tools for Unity
VisualStudio.DeviceLog   1.0
Information about my package
VisualStudio.Foo   1.0
Information about my package
VisualStudio.Mac   1.0
Mac Extension for Visual Studio
Xamarin   <IP_ADDRESS>0 (d16-7@358f3c6)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin Designer   <IP_ADDRESS>5 (remotes/origin/d16-7@79c0c522c)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
Xamarin Templates   16.7.85 (1bcbbdf)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.
Xamarin.Android SDK   <IP_ADDRESS> (d16-7/025fde9)
Xamarin.Android Reference Assemblies and MSBuild support.
Mono: 83105ba
Java.Interop: xamarin/java.interop/d16-7@1f3388a
ProGuard: Guardsquare/proguard/proguard6.2.2@ebe9000
SQLite: xamarin/sqlite/3.32.1@1a3276b
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-7@017078f
Xamarin.iOS and Xamarin.Mac SDK   <IP_ADDRESS> (817b6f72a)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

Also noticing that,
.Recognized result returns with an empty string of text, is the emulator expected to retrieve microphone input via the computer?
Thanks

@upsilondynamics Are you saying the original problem got resolved and now you see issue with microphone?

@jhakulin  Oddly enough, the problem is now resolved.  The only issue I am seeing is, in the emulator it returns an empty string; but works when deployed to an Android device.  Have yet to confirm with iOS yet, but that;s next.  Will report back if I have any other issues.

@upsilondynamics Thanks for information,, what might resolve the original issue ? As mentioned before I have seen that also but after a while (clean-up or nuget restore or VS project relaunch) have solve the issue. There could be a configuration issue with microphone and Xamarin Android emulator,

@jhakulin  I have resolved the above issues, but with iOS I am getting this error after requesting microphone access:
System.Exception   Message=Could not initialize an instance of the type 'AVFoundation.AVAudioPlayer': the native 'initWithContentsOfURL:error:' method returned nil. It is possible to ignore this condition by setting ObjCRuntime.Class.ThrowOnInitFailure to false.

@upsilondynamics Are you using iOS simulator or device ? Does this problem happen with Speech SDK Xamarin sample ?

@jhakulin This is on the simulator itself, I haven't tried the Xamarin Sample in it's purest form yet.
Heres the status:
Android
1 - On hardware device dictates 100% and works beauttifully
2- In simulator, won't dictate; but app doesn't crash - could be due to simulator settings?
iOS
1 - On hardware device - have not yet tested but will
2 - On simulator just crashes with above exception given.

@upsilondynamics Do you make request for mic permission similarly is Xamarin sample ?
https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/84c6ddbcd340c2c87b68e20581c606a1c34758f0/quickstart/csharp/xamarin/helloworld/helloworld.iOS/Services/MicrophoneService.cs#L22
Xamarin sample works well for iOS device and simulator with microphone

I did yes, it seems doing this fixed the issue:
iOSMicrophoneService.cs
`        void RequestMicPermission()
{
ObjCRuntime.Class.ThrowOnInitFailure = false;
        var session = AVAudioSession.SharedInstance();
        session.RequestRecordPermission((granted) =>
        {
            if(tcsPermissions != null)
                tcsPermissions.TrySetResult(granted);
        });
    }`

@upsilondynamics That is interesting, thanks for information, great there is a workaround.


Incorrect background shorthand handling

When there are no spaces between ) and url (usually generated by another css minifier), clean-css will break:
.a{background:rgba(0,0,0,0)url(//example.com/a.jpg)}

Minified:
.a{background:0 0}

Looks like a bug in advanced optimizations, as it works OK with --skip-advanced flag.

Already fixed on master thanks to the new tokenizer. Added a test case to prevent regressions.


Request: non-minified version of c3-angular

Currently c3-angular is distributed only in minified version. This makes it very difficult to perform any analysis of troubles.
See as example the analysis I did for issue 39, which cost me hours of pain:
https://github.com/jettro/c3-angular-directive/issues/39#issuecomment-149556437
Request is to be in condition to download also a non-minified copy of the code.

At the moment I ignore the non minified version. I do not really see a problem to include it. Will do that in the next release. The non minified version is in the examples folder by the way. So you can check it. Also in browsers the .map file is used to make the minified version readable again.

Released version 1.0.1, now with non-minified version


Fix for #530

I hardcoded the index but it might be better to iterate over the array and find the entry to remove.

Thanks!


Build Custom Filter outside the React Bootstrap Table

Hi @AllenFang, for start let me congratulate you for this amazing project, this really is a life saving, and I would like to know if it's possible to create some filter components, for example build a text input, outside the table and have access to the trigger events that filter the table.
Let me know if you have any doubt about the question.
Best Regards and great work on this ;)

@eduAbreu thanks :) and your requirement is totally available in react-bootstrap-table. but something I need to confirm, when you filtering the data, do you need to specify a column? or maybe actually, you need a search on the data?

@AllenFang thanks for the quick response.
I don't really need on the specific column, so you suggest instead of trying to trigger the filter method I do a search on table?

@eduAbreu sorry for lately reply, and yes, you should using search, BootstrapTable have a exposed API: handleSearch can help you. call with with the search text. ;)


Cannot use variables in quieres

Hi Guys,
Really like this version of the plugin,  is it possible to use variables in the queries, particularly nested variables, e.g. venues, products, symbols...
Thanks

Hello Alex, Are you referring to the Grafana variables?  If so, then at the moment this adaptor doesn't support them, but it's something we're hoping to add in the next version.

Yes, those will be very useful to have. Do you have a potential eta?

Not yet I'm afraid.  Although support for the Grafana variables is definitely one of things on our radar we were going to see what feedback we got from our initial release to help inform and prioritise the to-do's.  I can keep you posted though.

I'd be very interested to see support for variables in kdb queries.

to this request

Hi @AlexSemenovIRL
Thank you for opening this issue. I'm really interested in to use Grafana variables. Our team is using this plugin and would like to have this feature. Could you tell me when you are planning to do this IF you have a chance?


Pull Request Preview Environments for increasing maintainer productivity

I would like to make life easier for Answer maintainers by implementing Uffizzi preview environments.
Disclaimer: I work on Uffizzi.
Uffizzi is a Open Source full stack previews engine and our platform is available completely free for Answer (and all open source projects). This will provide maintainers with preview environments of their PRs in the cloud, allowing them iterate faster and reduce time to merge. You can see the open source repos which are currently using Uffizzi over here
Uffizzi is purpose-built for the task of previewing PRs and it integrates with your workflow to deploy preview environments in the background without any manual steps for maintainers or contributors.
I can go ahead and create an Initial PoC for you right away if you think there is value in this proposal.
TODO:

[ ] Intial PoC

Sounds good, please go ahead. Respond here if you have any problems.

BTW, please edit your issue to remove the advertising description. Just keep the task purpose.

@joyqi Thank you. I will update the issue in that case.


Fix outliner display of newly created subflow

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes

After creating subflow from Subflows > Selections to Subflow menu,  outliner leaves empty item in tree list as shown below:

This PR tries to fixe this problem.
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage increased (+0.02%) to 77.54% when pulling bc3683d8f69ae8e6439fecff10cde8bfe7c7f8b2 on node-red-hitachi:fix-outliner-subflow into fbd911ed274f62c422bcbeb98de4ca8f310bec2e on node-red:dev.

Thanks - I had noticed this, but hadn't got around to tracking it down yet.


issue with git checkout master

are you change or rename or delete  the name of a directory/file in your git repo?
if you done this please close the git bash and re-open again.

got it


Add REST API call to ingest file already in iRODS

Add REST API call to ingest file already in iRODS, in the same zone as HydroShare, but potentially residing on another resource server.

@jbradberry I am putting this on your plate since it is REST API related. I can help with iRODS part of things when we get to this issue. We will see whether a use case exists that can drive implementation of this issue.

@alvacouch this seems to be part of 3rd party storage inasmuch as iRODS is here a 3rd party place to get files from.  We can ingest files from iRODS, but not sure if this can be done from the API.  If it can - close.  If not please coordinate with Scott on getting to be part of API.

Made irrelevant by strategic changes to IRODS use.


Patch react-awesome-styled-grid

What

Patched usage of global in react-awesome-styled-grid, it was causing problems in browser & test environment

Compatibility

[x] Does this change maintain backward compatibility?

Screenshots
Before
After

Could you elaborate on problems in browser & test environment?
From what I see, root cause of the problem comes from https://github.com/donavon/use-event-listener.
I'm aware that sometimes patching deps may be necessary, but I'd rather use it as a last resort and leave extensive comment why it's done to have full context on how to get rid of it in the future

Could you elaborate on problems in browser & test environment?
From what I see, root cause of the problem comes from https://github.com/donavon/use-event-listener.
I'm aware that sometimes patching deps may be necessary, but I'd rather use it as a last resort and leave extensive comment why it's done to have full context on how to get rid of it in the future

It uses global that becomes undefined both in the browser & in test environment
https://github.com/santosfrancisco/react-awesome-styled-grid/issues/138
https://github.com/vitejs/vite/issues/728#issuecomment-76716868

This causes test failures (cannot add event listener to undefined)

react-awesome-styled-grid seems to no longer be actively maintained (last release september 2021), the risk of update that will break the patch is unlikely (it's pretty easy to modify the patch anyway)

Could you elaborate on problems in browser & test environment?
From what I see, root cause of the problem comes from https://github.com/donavon/use-event-listener.
I'm aware that sometimes patching deps may be necessary, but I'd rather use it as a last resort and leave extensive comment why it's done to have full context on how to get rid of it in the future

It uses global that becomes undefined both in the browser & in test environment
santosfrancisco/react-awesome-styled-grid#138 vitejs/vite#728 (comment)
This causes test failures with vitest (cannot add event listener to undefined)

react-awesome-styled-grid seems to no longer be actively maintained (last release september 2021), the risk of update that will break the patch is unlikely (it's pretty easy to modify the patch anyway)

Thanks for detailed context 😉
From what I see, vitest seems to be able to configure global API for tests - see: https://vitest.dev/config/#globals.
Same for vite it seems that are other workarounds that are not patching libs - https://github.com/aws-amplify/amplify-js/issues/9639#issuecomment-1081781840.
I don't wanna block the PR, since 2 other guys approved it, but I feel we may have similar problems with other libs and maybe the links above may suggest alternative solution to tackle the problem 😉


Run target source pattern matching in parallel

As this transform closure does not access anything outside of its
closure and does not mutate any singletons, then it seems to be safe
to run this mapping in parallel.
In our project with 47 Targets and ~7000 files across them, the project generation time went from 6s to 3.2s:
> hyperfine 'current_xcodegen' 'parallel_xcodegen'
Benchmark 1: current_xcodegen
  Time (mean ± σ):      5.917 s ±  0.123 s    [User: 5.374 s, System: 2.368 s]
  Range (min … max):    5.757 s …  6.078 s    10 runs

Benchmark 2: parallel_xcodegen
  Time (mean ± σ):      3.210 s ±  0.045 s    [User: 5.603 s, System: 1.439 s]
  Range (min … max):    3.135 s …  3.276 s    10 runs

Summary
  'parallel_xcodegen' ran
    1.84 ± 0.05 times faster than 'current_xcodegen'

Great, thanks @alvarhansen! Could you add a changelog entry too please

@yonaskolb, fixed. Added changelog entry.


EXTERNAL-IP not assigned

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", BuildDate:"2018-04-12T14:26:04Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", BuildDate:"2018-04-12T14:14:26Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

$ kubectl apply -f https://j.hept.io/contour-deployment-rbac
namespace "heptio-contour" created
serviceaccount "contour" created
deployment.extensions "contour" created
clusterrolebinding.rbac.authorization.k8s.io "contour" created
clusterrole.rbac.authorization.k8s.io "contour" created
service "contour" created

$ kubectl get all -n heptio-contour                                                                                master
NAME                           READY     STATUS    RESTARTS   AGE
pod/contour-656c6fd69b-6wlb2   2/2       Running   0          3m
pod/contour-656c6fd69b-pmmtd   2/2       Running   0          3m

NAME              TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
service/contour   LoadBalancer   <IP_ADDRESS>   <pending>     80:31556/TCP,443:32074/TCP   3m

NAME                      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/contour   2         2         2            2           3m

NAME                                 DESIRED   CURRENT   READY     AGE
replicaset.apps/contour-656c6fd69b   2         2         2         3m

$ kubectl get -n heptio-contour service contour -o wide
NAME      TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE       SELECTOR
contour   LoadBalancer   <IP_ADDRESS>   <pending>     80:31556/TCP,443:32074/TCP   10m       app=contour

How do I get an IP/DNS name under EXTERNAL-IP? I'm on AWS.

I also tried the norbac with the exact same results.

Check in your aws console, you’ve probably hit a limit or the apiserver lacks permission to request an elb.

On 20 Apr 2018, at 05:45, Michael Bushey<EMAIL_ADDRESS>wrote:
I also tried the norbac with the exact same results.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@mabushey could you post the Service definition manifest (with sensitive bits redacted)?

After talking to some of my more knowledgeable colleages they suggest kubectl -n heptio-contour describe svc contour to find out what has gone wrong with your cloud provider.

Hi Dave,
Thanks for looking into this. :) I set up the cluster with Typhoon (Terraform config), I'm not sure if it's doing something weird.
$ kubectl get -n heptio-contour service contour -o wide
NAME      TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)                      AGE       SELECTOR
contour   LoadBalancer   <IP_ADDRESS>   <pending>     80:32466/TCP,443:32000/TCP   16s       app=contour

$ kubectl -n heptio-contour describe svc contour
Name:                     contour
Namespace:                heptio-contour
Labels:                   <none>
Annotations:              kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"service.beta.kubernetes.io/aws-load-balancer-backend-protocol":"tcp"},"name":"contour",...
                          service.beta.kubernetes.io/aws-load-balancer-backend-protocol=tcp
Selector:                 app=contour
Type:                     LoadBalancer
IP:                       <IP_ADDRESS>
Port:                     http  80/TCP
TargetPort:               8080/TCP
NodePort:                 http  32466/TCP
Endpoints:                <IP_ADDRESS>:8080,<IP_ADDRESS>:8080
Port:                     https  443/TCP
TargetPort:               8443/TCP
NodePort:                 https  32000/TCP
Endpoints:                <IP_ADDRESS>:8443,<IP_ADDRESS>:8443
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

Awesome! Thank you. :)


push/pop instruction of Meaningless function seems incorrect

According to the document, assembly of Meaningless function begins as follows:
Meaningless:
010010e0 push    rbx                    ; save
010010e1 push    rsi                    ; save
010010e2 push    rdi                    ; save
010010e3 push    r12d                   ; save
010010e5 push    r13d                   ; save
010010e7 push    r14d                   ; save
010010e9 push    r15d                   ; save
010010eb sub     rsp,0x2c0              ; reserve stack
010010f2 mov     rbx,r9                 ; rbx = pszExe
010010f5 mov     r12d,r8d               ; r12 = fUnique (zero-extend)
010010f8 mov     r13d,edx               ; r13 = dispid  (zero-extend)
010010fb mov     rsi,rcx                ; rsi = pdisp

As far as I know, in x64, we cannot push 32-bit general purpose register (r12d ~ r15d); instead we should push 64-bit general purpose register (r12 ~ r15).
Same applies to pop instructions at the assembly of end part.

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

ID: 8b660a04-857a-f142-253c-6d5742fd3070
Version Independent ID: 9922156a-5d62-26b1-327e-7c83f00d28b0
Content: Annotated x64 Disassembly - Windows drivers
Content Source: windows-driver-docs-pr/debugger/annotated-x64-disassembly.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @DOMARS
Microsoft Alias: domars

@bupjae - Thanks for passing on your thoughts on the use of registers in the illustrative code snips shown. It is possible that how the  r12d ~ r15d registers are displayed has changed since this sample compile was done. And it is possible that different compiler options may impact register use as well. It is also possible that the decompile that was used, is showing the upper or lower part of the registers. For more detail on all of this,  see x64 Architecture. Also you can enable asm source code debugging to enable a closer to code experience. This is discussed in https://docs.microsoft.com/windows-hardware/drivers/debugger/debugging-in-assembly-mode In general this walkthrough is very basic and for more detailed information on register usage and overlap, refer to other more complete topics, such as the x64 tutorial from Intel. https://software.intel.com/content/www/us/en/develop/articles/introduction-to-x64-assembly.html. I added a few links to the topic to provide more information on the 32 64 bit views of disassembly. Thanks again for your interest in the docs and providing this input on the x64 disassembly topic.


Make second page of  the Website Responsive

@cleveranu
May I have permission to tackle this issue?

I can implement the described task. Can you assign me the task?

I would like to work on this issue under GSSOC'23. I would appreciate if the issue is assigned to me.

Hello Mam, I am a GSSOC'23 Contributor and wanted to contribute to this project, can you please assign this issue to me?

@vikashjalandra This issue is already assigned kindly look into another issue


feat: add sqs handler

Current dependencies on/for this PR:

main

PR #11

PR #12

PR #14

PR #13

PR #15

PR #16

PR #17

PR #18

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: 74QS0D26BjCoc1fjew09

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: MNQ6fIHHP2CutIWmkx44

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: ZixEesAXj0mMWpqHV7EA


add missing export syntax on docs

add missing export syntax for delay function, helloSaga, incrementAsync & watchIncrementAsync function generator because it's needed on the next step (testing section) of the tutorial

Q
A

Fixed Issues?
No

Patch: Bug Fix?
No

Major: Breaking Change?
No

Minor: New Feature?
No

Tests Added + Pass?
Yes

Any Dependency Changes?
No

Are those imported anywhere in this tutorial though?

Are those imported anywhere in this tutorial though?

Yep, I confirmed they are being imported in the steps following.


multi GPU capabilities

Hi, really interesting project.
Are there plans to make it multi-GPU ?

Hi there,
There is currently no plans to add code for multi-GPU. However I believe that is easily doable on your end using PyTorch. Let us know if you have other questions.


[BUG] There seems to be a bug in the redis mode of the cache plugin

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
I want to use redis mode of cache plugin
Expected Behavior
The redis mode of the cache plugin works fine.
Steps To Reproduce

Configure the cache plugin according to the documentation on the official website：https://shenyu.apache.org/zh/docs/plugin-center/cache/cache-plugin

run shenyu-admin \ shenyu-bootstrap \ shenyu-examples-http

Use redis mode

add selector

add rule

GET http://localhost:9195/http/test/cache

cache selector success match  and  cache rule success match

Environment
ShenYu version(s):latest

Debug logs
2022-06-13 23:17:57 [WebSocketConnectReadThread-43] INFO  org.apache.shenyu.plugin.sync.data.websocket.client.ShenyuWebsocketClient - handleResult({"groupType":"PLUGIN","eventType":"UPDATE","data":[{"id":"30","name":"cache","config":"{\"cacheType\":\"redis\",\"database\":\"0\",\"master\":\"master\",\"mode\":\"standalone\",\"url\":\"xxxxxxxx:6379\",\"maxIdle\":\"8\",\"minIdle\":\"0\",\"maxActive\":\"8\",\"maxWait\":\"-1\"}","role":"Cache","enabled":true,"sort":10}]})
2022-06-13 23:17:57 [WebSocketConnectReadThread-43] INFO  org.apache.shenyu.plugin.cache.handler.CachePluginDataHandler - use the redis cache.
2022-06-13 23:17:57 [WebSocketConnectReadThread-43] INFO  org.apache.shenyu.plugin.cache.handler.CachePluginDataHandler - cache plugin initialized.
2022-06-13 23:17:57 [WebSocketConnectReadThread-43] INFO  org.apache.shenyu.web.handler.ShenyuWebHandler - shenyu use plugin:[cache]
2022-06-13 23:18:01 [parallel-6] INFO  org.apache.shenyu.plugin.base.AbstractShenyuPlugin - cache selector success match , selector name :test
2022-06-13 23:18:01 [parallel-6] INFO  org.apache.shenyu.plugin.base.AbstractShenyuPlugin - cache rule success match , rule name :test
2022-06-13 23:18:01 [parallel-6] ERROR org.apache.shenyu.web.handler.GlobalErrorHandler - handle error: [ac957bb8-19] Resolved [IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread parallel-6] for HTTP GET /http/test/cache
java.lang.IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread parallel-6
	at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:83)
	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
	*__checkpoint ⇢ org.apache.shenyu.web.configuration.ErrorHandlerConfiguration$1 [DefaultWebFilterChain]
	*__checkpoint ⇢ org.apache.shenyu.web.filter.FileSizeFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.apache.shenyu.web.filter.CrossFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authorization.AuthorizationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authorization.ExceptionTranslationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authentication.logout.LogoutWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.savedrequest.ServerRequestCacheWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.context.SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.context.ReactorContextWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.header.HttpHeaderWriterWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ HTTP GET "/http/test/cache" [ExceptionHandlingWebHandler]
Original Stack Trace:
		at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:83)
		at reactor.core.publisher.Mono.block(Mono.java:1707)
		at org.apache.shenyu.plugin.cache.redis.RedisCache.getData(RedisCache.java:71)
		at org.apache.shenyu.plugin.cache.CachePlugin.doExecute(CachePlugin.java:52)
		at org.apache.shenyu.plugin.base.AbstractShenyuPlugin.execute(AbstractShenyuPlugin.java:93)
		at org.apache.shenyu.web.handler.ShenyuWebHandler$DefaultShenyuPluginChain.lambda$execute$0(ShenyuWebHandler.java:214)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
		at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299)
		at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:148)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
		at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:101)
		at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:282)
		at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863)
		at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:151)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
		at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
		at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2398)
		at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:110)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
		at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:451)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:219)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
		at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
		at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
		at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:85)
		at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400)
		at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2194)
		at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2068)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4400)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
		at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:102)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:608)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:588)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:465)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277)
		at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:294)
		at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:230)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:371)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157)
		at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
		at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onComplete(FluxDefaultIfEmpty.java:109)
		at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
		at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
		at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275)
		at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1817)
		at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337)
		at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354)
		at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
		at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180)
		at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181)
		at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
		at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
		at java.util.concurrent.FutureTask.run(FutureTask.java:266)
		at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
		at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
		at java.lang.Thread.run(Thread.java:748)

Anything else?
When I use memory mode it works fine

because cache plugin use blocking method, this is no allow.

    @Override
    public byte[] getData(final String key) {
        return this.redisTemplate.opsForValue().get(key).block();
    }

this use blocking method get data is not allowed.

I will submit new pr fix it.

@moremind  ok，thanks


Add Control to preferred types in Create Dialog

If the scene root inherited from Node2D/Node3D, search results would be biased towards those kind of types. This commit adds the same behaviour for Control nodes.

Thanks!

Note: #40034 fixed a crash from this commit and should also be cherry-picked.

Cherry-picked for 3.2.3.


Add service messages for stateful reconnect.

Add service messages for stateful reconnect.

Add message type to connection data message.
Add IsPartial to connection data message.
Add connection reconnect message for signal.

#1878


lodash should be dependency and not devDependency

this is intentional; just do npm install lodash map-values-deep --save


Load XML docs when using #r directives in scripting

Fixes #1026
At the moment, the RuntimeMetadataReferenceResolver on which we rely when processing #r directives in scripts, completely ignores XML docs https://github.com/dotnet/roslyn/blob/version-2.4.0/src/Scripting/Core/Hosting/Resolvers/RuntimeMetadataReferenceResolver.cs#L69
There is no simple hook in which we can inject it (unless we rewrite/copy entire resolver and all its dependencies), so the fix is applied via 😔 reflection 😔. I'll talk to Tomas to see if we can do something better on the Scripting API side, but for now this should at least fix the problem.
Also attached a test that verifies the functionality.

thanks! pushed the requested changes. Also added a changelog entry that I forgot before.


Add SQL panel extension

Hey @harish2704, it is ok for you to link your extension here? 😃 Thanks!

Sure.. I very happy to see my project listed here

Sure.. I very happy to see my project listed here

Nice, thanks for your quick response! 👍


azure service bus library does not support long running message processing in @Jmslistener tagged method

MaxAutoLockRenewal not possible while processing messages in @Jmslistener tagged method.  which leads the message back to queue for long running processes. library does not support long running message processing in @Jmslistener tagged method. Max lock duration can be set in azure to 5 min and any processing that requires longer time is not possible using azure jms library, which makes it only applicable to messaging where short processing time is sufficient. Not usable for batches or long running processing.
Please fix the underlying renewal automatically or by property setting.

Thank you for your feedback, we have added this to our backlog, however as this has a dependency on a new feature we are working on this will take some time. We will update this issue when we have more information.

We have added this feature in our backlog, however we currently don't have an ETA on when development might start on this. For now, to help us give this the right priority, it would be helpful to see others vote and support this feature, as well as explain their scenarios.


Do you have a plan to make a pagination feature?

When I visit the planet.nyaa.cat, I found it's too long.

Currently, no.
You can use the character limit function as an alternative.