Remove spin plugin update and fetch latest on spin plugin install

spin plugin --help and spin templates --help should have similar subcommands listed. Instead of a spin plugin update command to get the latest plugins from the spin plugins repo, spin plugin install should fetch latest and then install. Related to: https://github.com/fermyon/spin/issues/937
kagold@MacBook-Pro spin % spin templates --help
spin-templates
Commands for working with WebAssembly component templates

USAGE:
    spin templates <SUBCOMMAND>

OPTIONS:
    -h, --help    Print help information

SUBCOMMANDS:
    help         Print this message or the help of the given subcommand(s)
    install      Install templates from a Git repository or local directory
    list         List the installed templates
    uninstall    Remove a template from your installation

VS
kagold@MacBook-Pro spin % spin plugin --help
spin-plugin
Install/uninstall Spin plugins

USAGE:
    spin plugin <SUBCOMMAND>

OPTIONS:
    -h, --help    Print help information

SUBCOMMANDS:
    help         Print this message or the help of the given subcommand(s)
    install      Install plugin from a manifest
    uninstall    Remove a plugin from your installation
    update       Fetch the latest Spin plugins from the spin-plugins repository
    upgrade      Upgrade one or all plugins

Uh, I can't remember!  I suspect it dates back to when we defaulted to installing from main, and the idea was not to disturb the user's working templates unless they asked us to.  But now we install from a version-appropriate tag, and so it would perhaps be better to overwrite by default.  But honestly I'm not sure!

I can see it being useful for airgapped or edge scenarios where you only want to pull when necessary

But the (templates) implementation is to pull the entire Git repo anyway.  It's absurdly profligate even if all it ends up doing is going "welp there's nothing to install."
teeters on the edge of the 'how can we just download the bit we need' rabbit hole again

Doesnt it only pull it if it (.git) isnt found locally? The airgapped scenario i anticipate would be shipping the templates directory and plugins directory with the spin binary so it would never pull from remote

Templates are disconnected from their origin.  The install command pulls the repo to a temp drectory, copies the templates into the store, and then deletes the cloned repo.  This is (1) to achieve a flat namespace for the templates and (2) to avoid crufting up the user's storage with full clones of all source repos.

This makes a good point. I am not sure why we are retaining the plugins repo locally. I think we were modeling a bit after apt here but I dont see why we need to entire repo locally when we are just installing one plugin. We could similarly use tempdir and then delete it. @karthik2804 do you remember our reasoning here?

Heh, I hope I'm not making points - more just clarifying how the templates system works as built.  The disconnection brings weaknesses too.  E.g. it means a user who wants to update a template has to remember where it came from and "re-install" it.  Or, say, there's no way for spin new to check back on the source and say "hey this template is out of date, shall I grab the new version before you run it."  It's definitely not a model I'm trying to persuade you to follow.  If I'd had more time and willpower, I would likely have made different tradeoffs!

This is the thread that lead to the decision: https://github.com/fermyon/spin/pull/712#discussion_r953016347
It was to avoid the scenario of homebrew which had costs from doing clones every time

I think given that we originally made decisions we did to match what most package managers do (https://github.com/fermyon/spin/pull/712#discussion_r953016347), I think we should stick with the decisions we made and understand that templates and plugins are different (https://github.com/fermyon/spin/pull/941#pullrequestreview-1209019379) and may not need to have similar user experiences and they are dissimilar in many ways.


Building a Custom Subcommand example implementantion.

Describe the problem you are trying to solve
While trying to build a custom subcommand, even if is really easy, i find the lack of documentation and example not really helping, and since the thirdparty subcommand doesn't really follow any guidelines (for subcommands) makes it somehow hard to undestand.
Describe the solution you'd like
I wrote a very simple guide/tutorial showing how to build, install and test subcommand that should aid other people to build their own without much problem.
The example can be find in my clone repo, since i couldn't find the guidelines to add to the github wiki.
https://github.com/Klauswk/cargo/wiki/Building-a-Custom-Subcommand
Notes
If needed i can post the example in this issue as well.

FYI clap has an example for writing subcommands, see https://github.com/clap-rs/clap/blob/master/examples/cargo-example-derive.md


Gitlab upate

Project description
Gitlab is asking me to update my stack (13.0) to latest version for security reasons,
I tried to use the update script in git repository, and it doesn't seem to work, can
someone have a look at this script and update it (and the stack if possible).
cc @fpletz @globin @krav @talyz
Metadata

homepage URL: https://gitlab.com

#99116


add Crossmint NFT Minting API

[X] My submission is formatted according to the guidelines in the contributing guide
[X] My addition is ordered alphabetically
[X] My submission has a useful description
[X] The description does not have more than 100 characters
[X] The description does not end with punctuation
[X] Each table column is padded with one space on either side
[X] I have searched the repository for any relevant issues or pull requests
[X] Any category I am creating has the minimum requirement of 3 items
[X] All changes have been squashed into a single commit

Hi @pearlberry
Thanks for your contribution ;)
We have some problems with Public APIs, so we won't be able to review/add this improvement right now.
Read this issue for more information, please: https://github.com/public-apis/public-apis/issues/3104


[QUERY] Azure.Storage.DataMovement.Files.Share Upload Speed Limitation

Library name and version
Azure.Storage.DataMovement.Files.Share 12.0.0-beta.1
Query/Question
Hi there,
I am currently using the Microsoft.Azure.Storage.DataMovement [2.0.4] library in my .Net application to upload large files to an Azure File Share. With this DataMovement library, I can upload large files with no issues.
But, I see that the library depends on the deprecated Microsoft.Azure.Storage.File v11 library which has been deprecated for a while.
I first tried to migrate those libraries and use Azure.Storage.Files.Shares. But, when I'm uploading files, I can't reach the same upload speed I was able to get with the old DataMovement library. I observed that I am somehow limitated to an average upload speed of 20Mbps.
So, I waited and finally came across the new Azure.Storage.DataMovement.Files.Shares library. I was hoping this new library would do the same magic trick and allow me to upload larger files quickly. But, after using it, I see that I cannot reach higher upload speed than using only the V12 library.
So my question is, Is there a Azure Storage Account setting I need to change to be able to increase my maximum upload speed, or perhaps an option I need to activate? Or is there a hard limit to the upload speed with the new API?
If not, why can't I reach similar performance with V11 and V12 Share File uploads?
I've attached a Zip file containing my 3 implementation of how to upload a file in a File Share.
TestAzureApi.zip
You'll see the result I get when I upload a 400MB file from the screenshot below

Thanks!
Environment
No response

TestAzureApi.zip

Thank you for your feedback.  Tagging and routing to the team member best able to assist.
//cc: @xgithubtriage

Thanks @jsquire
Any update so far? I am available if you want help to reproduce the problem.

Hello @MCMaxD, thank you for filing this issue.
We’ve investigated this and have found some legacy constraints affecting performance in the v12 library that may no longer be applicable. Those constraints would have been reimplemented in the data movement API that rests on top of it. We will schedule work to validate those constraints can be safely removed.


Github module is broken for org repos

I am not sure if this is a problem with the github module itself or with node-github or with github's API, and I am not smart enough to figure it out.

I think what I'm actually seeing is a side effect of #52


Example training script for KFAC?

It mentions in https://github.com/deepmind/deepmind-research/blob/master/kfac_ferminet_alpha/README.md that there's an example training script using KFAC, whose link is broken. Could someone help fix the link or kindly provide a training script example?

See https://github.com/deepmind/deepmind-research/blob/master/kfac_ferminet_alpha/example.py


Springster styling phase 1

@projectmushroom  💯 🍰
As we discussed, 👍 to getting this to QA and will have a follow up of breaking the code to patterns on another branch on GEM & Molo.core


Create a SNRKS Clone

Is your feature request related to a problem? Please describe.
This would be a Website UI Clone
Describe the solution you'd like
I will use HTML, CSS, JS and Bootstrap Frame-work
Describe alternatives you've considered
No Alternative
Additional context

Assigned to u @Kumar-laxmi


How to get complete version of formatter for vscode.1.73.1

hello , which version is Compatible with vscode1.73.1, where can i get complete and Compatible version numbers?
thanks

You can look at the release dates at https://github.com/microsoft/vscode-black-formatter/releases to calculate which releases predate VS Code 1.73.1 and assume those will be compatible.


Add a title attribute for the Link element

Specific Demand
Since we can add a title attribute to the a element, it is expected to work for Link as well.

Implement Suggestion
pub struct LinkProps<'a> {
     pub title: Option<&'a str>,
}

render! {
        a {
            onclick: action,
            href: "{href}",
            prevent_default: "{prevent_default}",
            class: "{class}",
            id: "{id}",
            title: "{title}",
            rel: "{rel}",
            target: "{tag_target}",
            children
        }
    }

https://github.com/DioxusLabs/dioxus/pull/1349 lets components accept all props from an element (like <a>). It will make accepting all of the properties from a normal link possible


Delay/latency when streaming bluetooth audio (especially from Mac)

Firstly thanks for this great library, it's amazingly simple to use.
I noticed there's a slight delay(lag) between the source (Macbook) and the output (speakers), ~0.7s. It's especially noticeable when playing youtube videos.
Streaming from Android phone seems to have less latency (~0.2s)
It happens randomly, sometimes after i disconnect/reconnect it works ok (when both devices are connected).
Do you have any idea why and how this could be fixed?
--
Model		: Raspberry Pi 4 Model B Rev 1.1

I think there is nothing that can be done about this, it seems to be an inherent character of Bluetooth audio connections. When using a Mac, you are much much better off just using AirPlay – the audio quality is much better, and the latency is compensated automatically.


Adding multi_term aggregator support

Signed-off-by: Peng Huo<EMAIL_ADDRESS>Description
Adding multi_terms aggregator support.
To Reviewers
Limitation
The current implementation focuses on adding new type aggregates. Performance (latency) is not good. This solution is slow, mainly because of simply encoding/decoding a list of values into bucket keys. A performance improvement PR will be released at a later date.
Difference between terms and multi_terms aggregation

in aggregation result, boolean field value is represent as false/true instead of "false"/"true"
format is configured per terms instead of aggregation.

Demo
GET test_00001/_search
{
  "size": 0,
  "aggs": {
    "hot": {
      "multi_terms": {
        "terms": [{
          "field": "region"
        },{
          "field": "host"
        }],
        "order": {"max-cpu": "desc"}
      },
      "aggs": {
        "max-cpu": { "max": { "field": "cpu" } }
      }
    }
  }
}

# Results
"aggregations": {
    "hot": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 0,
      "buckets": [
        {
          "key": [
            "dub",
            "h1"
          ],
          "key_as_string": "dub|h1",
          "doc_count": 2,
          "max-cpu": {
            "value": 90.0
          }
        },
        {
          "key": [
            "dub",
            "h2"
          ],
          "key_as_string": "dub|h2",
          "doc_count": 2,
          "max-cpu": {
            "value": 70.0
          }
        },
        {
          "key": [
            "iad",
            "h2"
          ],
          "key_as_string": "iad|h2",
          "doc_count": 2,
          "max-cpu": {
            "value": 50.0
          }
        },
        {
          "key": [
            "iad",
            "h1"
          ],
          "key_as_string": "iad|h1",
          "doc_count": 2,
          "max-cpu": {
            "value": 15.0
          }
        }
      ]
    }
  }

Correctness Test
UT
add UT for each new added class.
IT

MultiTermsIT
370_multi_terms.yml

Performance Test

Slightly performance drop compared to script aggregation.
Significant performance drop compared to term aggregation.
Keyword fields perform worse than numeric fields.

Test Environment

OpenSearch 2.0, single node cluster.
Index: logs-201998 (esrally http_logs track)

OpenSearch multi_terms vs script
Goal

Getting to know the performance difference between multi_terms aggregation and terms script aggregation in OpenSearch.

queries
| multi_terms | painless
-- | -- | --
numeric | "aggs": {  "mterms": {    "multi_terms": {        "terms": [            {"field": "status"},            {"field": "size"}        ]    }  }} | "aggs": {  "sterm": {    "terms": {      "script": {        "source": "doc['status'].value + '|' + doc['size'].value",        "lang": "painless"      }    }  }}
mix (numeric + ip) | "aggs": {  "mterms": {    "multi_terms": {        "terms": [            {"field": "clientip"},            {"field": "size"}        ]    }  }} | "aggs": {  "sterm": {    "terms": {      "script": {        "source": "doc['clientip'].value + '|' + doc['size'].value",        "lang": "painless"      }    }  }}
sort by avg(size) | "aggs": {  "sterm": {    "terms": {      "field": "clientip",      "order": {"avg-size": "desc"}    },    "aggs": {      "avg-size": {"avg": {"field": "size"}}    }  }} | "aggs": {  "sterm": {    "terms": {      "script": {        "source": "doc['clientip'].value + '|' + doc['status'].value",        "lang": "painless"      },      "order": {"avg-size": "desc"}    },    "aggs": {      "avg-size": {"avg": {"field": "size"}}    }  }}
Test Result
Conclusion

Slightly performance drop compared to script aggregation.

Latency summary

Field/Agg
painless
multi_terms

numeric
1021.41
1901.96

mix
4654.4
4843.32

sort
4540.21
5336.51

multi_terms vs painless

OpenSearch multi_terms vs terms
Goal

Getting to know the performance difference between multi_terms aggregation and terms aggregation in OpenSearch.

Queries
| multi_terms | terms
-- | -- | --
numeric | "aggs": {  "mterms": {    "multi_terms": {        "terms": [            {"field": "status"},            {"field": "size"}        ]    }  }} | "aggs": {  "sterm": {    "terms": {      "field": "status"    }  }}
mix (numeric + ip) | "aggs": {  "mterms": {    "multi_terms": {        "terms": [            {"field": "clientip"},            {"field": "size"}        ]    }  }} | "aggs": {  "sterm": {    "terms": {      "field": "clientip"    }  }}
sort by avg(size) | "aggs": {  "sterm": {    "terms": {      "field": "clientip",      "order": {"avg-size": "desc"}    },    "aggs": {      "avg-size": {"avg": {"field": "size"}}    }  }} | "aggs": {  "sterm": {    "terms": {      "field": "clientip",      "order": {"avg-size": "desc"}    },    "aggs": {      "avg-size": {"avg": {"field": "size"}}    }  }}
Test Result
Conclusion

Significant performance drop compared to term aggregation.
Keyword fields perform worse than numeric fields.

Latency summary

Field/Agg
terms(ms)
multi_terms(ms)
multi_terms/terms

numeric
75.5294
1901.96
26.18

mix
130.958
4843.32
36.98

sort
460.177
5336.51
11.6

terms vs multi_terms

Issues Resolved
#1629
Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@penghuo LGTM, have a question, may be @nknize could also chime in: since this feature has significant performance impact (at the moment), should we guard it behind the setting (enable / disable) so the users would make the conscious decision of using it? Also, how large were the dataset which the feature were benchmarked against? (I don't see it anywhere).

Need to run spotlessApply and push...
* What went wrong:
Execution failed for task ':server:spotlessJavaCheck'.
> The following files had format violations:
      src/main/java/org/opensearch/search/aggregations/bucket/terms/MultiTermsAggregationFactory.java
          @@ -60,7 +60,8 @@
           ············true
           ········);

since this feature has significant performance impact (at the moment), should we guard it behind the setting (enable / disable)

Since this is a transient computation and nothing is persisted (e.g., not subject to on disk breaking changes) I'm not as concerned about a feature flag. If we plan to make a lot of changes to the public facing API then a feature flag would be more appropriate.

@penghuo LGTM, have a question, may be @nknize could also chime in: since this feature has significant performance impact (at the moment), should we guard it behind the setting (enable / disable) so the users would make the conscious decision of using it? Also, how large were the dataset which the feature were benchmarked against? (I don't see it anywhere).

Add Test Env section. We use index logs-201998 (esrally http_logs track)

I'd like to give @reta one more go at a review then we can merge to main and backport to 2.1.


UX: timing of when to touch the YubiKey during identity generation is not clear

What were you trying to do
When attempting to set up the initial identity on the YubiKey there is a step after PIN entry where the plugin prompts the user to touch the YubiKey. (This prompt was not preserved in my Terminal output.) However, after touching the YubiKey, the plugin fails to generate the identity.
After a lot of fussing and experimenting, I discovered that if I touch the YubiKey before running the plugin command, and if I run through the prompts quickly enough, the plugin does not prompt me to touch and the identity generation succeeds.
My setup is an Apple Silicon MacBook Pro running macOS 12.2. I used Terminal.app with age-plugin-yubikey version 0.3.0. My YubiKey is a YubiKey 5 NFC with firmware 5.4.3.
What happened
setup@Cheonmachong age-plugin-yubikey % ./age-plugin-yubikey
[INFO  i18n_embed::requester] Current Locale: [LanguageIdentifier { language: Language(Some("en")), script: None, region: Some(Region("US")), variants: None }]
[DEBUG i18n_embed] Selecting translations for domain "age_plugin_yubikey"
[DEBUG i18n_embed] Searching for available languages, found language file: "en-US/age_plugin_yubikey.ftl"
[DEBUG i18n_embed] Requested Languages: [LanguageIdentifier { language: Language(Some("en")), script: None, region: Some(Region("US")), variants: None }]
[DEBUG i18n_embed] Available Languages: [LanguageIdentifier { language: Language(Some("en")), script: None, region: Some(Region("US")), variants: None }]
[DEBUG i18n_embed] Supported Languages: [LanguageIdentifier { language: Language(Some("en")), script: None, region: Some(Region("US")), variants: None }]
[DEBUG i18n_embed] Attempting to load language file: "en-US/age_plugin_yubikey.ftl"
[DEBUG i18n_embed::fluent] Loaded language file: "en-US/age_plugin_yubikey.ftl" for language: "en-US"
✨ Let's get your YubiKey set up for age! ✨

This tool can create a new age identity in a free slot of your YubiKey.
It will generate an identity file that you can use with an age client,
along with the corresponding recipient. You can also do this directly
with:
    age-plugin-yubikey --generate

If you are already using a YubiKey with age, you can select an existing
slot to recreate its corresponding identity file and recipient.

When asked below to select an option, use the up/down arrow keys to
make your choice, or press [Esc] or [q] to quit.

[INFO  yubikey::yubikey] connected to reader: Yubico YubiKey OTP+FIDO+CCID
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: SelectApplication, p1: 4, p2: 0, data: [160, 0, 0, 3, 8] }
[TRACE yubikey::transaction] >>> [0, 164, 4, 0, 5, 160, 0, 0, 3, 8]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [97, 17, 79, 6, 0, 0, 16, 0, 1, 0, 121, 7, 79, 5, 160, 0, 0, 3, 8] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetVersion, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 253, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [5, 4, 3] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetSerial, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 248, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [1, 17, 241, 73] }
[INFO  yubikey::yubikey] connected to reader: Yubico YubiKey OTP+FIDO+CCID
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: SelectApplication, p1: 4, p2: 0, data: [160, 0, 0, 3, 8] }
[TRACE yubikey::transaction] >>> [0, 164, 4, 0, 5, 160, 0, 0, 3, 8]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [97, 17, 79, 6, 0, 0, 16, 0, 1, 0, 121, 7, 79, 5, 160, 0, 0, 3, 8] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetVersion, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 253, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [5, 4, 3] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetSerial, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 248, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [1, 17, 241, 73] }
[INFO  yubikey::yubikey] connected to reader: Yubico YubiKey OTP+FIDO+CCID
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: SelectApplication, p1: 4, p2: 0, data: [160, 0, 0, 3, 8] }
[TRACE yubikey::transaction] >>> [0, 164, 4, 0, 5, 160, 0, 0, 3, 8]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [97, 17, 79, 6, 0, 0, 16, 0, 1, 0, 121, 7, 79, 5, 160, 0, 0, 3, 8] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetVersion, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 253, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [5, 4, 3] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetSerial, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 248, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [1, 17, 241, 73] }
[INFO  yubikey::yubikey] connected to reader: Yubico YubiKey OTP+FIDO+CCID
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: SelectApplication, p1: 4, p2: 0, data: [160, 0, 0, 3, 8] }
[TRACE yubikey::transaction] >>> [0, 164, 4, 0, 5, 160, 0, 0, 3, 8]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [97, 17, 79, 6, 0, 0, 16, 0, 1, 0, 121, 7, 79, 5, 160, 0, 0, 3, 8] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetVersion, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 253, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [5, 4, 3] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetSerial, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 248, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [1, 17, 241, 73] }
🔑 Select a YubiKey: Yubico YubiKey OTP+FIDO+CCID (Serial: 17953097)
[INFO  yubikey::yubikey] connected to reader: Yubico YubiKey OTP+FIDO+CCID
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: SelectApplication, p1: 4, p2: 0, data: [160, 0, 0, 3, 8] }
[TRACE yubikey::transaction] >>> [0, 164, 4, 0, 5, 160, 0, 0, 3, 8]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [97, 17, 79, 6, 0, 0, 16, 0, 1, 0, 121, 7, 79, 5, 160, 0, 0, 3, 8] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetVersion, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 253, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [5, 4, 3] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetSerial, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 248, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [1, 17, 241, 73] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 5] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 5]
[TRACE yubikey::apdu] <<< Response { status_words: Other(24922), data: [83, 130, 1, 86, 112, 130, 1, 77, 48, 130, 1, 73, 48, 129, 240, 160, 3, 2, 1, 2, 2, 20, 72, 245, 43, 55, 128, 115, 140, 152, 116, 1, 21, 218, 153, 41, 33, 220, 139, 80, 222, 173, 48, 10, 6, 8, 42, 134, 72, 206, 61, 4, 3, 2, 48, 36, 49, 34, 48, 32, 6, 3, 85, 4, 3, 12, 25, 89, 117, 98, 105, 99, 111, 32, 80, 73, 86, 32, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 48, 32, 23, 13, 50, 50, 48, 52, 51, 48, 50, 48, 53, 55, 50, 55, 90, 24, 15, 50, 48, 53, 50, 48, 52, 51, 48, 48, 48, 48, 48, 48, 48, 90, 48, 36, 49, 34, 48, 32, 6, 3, 85, 4, 3, 12, 25, 89, 117, 98, 105, 99, 111, 32, 80, 73, 86, 32, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 48, 89, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134, 72, 206, 61, 3, 1, 7, 3, 66, 0, 4, 53, 134, 114, 18, 186, 241, 97, 161, 216, 170, 179, 160, 100, 60, 236, 219, 181, 23, 23, 166, 185, 161, 196, 43, 227, 143, 111, 153, 237, 36, 23, 94, 174, 138, 129, 43, 80, 75, 226, 95, 50, 62, 68, 52, 110, 92, 236, 64, 15, 171, 81, 94, 63, 106, 63, 72, 183, 234, 115, 61, 171, 139, 100, 5, 48] }
[TRACE yubikey::transaction] The card indicates there is 90 bytes more data for us
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetResponseApdu, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 192, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [10, 6, 8, 42, 134, 72, 206, 61, 4, 3, 2, 3, 72, 0, 48, 69, 2, 32, 7, 88, 209, 113, 52, 183, 164, 41, 5, 12, 202, 89, 130, 212, 25, 124, 179, 58, 210, 131, 127, 117, 151, 214, 119, 101, 164, 161, 124, 218, 145, 152, 2, 33, 0, 204, 40, 113, 255, 223, 224, 227, 7, 179, 91, 111, 147, 204, 95, 244, 186, 162, 35, 81, 38, 126, 199, 169, 116, 1, 57, 98, 117, 171, 72, 20, 109, 113, 1, 0, 254, 0] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 10] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 10]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 11] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 11]
[TRACE yubikey::apdu] <<< Response { status_words: Other(24922), data: [83, 130, 1, 86, 112, 130, 1, 77, 48, 130, 1, 73, 48, 129, 240, 160, 3, 2, 1, 2, 2, 20, 72, 90, 230, 128, 21, 70, 178, 46, 56, 206, 129, 108, 124, 51, 69, 230, 123, 39, 147, 236, 48, 10, 6, 8, 42, 134, 72, 206, 61, 4, 3, 2, 48, 36, 49, 34, 48, 32, 6, 3, 85, 4, 3, 12, 25, 89, 117, 98, 105, 99, 111, 32, 80, 73, 86, 32, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 48, 32, 23, 13, 50, 50, 48, 52, 51, 48, 50, 48, 53, 55, 50, 55, 90, 24, 15, 50, 48, 53, 50, 48, 52, 51, 48, 48, 48, 48, 48, 48, 48, 90, 48, 36, 49, 34, 48, 32, 6, 3, 85, 4, 3, 12, 25, 89, 117, 98, 105, 99, 111, 32, 80, 73, 86, 32, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 48, 89, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134, 72, 206, 61, 3, 1, 7, 3, 66, 0, 4, 193, 167, 14, 132, 93, 63, 26, 162, 81, 1, 157, 33, 167, 246, 41, 170, 215, 114, 197, 123, 122, 118, 86, 44, 234, 85, 244, 127, 16, 188, 188, 199, 255, 121, 32, 217, 173, 208, 101, 165, 183, 83, 228, 60, 173, 167, 2, 22, 237, 139, 43, 220, 154, 217, 254, 168, 0, 253, 13, 119, 187, 94, 170, 79, 48] }
[TRACE yubikey::transaction] The card indicates there is 90 bytes more data for us
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetResponseApdu, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 192, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [10, 6, 8, 42, 134, 72, 206, 61, 4, 3, 2, 3, 72, 0, 48, 69, 2, 32, 17, 197, 47, 199, 192, 23, 194, 244, 2, 105, 10, 241, 226, 38, 87, 194, 123, 67, 187, 51, 151, 76, 11, 29, 241, 185, 31, 104, 182, 226, 33, 171, 2, 33, 0, 251, 48, 93, 238, 118, 117, 196, 76, 112, 236, 255, 89, 223, 29, 230, 201, 65, 221, 175, 217, 249, 196, 7, 206, 239, 182, 75, 253, 10, 34, 240, 144, 113, 1, 0, 254, 0] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 13] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 13]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 14] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 14]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 15] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 15]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 16] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 16]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 17] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 17]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 18] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 18]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 19] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 19]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 20] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 20]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 21] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 21]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 22] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 22]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 23] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 23]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 24] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 24]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 25] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 25]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 26] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 26]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 27] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 27]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 28] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 28]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 29] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 29]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 30] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 30]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 31] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 31]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 32] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 32]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 1] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 1]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
🕳  Select a slot for your age identity: Slot 1 (Empty)
📛 Name this identity [age identity TAG_HEX]: Passwords
🔤 Select a PIN policy: Always (A PIN is required for every decryption, if set)
👆 Select a touch policy: Never  (A physical touch is NOT required to decrypt)
Generate new identity in slot 1? yes

[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 5] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 5]
[TRACE yubikey::apdu] <<< Response { status_words: Other(24922), data: [83, 130, 1, 86, 112, 130, 1, 77, 48, 130, 1, 73, 48, 129, 240, 160, 3, 2, 1, 2, 2, 20, 72, 245, 43, 55, 128, 115, 140, 152, 116, 1, 21, 218, 153, 41, 33, 220, 139, 80, 222, 173, 48, 10, 6, 8, 42, 134, 72, 206, 61, 4, 3, 2, 48, 36, 49, 34, 48, 32, 6, 3, 85, 4, 3, 12, 25, 89, 117, 98, 105, 99, 111, 32, 80, 73, 86, 32, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 48, 32, 23, 13, 50, 50, 48, 52, 51, 48, 50, 48, 53, 55, 50, 55, 90, 24, 15, 50, 48, 53, 50, 48, 52, 51, 48, 48, 48, 48, 48, 48, 48, 90, 48, 36, 49, 34, 48, 32, 6, 3, 85, 4, 3, 12, 25, 89, 117, 98, 105, 99, 111, 32, 80, 73, 86, 32, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 48, 89, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134, 72, 206, 61, 3, 1, 7, 3, 66, 0, 4, 53, 134, 114, 18, 186, 241, 97, 161, 216, 170, 179, 160, 100, 60, 236, 219, 181, 23, 23, 166, 185, 161, 196, 43, 227, 143, 111, 153, 237, 36, 23, 94, 174, 138, 129, 43, 80, 75, 226, 95, 50, 62, 68, 52, 110, 92, 236, 64, 15, 171, 81, 94, 63, 106, 63, 72, 183, 234, 115, 61, 171, 139, 100, 5, 48] }
[TRACE yubikey::transaction] The card indicates there is 90 bytes more data for us
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetResponseApdu, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 192, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [10, 6, 8, 42, 134, 72, 206, 61, 4, 3, 2, 3, 72, 0, 48, 69, 2, 32, 7, 88, 209, 113, 52, 183, 164, 41, 5, 12, 202, 89, 130, 212, 25, 124, 179, 58, 210, 131, 127, 117, 151, 214, 119, 101, 164, 161, 124, 218, 145, 152, 2, 33, 0, 204, 40, 113, 255, 223, 224, 227, 7, 179, 91, 111, 147, 204, 95, 244, 186, 162, 35, 81, 38, 126, 199, 169, 116, 1, 57, 98, 117, 171, 72, 20, 109, 113, 1, 0, 254, 0] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 10] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 10]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 11] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 11]
[TRACE yubikey::apdu] <<< Response { status_words: Other(24922), data: [83, 130, 1, 86, 112, 130, 1, 77, 48, 130, 1, 73, 48, 129, 240, 160, 3, 2, 1, 2, 2, 20, 72, 90, 230, 128, 21, 70, 178, 46, 56, 206, 129, 108, 124, 51, 69, 230, 123, 39, 147, 236, 48, 10, 6, 8, 42, 134, 72, 206, 61, 4, 3, 2, 48, 36, 49, 34, 48, 32, 6, 3, 85, 4, 3, 12, 25, 89, 117, 98, 105, 99, 111, 32, 80, 73, 86, 32, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 48, 32, 23, 13, 50, 50, 48, 52, 51, 48, 50, 48, 53, 55, 50, 55, 90, 24, 15, 50, 48, 53, 50, 48, 52, 51, 48, 48, 48, 48, 48, 48, 48, 90, 48, 36, 49, 34, 48, 32, 6, 3, 85, 4, 3, 12, 25, 89, 117, 98, 105, 99, 111, 32, 80, 73, 86, 32, 65, 117, 116, 104, 101, 110, 116, 105, 99, 97, 116, 105, 111, 110, 48, 89, 48, 19, 6, 7, 42, 134, 72, 206, 61, 2, 1, 6, 8, 42, 134, 72, 206, 61, 3, 1, 7, 3, 66, 0, 4, 193, 167, 14, 132, 93, 63, 26, 162, 81, 1, 157, 33, 167, 246, 41, 170, 215, 114, 197, 123, 122, 118, 86, 44, 234, 85, 244, 127, 16, 188, 188, 199, 255, 121, 32, 217, 173, 208, 101, 165, 183, 83, 228, 60, 173, 167, 2, 22, 237, 139, 43, 220, 154, 217, 254, 168, 0, 253, 13, 119, 187, 94, 170, 79, 48] }
[TRACE yubikey::transaction] The card indicates there is 90 bytes more data for us
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetResponseApdu, p1: 0, p2: 0, data: [] }
[TRACE yubikey::transaction] >>> [0, 192, 0, 0, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [10, 6, 8, 42, 134, 72, 206, 61, 4, 3, 2, 3, 72, 0, 48, 69, 2, 32, 17, 197, 47, 199, 192, 23, 194, 244, 2, 105, 10, 241, 226, 38, 87, 194, 123, 67, 187, 51, 151, 76, 11, 29, 241, 185, 31, 104, 182, 226, 33, 171, 2, 33, 0, 251, 48, 93, 238, 118, 117, 196, 76, 112, 236, 255, 89, 223, 29, 230, 201, 65, 221, 175, 217, 249, 196, 7, 206, 239, 182, 75, 253, 10, 34, 240, 144, 113, 1, 0, 254, 0] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 13] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 13]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 14] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 14]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 15] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 15]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 16] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 16]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 17] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 17]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 18] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 18]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 19] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 19]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 20] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 20]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 21] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 21]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 22] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 22]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 23] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 23]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 24] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 24]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 25] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 25]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 26] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 26]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 27] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 27]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 28] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 28]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 29] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 29]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 30] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 30]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 31] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 31]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 32] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 32]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 1] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 1]
[TRACE yubikey::apdu] <<< Response { status_words: NotFoundError, data: [] }

Enter PIN for YubiKey with serial 17953097 (default is 123456): [hidden]
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: Verify, p1: 0, p2: 128, data: [54, 50, 53, 50, 50, 57, 54, 51] }
[TRACE yubikey::transaction] >>> [0, 32, 0, 128, 8, 54, 50, 53, 50, 50, 57, 54, 51]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [] }
[TRACE yubikey::transaction] going to send 5 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GetData, p1: 63, p2: 255, data: [92, 3, 95, 193, 9] }
[TRACE yubikey::transaction] >>> [0, 203, 63, 255, 5, 92, 3, 95, 193, 9]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [83, 28, 136, 26, 137, 24, 4, 246, 42, 150, 19, 33, 134, 31, 113, 119, 168, 252, 94, 163, 212, 52, 208, 136, 141, 249, 147, 63, 160, 222] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: Authenticate, p1: 3, p2: 155, data: [124, 2, 128, 0] }
[TRACE yubikey::transaction] >>> [0, 135, 3, 155, 4, 124, 2, 128, 0]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [124, 10, 128, 8, 155, 71, 30, 235, 209, 7, 247, 53] }
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: Authenticate, p1: 3, p2: 155, data: [124, 20, 128, 8, 20, 211, 92, 211, 71, 129, 29, 223, 129, 8, 65, 21, 180, 116, 187, 129, 123, 142] }
[TRACE yubikey::transaction] >>> [0, 135, 3, 155, 22, 124, 20, 128, 8, 20, 211, 92, 211, 71, 129, 29, 223, 129, 8, 65, 21, 180, 116, 187, 129, 123, 142]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [124, 10, 130, 8, 23, 227, 221, 4, 198, 241, 241, 68] }
[TRACE yubikey::transaction] going to send 11 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: GenerateAsymmetric, p1: 0, p2: 130, data: [172, 9, 128, 1, 17, 170, 1, 3, 171, 1, 1] }
[TRACE yubikey::transaction] >>> [0, 71, 0, 130, 11, 172, 9, 128, 1, 17, 170, 1, 3, 171, 1, 1]
[TRACE yubikey::apdu] <<< Response { status_words: Success, data: [127, 73, 67, 134, 65, 4, 219, 38, 32, 188, 217, 239, 31, 213, 51, 50, 2, 31, 217, 224, 17, 118, 141, 204, 154, 2, 213, 1, 193, 53, 139, 51, 42, 128, 132, 177, 63, 134, 154, 206, 207, 232, 7, 46, 75, 231, 137, 164, 23, 165, 146, 34, 206, 50, 66, 179, 228, 170, 62, 217, 114, 184, 1, 95, 85, 253, 30, 35, 181, 203] }
[TRACE yubikey::transaction] going to send 38 bytes in this go
[TRACE yubikey::apdu] >>> Apdu { cla: 0, ins: Authenticate, p1: 17, p2: 130, data: [124, 36, 130, 0, 129, 32, 153, 26, 233, 128, 4, 156, 65, 216, 110, 159, 11, 59, 208, 155, 54, 17, 174, 123, 207, 22, 79, 162, 220, 42, 193, 225, 88, 85, 139, 239, 93, 127] }
[TRACE yubikey::transaction] >>> [0, 135, 17, 130, 38, 124, 36, 130, 0, 129, 32, 153, 26, 233, 128, 4, 156, 65, 216, 110, 159, 11, 59, 208, 155, 54, 17, 174, 123, 207, 22, 79, 162, 220, 42, 193, 225, 88, 85, 139, 239, 93, 127]
[TRACE yubikey::apdu] <<< Response { status_words: SecurityStatusError, data: [] }
[ERROR yubikey::transaction] failed sign command with code 6982
Error: Error while communicating with YubiKey: authentication error

[ Did this not do what you expected? Could an error be more useful? ]
[ Tell us: https://str4d.xyz/age-plugin-yubikey/report              ]

Further investigation revealed the issue I ran into here is actually the same problem reported in Issue #80 so I am closing this one as a duplicate.


Use most fequent character as prime instead of ' ' to not fail on mod…

Fixes #97 by not using ' ' as default prime, which fails if its not in the vocabulary of the model and instead choosing the most frequently used character in the model.

Coverage increased (+0.06%) to 92.776% when pulling 6636e1c8e60d21c8b8b3dd8def1e475040955c46 on Jaspi10:master into 5029173fc6ad527545082abcaf6c267061825484 on sherjilozair:master.

Looks good to me.
One other way would be to let "space" be the default (or something invisible like an end of line "\n") but to check if it is in the vocab before trying to use it (and switch on the most frequent one)


Users of the extension should not be able to call low-level MsalCacheStorage APIs

Context
Msal Extension has two ways of achieving the same thing, i.e. providing a token cache:

MsalCacheStorage, a low level access to the persistence level, that is not protected with locks. Developers need to write their own token cache delegates, which they often get wrong.

MsalCacheHelper, a higher level abstraction, which provides token cache delegates that are consistent cross-process.

Problem
Developers tend to choose the lower-level API MsalCacheStorage. This breaks other libraries or results in high contention, because there are strict rules about file locking, file writing etc. which are not followed.
Proposed Solution
Make MsalCacheStorage internal. Developers must use MsalCacheHelper only (example usage here)
There may some functionality that people rely on for MsalCacheStorage, which we need to capture:

Powershell needs to import and export the cache data and they do it using MsalCacheStorage. This can be fixed by adding Import / Export methods in MsalCacheHelper

I had a chat with @crmann1 and he confirmed that Visual Studio uses the high level API exclusively.

Fixed by https://github.com/AzureAD/microsoft-authentication-extensions-for-dotnet/commit/85c1e8ec283b940b1cc34eae44ac37fa645738ff in version 2.7.0


Use posix correct arguments (uname -m) instead of (uname -p)

In several makefiles and scripts the uname -p call is used to get the machine processes architecture (x86_64).
However this is a non-posix compliant version used only on Fedora and Redhat / Mac systems.
Indeed these systems are merely patched to map -p to the -m argument.
I suggest the use of uname -m that is valid on all posix systems.
In addition I've noticed that the code2gpu() function in the mymcpu script is missing several codenames, one common one being ellesmere -> gfx803
I manually patched my system to add all these in, but it would be great to implement these changes in the upstream.
I'm sure I don't need to submit a Pull-Request for this, it's easier for you to do directly.

I'm in favour of changing to uname -m as I did that to make the scripts run on Debian. Well, actually put a different 'uname' binary on the path, but same effect. @estewart08 could you run a build with s/uname -p/uname -m/g? If we're lucky it works on a superset of the systems where uname -p works.
The missing lines in mymcpu are filled in incrementally as we run into their omission. I'll add gfx803, did you notice any others?

Assigning to Ethan.  Should target 11.11-0 or 11.11-1.  Ethan, check in aomp/bin/* and aomp-extras/utils/bin/*

uname changes have been merged


Not running?

Hi! I forked this repo and modified everything as described in the instructions but Github doesn't seem to be running the workflow. Are you able to look at it quickly to see if anything is wrong? https://github.com/Glench/tiktok-rss-flat

@Glench   I can't see anything obviously wrong with your setup. Do you see a "run workflow" option at the top of https://github.com/Glench/tiktok-rss-flat/actions/workflows/flat.yml  ?

Ah, Github automatically disables workflows in forked repos. I had to enable the workflow (with two separate screens) when visiting the file you linked to, but it seems to be working now! Thank you!

Ah good to know! Glad it's working now.

Hm actually it's running successfully according to Github actions but no data seems to be added to the RSS folder...

@Glench The latest version of the TikTok library changed some of the function names. I've pushed a tiny change to my repo to reflect the change (just change line 23 of postprocessing.py to tiktoks = api.by_username(user, count=count))
Seems to be working again now.

It works! Thank you!
On Thu, Aug 5, 2021 at 1:26 PM conoro @.***> wrote:

@Glench https://github.com/Glench The latest version of the TikTok
library changed some of the function names. I've pushed a tiny change to my
repo to reflect the change (just change line 23 of postprocessing.py to tiktoks
= api.by_username(user, count=count))
Seems to be working again now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/conoro/tiktok-rss-flat/issues/2#issuecomment-893647958,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADOHBJ5ICL5NT3HOCLHZLDT3LCUVANCNFSM5BT5EPPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

same here. The rss folder isn't updating. Help me.


Align Headers vertically

the 'Summary' header is at a different vertical height than the 'Transcript' header which is a little messy

Couldn't figure out why this was happening. Turns out it was just a  element I missed :|


使用BASE_DIR取代SITE_ROOT

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6d6cac0). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #3   +/-   ##
=========================================
  Coverage          ?   81.63%
=========================================
  Files             ?       50
  Lines             ?     2107
  Branches          ?        0
=========================================
  Hits              ?     1720
  Misses            ?      387
  Partials          ?        0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6d6cac0...fb35070. Read the comment docs.


Shipping Method are not loaded

Hello,
we installed version 1.7.6 on Magento CE <IP_ADDRESS> - everthing is working fine, but in the checkout only the boxes Shipping Method and Payment Method is loaded - the box Shipping Adress and Checkout Overview is still loading. Any ideas?
Thank you for your help...
Andreas

Hi @niceart - are you sure you installed this version of the plugin? Our highest version is 1.4.2 (available via GitHub) or 1.4.0 (available via Connect).
The version number that you reference makes me think you may be using this:
https://www.magentocommerce.com/magento-connect/login-and-pay-with-amazon-advanced-payment-apis-for-europe.html

Closing due to no response. Feel free to reopen if necessary.


Indicate that nothing was executed on rerun

If I rerun a deployment that is already complete, and doesn’t need any further action, the output shouldn’t be “successfully deployed”.

 We should successful deploy when nothing was deployed.

Take a look and see if we isResumed will get us enough information.


right SV number confusion after merge

I merge my VCF files using "SURVIVOR merge SyRI_Ass_Sni.path 1000 1 1 1 0 30 SyRI_Ass_Sni.vcf"
and after evalueing SyRI_Ass_Sni.vcf using "SURVIVOR eval SyRI_Ass_Sni.vcf  simulated.sort.bed 1000 SyRI_Ass_Sni 1>SyRI_Ass_Sni.eval"
I get the right vcf file named "SyRI_Ass_Sni_right.vcf" and  the evalue file named "SyRI_Ass_Sni.eval"
but the number of right SV counted by the above two files is different
I count the right number by "wc -l SyRI_Ass_Sni_right.vcf"
or add up all the right SV number wroted in SyRI_Ass_Sni.eval
So which one is correct on earth ?

Hey, I am not sure if I follow.
Eval is only for the data that was generated by the simulation method. Is that what you are doing? You ran the simulation for SVs and generated reads, ...  , called SVs and now wanted to merge to evaluate this result?
Thanks
Fritz

That's right !

You mean that the count between the simulated truth set is different? That is expected since I back then encoded the TRA differently so they have two entries each. Otherwise please try to explain what is the problem.
Thanks
Fritz

I think the difference is due to that
SVs detected by different Softwares was not merged completely.
for example, 3 simulated SVs can been detected by both SyRI and Sniffle,  but ony 2 SVs were merged, so the SV number in  SyRI_Sni_right.vcf is  4  (2+1+1); and the right SV  number in SyRI_Sni.eval is only 3;
Is that possible ?

I have never run the evaluation to evaluate multiple callers simultaneously if that is what is happening. So it looks at the VCF file as one call set. Sorry either my brain is occupied with something else or I am still not fully following... If you like we could have a short call next week and discuss this.
Thanks
Fritz


Hungarian translation added.

Description
Added Hungarian translation to translations.php
Fixes #236

Thanks, looks great!
One phrase is missing. Do you want to also add a translation for the word "Excluding" for when excluding days of the week?

I provided the "Excluding" line as well.


Unable to install via NPM

Hi,
I am getting trouble when trying to install it with NPM.
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
Is somebody getting the same error ? And how can we solve that ?
Thanks

try yarn add @grafite/helpers or npm i  @grafite/helpers

It works !
Thanks @Tairau 👍
Hope the package owner will update the README installation section


added Exploratory Analysis - Ernon Dataset

Exploratory Analysis of Ernon Dataset - https://www.kaggle.com/wcukierski/enron-email-dataset
fix #74

@Astrodevil check

@ManasviGoyal Please put it in a folder under project section so that anyone can understand. You can also separate setup instructions, library used in another file if possible


chore(main): release 0.11.0

:robot: I have created a release beep boop
0.11.0 (2022-11-03)
Features

Permissions: New permissions system (#101) (e062bc2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/BLSQ/openhexa-frontend/releases/tag/0.11.0 :sunflower:


Fix graph, update the Playground frontend README

This PR fixed the recently introduced bug of not showing the graph for examples loaded with a direct link (this includes all embeddings).
It also cleans up an old CONTBUTE.md that was not updated since the phase 1 of Playground.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

lgtm


Successful and Failed missing after calling sendMessageBatch with an empty Entries array

I'm using elasticmq to mock out SQS for local development, using the :latest docker image.
08:13:10.156 [main] INFO  org.elasticmq.server.Main$ - Starting ElasticMQ server (0.13.8) ...

Here is some example code:
const response = await sqsClient.sendMessageBatch({
  QueueUrl: 'xxx',
  Entires: []
}).promise();

Gives:
{
   ResponseMetadata: { RequestId: '00000000-0000-0000-0000-000000000000' }
}

However, passing a non-empty Entries array:
const response = await sqsClient.sendMessageBatch({
  QueueUrl: 'xxx',
  Entires: [{ Id: 'xxx', MessageBody: 'yyy']]
}).promise();

Gives:
{
  ResponseMetadata: { RequestId: '00000000-0000-0000-0000-000000000000' },
  Successful: [
    {
      Id: 'xxx',
      MessageId: '1d51dc22-0a17-43a8-822d-1ab4e2fb9c2a',
      MD5OfMessageBody: 'f0a4058fd33489695d53df156b77c724',
      MD5OfMessageAttributes: 'd41d8cd98f00b204e9800998ecf8427e'
    }
  ],
  Failed: []
}

Would it be possible to always return Successful and Failed even as empty arrays?
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#sendMessageBatch-property

Successful — (Array<map>)
Failed — (Array<map>)

Thanks

You seem to have an old verison, can you check the latest one? https://hub.docker.com/r/softwaremill/elasticmq


getting rid of the development dependencies from the production server

Description
getting rid of the development dependencies from the production server.

making the production server as slimmer as possible by removing unneeded development dependencies.
shortening the time taken to install or update the server.
securing the production env a bit and reducing the attack surface by installing only the necessary packages.

Changes

updating entrypoint.sh, Dockerfile and update.sh

Related Issues
#3127
Checklist

[X] Pre-commit hook is installed to do formatting checks before committing code...etc
[ ] Tests included
[X] Build pass
[ ] Documentation
[X] Code format and docstrings

should be in the testing phase, but VDC deployments are broken atm due to another issue
https://github.com/threefoldtech/js-sdk/issues/3225


Adding enum types to Key Vault access policy permissions

Hi @pomortaz, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (pomortaz). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@amarzavery This change is requested by Java team. Please merge at your convenience. Thanks!

No modification for NodeJS

 https://github.com/Azure/azure-sdk-for-python/pull/722


alignments in DAI display

In general if there is a 1-frame item the shares a start or end point with another
item, the display does not show that they overlap.
1 example:  the first sign in this sentence should be included in the yes/no question marking but is shown as external to it.
I find I"ve been modifying the annotations to have the start/end point of the NMM 1 frame earlier or later to try to avoid this display issue, but that's probably a bad idea...

This problem is actually very pervasive, and occurs with 1-frame objects on the left or right edge of the aligned marking.  It gives rise to seriously misleading representations of the scope of markings.

Also a related but different problem -- going in the opposite direction from the above --
with respect to the alignment of the start of negation with the glosses.

Another alignment problem, related to #141 and #173


[Chip] Make sure InkResponse is in the foreground on delete for chips with background color

Description
For chips with background color set the ripple is not in the foreground, but behind the chip.
Reason for this bug is described here:
https://api.flutter.dev/flutter/material/InkResponse-class.html#the-ink-splashes-arent-visible
Screenshot before:

Screenshot after:

Related Issues
#41461 [Chip] Delete icon ripple not visible for Chip when background color is set
Tests
I added the following tests:
packages/flutter/test/material/chip_test.dart
'Chips should use Ink instead of Container for delete icon ripple'
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

This PR was conflicting with the following PR and thus a test for this branch failed on master:
https://github.com/flutter/flutter/pull/42779


New icons

Mostly done, but been going thru and creating custom icons for all the various functions.
Here's a preview:

Very nice! What do you think about trying some colored icons? No shading or anything with limited color palette?
PS If I use your icons will I be able to e-mail you when I need a new one made?

I actually decided to fork the project. I’ve redone nearly every icon in use and made lots of changes to the UI. Feel free to pull whatever.

I like the UI changes. Can you make the Installed, USB and Disks tabs have a UISplitView like in the latest release and then I'll merge your changes. Thanks for your contribution!

Sweet I saw you committed 3.20, thanks, still just beginning Xcode.
No problemo.
I just added a revised beer me icon. I know even less about source control so bear with me. Sent a commit with the changes.

Where can I find the revised beer icon? Maybe you could just e-mail it to me? My e-mail is my username @gmail.com
The new UI looks really great BTW!

Sorry man, Xcode just exploded. Something with tokens and just ugh. Spent way too much time and still can't seem to fix it.
Gotta add them manually... I've attached them in the zip.
Set the dimensions to 64x28 and pin it to the right.
beerme.zip
For reference:

Thanks again for implementing the UI changes, app looks 🔥🔥🔥

I have made a few minor changes, mostly aligning objects and making sure nothing in the list view is clipped (like the checkboxes).
Also added some new icons. Check out my latest commit on the fork: https://github.com/ultratiem/Hackintool

Are you taking into account that some translations take up more space?

Yes

Okay great, thanks! Merged with the latest release :)

@ultratiem could you list the text you changed because it's been reported that several translations are broken now (see here). I need to replace the text in the translation files to the new ones.

@ultratiem I have a 4k display and I noticed the Clover icon is low quality now. I'm guessing the OpenCore icon will have the same issue.

You will have to code new icons (e.g., IconOCBig, IconCloverBig). The UI icons are sized to fit (28x28) their intended use.
Once you code the use of larger icons for that space I can create them. I believe those are 80x80.


make unary_function/binary_function optional (C++11)

This is intended for the C++11 milestone:
Can requiring that unary_function and binary_function be the base class for a UnaryFunction or BinaryFunction in Thrust algorithms be made optional?
Not only does this remove the need for deriving from these types, I think (I'm just now starting to really learn C++11) that it also removes the need for writing constructors for small functors since they can instead be instantiated with aggregate initialization once the functors would no longer have a base class.
struct adds_a : public thrust::unary_function<int,int>
{
  int _a;
  adds_a(int a) : _a(a) {}
  int operator()(int i) const { return i + this->_a; }
};
...
adds_a(3);

becomes:
struct adds_a
{
  int _a;
  int operator()(int i) const { return i + this->_a; }
};
...
adds_a{3};

I've already made this change in my private copy of Thrust via std::result_of in thrust/detail/type_traits/result_of.h.
template<typename Signature>
  struct result_of
{
  typedef typename std::result_of<Signature>::type type;
};

Would you be interested in pull requests that can non-invasively start making use of C++11?
#if __cplusplus >= 201103L
template<typename Signature, typename Enable = void>
  struct result_of
{
  typedef typename std::result_of<Signature>::type type;
};
#else
template<typename Signature, typename Enable = void> struct result_of;

// specialization for unary invocations of things which have result_type
template<typename Functor, typename Arg1>
  struct result_of<
    Functor(Arg1),
    typename thrust::detail::enable_if<thrust::detail::has_result_type<Functor>::value>::type
  >
{
  typedef typename Functor::result_type type;
}; // end result_of
#endif
// specialization for binary invocations of things which have result_type
template<typename Functor, typename Arg1, typename Arg2>
  struct result_of<
    Functor(Arg1,Arg2),
    typename thrust::detail::enable_if<thrust::detail::has_result_type<Functor>::value>::type
  >
{
  typedef typename Functor::result_type type;
};
#endif

@jaredhoberock How is your plan to continue the development Thrust with C+11 support?

This would really help when using templated functors in combination with zip iterators, e.g:
template <typename Tuple>
struct Fun : public thrust::unary_function<Tuple, Tuple>
{
    __host__ __device__
    Tuple operator()(Tuple p)
    {
        return p;
    }
};

thrust::device_vector<int> v1(10);
thrust::device_vector<int> v2(10);
auto zip_begin = thrust::make_zip_iterator(thrust::make_tuple(v1.begin(), v2.begin()));

typedef ... TupleType; // what is the exact type of the tuple?
auto transform_it_begin = thrust::make_transform_iterator(zip_begin, Fun<TupleType>());

If thrust::unary_function was not needed, I could simply write:
struct Fun
{
    template <typename Tuple>
    __host__ __device__
    Tuple operator()(Tuple p)
    {
        return p;
    }
};

// ...
auto transform_it_begin = thrust::make_transform_iterator(zip_begin, Fun());

If you guys want to work out a pull request for this one, I'll review and merge.

@jaredhoberock Would you like to have a global #define switch like THRUST_USE_CXX11 or just use __cplusplus >= 201103L ? This does not only apply here but is a general decision on how to handle c++11 features.

I'd prefer not introducing new switches. I assume if people are already opting into something like -std=c++11 through the compiler, they want to use C++11 throughout their project.

Would c++11 support render thrust/detail/type_traits.h unnecessary and we could simply use "<type_traits>"?

There's a lot of non-standard stuff in thrust/detail/type_traits.h, so it needs to remain. If I understand @andrewcorrigan's earlier post, this feature shouldn't require anything beyond result_of, right?

Yes, it only uses std::result_of.

regarding __cplusplus:
I don't use Visual Studio, but it seems like that at least up to VS2013, __cplusplus is still 199711L (source). This means code using Thrust which relies on  C++11 features being enabled through that macro won't compile in VS.

That's fine, I wouldn't want to rely on C++11 features unless that macro reported they were available.

Yet, these C++11 features are available on VS2013. In my platform independent project, I still have to derive from thrust::unary_function because my code will not compile otherwise in VS because this macro is still set erroneously to 199711L by VS.

That's fine -- we needn't engage in heroics to enable this feature. VS2013 users can just use thrust::unary_function and upgrade to a newer compiler that reports that it supports C++11.

@jaredhoberock I updated my comment

Thrust supports more compilers than just gcc and the Microsoft compiler. It's very expensive to track down which language features are available on which versions of the different compilers. Explicitly defining a hypothetical THRUST_USE_CXX11 could not enable support where it does not exist.
Suppose a compiler supported C++11 feature A, but not B and therefore sets a conservative value for __cplusplus. If a user were to instruct Thrust to ignore __cplusplus by globally setting THRUST_USE_CXX11, the program would fail when Thrust attempted to use feature B.
There is already a standard means to introspect whether language features are available by using the __cplusplus preprocessor symbol. It's much easier to communicate to users which features of Thrust are available by describing their support in terms of this standard facility rather than an ad hoc set macros which pollute the global namespace and create the potential for ODR violations.

I definitely see your point and agree.

There may be a compromise. I would make an exception for the feature test macros recommended by SD6 because they are a near standard and Thrust would not have to create its own preprocessor symbols to introspect.
If there is an appropriate feature test macro for std::result_of, Thrust could check that if a compiler reports a insufficient __cplusplus.

There is one, but then again, we need a solution to detect c++11 for other features as well (see variadic tuple).


Create icon library

So that they are not scattered across the code

Priority for this is so low, I am closing it.


Idea: Move setup process to DMs with the bot?

This would be an interesting one and would require a bunch of rework in the message handler. Is this something that should be done?

@linuswillner

Too much effort for not a lot of gain.


"src/util.hh:191:24: error: moving a local object in a return statement prevents copy elision"

I'm building and testing as many things as I can in the 2019-02-21 Fedora/RISC-V build and hit a build error in arachne-pnr.  I haven't yet tried to fix it myself, but a quick look suggests it hasn't been reported before:
g++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare -Werror   -c -o src/line_parser.o src/line_parser.cc
In file included from src/bstream.hh:19,
                 from src/location.hh:19,
                 from src/chipdb.hh:19,
                 from src/chipdb.cc:16:
src/util.hh: In instantiation of ‘std::set<typename M::key_type> keys(const M&) [with M = std::map<CBit, bool>; typename M::key_type = CBit]’:
src/chipdb.cc:73:23:   required from here
src/util.hh:191:24: error: moving a local object in a return statement prevents copy elision [-Werror=pessimizing-move]
  191 |   return std::move(keys);
      |                        ^
src/util.hh:191:24: note: remove ‘std::move’ call
g++ -Isrc -std=c++11 -MD -O2 -Wall -Wshadow -Wsign-compare -Werror   -c -o src/pcf.o src/pcf.cc

g++: gcc version 9.0.1 20190219 (Red Hat 9.0.1-0.6) (GCC)
arache-pnr: 840bdfdeb38809f9f6af4d89dd7b22959b176fdd
build command: make -C arachne-pnr -j8

This is a temporary workaround:
make OPTDEBUGFLAGS='-MD -O2 -Wno-error=pessimizing-move'

Yeah I am also getting this error trying to install arachne-pnr via the arachne-pnr-git arch AUR package.

Same here, just tried to install arachne-pnr both through command line and arch AUR in Manjaro and had the same error on both.

Have disabled -Werror, arachne-pnr is now essentially unmaintained so this seems like a reasonable enough solution.


Yo have to put your email next to your name


[ISSUE-216] Support sized chunk fetch request

[BUG]/[FEATURE] title
What changes were proposed in this pull request?
Why are the changes needed?

What are the items that need reviewer attention?
Related issues.
Related pull requests.
How was this patch tested?
/cc @related-reviewer
/assign @main-reviewer
close #216

LGTM.

LGTM.


Let filters work on Iterables instead of lists

well this certainly is a long term goal: get rid of all the lists, use asyncgenerators all the way down.

postponed #165


Set result tab name as block name

I'm assuming @samueldefilippo means that when you have some sql defined like this (from docs)...
-- @block create company table
-- @conn PGSQL
CREATE TABLE IF NOT EXISTS COMPANY(
    ID INT PRIMARY KEY NOT NULL,
    NAME TEXT NOT NULL,
    AGE INT NOT NULL,
    ADDRESS CHAR(50),
    SALARY REAL
);

INSERT INTO COMPANY VALUES (1, 'Name', 12, 'address', 0.2);

-- @block create department table
CREATE TABLE IF NOT EXISTS DEPARTMENT(
    ID INT PRIMARY KEY NOT NULL,
    DEPT CHAR(50) NOT NULL,
    EMP_ID INT NOT NULL
);

...then the result tab names should be create company table and create department table, respectively.
Currently, the tab name appears to be the entire text of the query block, which makes it difficult to quickly navigate open result tabs.
This would pair nicely with Issue #632 so that re-running queries in named blocks would be the method for reusing result tabs. Then, a new setting wouldn't be required for toggling tab reuse.
Additionally, I'd suggest including the connection name in the tab name as well. To continue the example above, it would be something like PGSQL: create company table and Active Connection: create department table.
(BTW, great job on the extension. Best SQL extension I've come across.)


StepChain fix in reqmgr

Initial version for StepChain parentage fix

https://github.com/dmwm/deployment/pull/658/ need to be in first.

Thanks Alan for all valuable comments. I will update what you suggested. One thing I forgot to add is retry logic, since there might be a case if fails update certain blocks. (That is why the method is returning the failed block list) I will get that and need to retry that as well. To do that we need to have map for child dataset to request name so we won't update the status of those workflows.
It won't retry all the blocks on that dataset, but only the blocks fails to update.

Good point, I missed that part. Ideally we should try only the blocks that failed, but if that's too much micro-management, just go with the dataset that is retrieved from ReqMgr.

@amaltaro, I updated patch including the failure retry logic. Could you review again? I still need to test the change.


PDFRenderer does not render acro form fields

I have created and filled an acroform. But the filled data is not displayed using PDFRenderer. It can be viewed using other PDF apps like Adobe Acrobat. Is there an example how I can achieve this using PDFBox?

Your rendering code is most likely correct. I tested text fields and the data wasn't rendered. Are there any other kinds of fields that you're using that aren't working?

I tried checkboxes. I think non of the fields are working.

Is there anyway to work around this?

I was able to have the a text field render correctly by adding the LiberationSans Font from assets and setting the fields default appearance to it... but only for the first field on the page that I set a value to for some reason.
I also had to set needAppearances = false before setting the field
                val document = PDDocument.load(activity?.assets?.open("pdf_with_multiple_textboxes.pdf"))
                val docCatalog = document.documentCatalog
                val acroForm = docCatalog.acroForm

                var res = acroForm.defaultResources
                if (res == null)
                    res = PDResources()

                val fontStream = activity?.assets?.open("LiberationSans-Regular.ttf")
                val font = PDType0Font.load(document, fontStream)
                val fontName = res.add(font)

                acroForm.defaultResources = res
                acroForm.fields.filterIsInstance(PDTextField::class.java).forEach{field->
                    acroForm.needAppearances = false

                    field.defaultAppearance = "/${fontName?.name} 11 Tf 1 0 0 rg"
                    field.value = "TEST"

                }

                // Create a renderer for the document
                val renderer = PDFRenderer(document)
                // Render the image to an RGB Bitmap
                val pageImage = renderer.renderImageWithDPI(0, 200f, Bitmap.Config.RGB_565)
                document.close()

                // Save the render result to an image
                val path = root?.absolutePath + "/render.jpg"
                val renderFile = File(path)
                val fileOut = FileOutputStream(renderFile)
                pageImage!!.compress(Bitmap.CompressFormat.JPEG, 100, fileOut)


Yakerize

shamelessly copying the yakerize script from https://github.com/diffCheckOrg/diffCheck/blob/main/invokes/yakerize.py (with some minor changes) :)
this is with to add the ability to create YAK packages from the compiled components.

Hello @chenkasirer ! Glad that someone could reuse the bit of code we did:)
As a random thaught on the matter of integrating a yakerize feature to the componentizer I feel that this could or even should be a separate github compas action (that could distribute it as well with some github tokens as inputs) since it involves some elements that are not strictly related in the componentizer (e.g I use the componentizer locally without the  need for distributing via yak).
If this is still needed on the compas side @chenkasirer / @gonzalocasas , I would be happy to open a github repo action and give it a go (slowly but steadily as they say :) ).

Hi @9and3!
mmh I see. sure, we could add this as its own action/repo.
I think I can find some time for it next week, I'll write you on slack, maybe we could sit together and get it done.


Scaffold Identity omits custom ApplicationUser

Works

New project 2.1 MVC with no auth
Scaffold identity and choose the plus button for the user class

The resulting code is expected because it refers to ApplicationUser
   public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
               services.AddDefaultIdentity<ApplicationUser>()
Does not work

New project 2.1 MVC with no auth
Create a class ApplicationUser that derives from IdentityUser
   public class ApplicationUser : IdentityUser
Scaffold identity and choose the dropdown button for the user class

The resulting code is unexpected because it refers to IdentityUser. ApplicationUser is totally ignored
   public class ApplicationDbContext : IdentityDbContext<IdentityUser>
               services.AddDefaultIdentity<IdentityUser>()
Bug?

This issue was moved to aspnet/Scaffolding#839


Have an option the Time Tracking plugin to notify you when your current contract is grown

Is your feature request related to a problem? Please describe.
Currently the best way to keep track of your current contracts growth time is to have the plugin track every patch within the farming guild. Since you usually have multiple things growing at once you get 1 useful notification and then 3-4 that you ignore. The best way to complete many hard contracts is to pre-plant the most common contracts you get, so that you complete 3-4 at once, then replant those while waiting for your current contract.
Describe the solution you'd like
An option within the plugin to keep track of your farming contracts growth. The plugin already knows which patch is your farming contract, as it puts a farming pack symbol next to it in the side panel.
Describe alternatives you've considered
You could manually select/de-select your contract each time, but that's a pretty tedious approach

Duplicate of #13675


template_operations: add end-of-line at end-of-generated-file

This PR adds the EOF character at the end of template-generated files (following UNIX best practises)
and updates the files in tests/unittest/benchmark_runner/common/template_operations/golden_files accordingly.

I notice the golden file check on #391 is failing. Is that because this is supposed to fix it? If so, please roll this into #391. The golden file should never get out of sync.

yes, I'll remove this commit (the + \n) from the other PR, so that golden file changes (144 files) are not mixed with the rest of the functional changes

That's good practice, also because mixing consequential changes with trivial changes such as this risks masking changes that matter.

exactly, and that's why I keep my commits grouped logically, and ideally don't want them squashed, but I feel like Github-like tools made that practise disappear :#


Leave a Status Community

Thanks for your work on this, @cheny0 – Here are my review comments:
* In some cases, people may want to leave a community because they receive too many notifications. Your article can improve with a tip-style admonition, right after your intro sentence, telling users that they can configure their community notifications if they want to leave because of notification fatigue. And here, you can link to the future 'Configure community and channel notifications' article.

* In your 'What to expect' section, the sentences are somehow incomplete. Yes, this content means what to expect _when you leave a community_, but it's nevertheless helpful to remind the reader of that. Having said so, I'd rephrase your sentences a bit:

  * You no longer receive messages from the community. -> _When you leave a community, you stop receiving messages or updates from that community_.
  * Status does not notify the community owner and other members of your action. -> Status does not notify the community owner and other members _when you leave_.
  * You can join the community again. -> You can _request to_ join the community again. _Depending on the community rules, rejoining might require a new approval process or specific tokens._

Thanks @jorge-campo! I have applied your comments and merged the content.


check pod running status for cloudshell

before set the ready phase to cloudshell, we should check the pod of job whether is running. as long as one of them is running, the coudshell is considered work.
/kind bug
Signed-off-by: calvin<EMAIL_ADDRESS>

/cc @panpan0000


Added support for vector-based rewards from environments in MO-Gymnasium

Description
I made a small edit to the spec creation code for gym-like environments to support generating vector-based zero-rewards, which multi-objective environments in MO-Gymnasium uses.
Motivation and Context
When interacting directly with gym code, the GymWrapper code supports vector-based rewards from environments in the MO-Gymnasium library. However, there is an imaginary reward generated by torchrl on environment resets, and this causes issues when doing rollouts for example, when everything gets stacked in one tensordict. This small fix allows rollout code to handle MO-Gymnasium environments by letting the imaginary reward conform to the shape that the environment uses (but not to any value limitations in MO-gym or regular gyms).
I'm not entirely sure how to classify the issue (bug/feature), it depends on whether MO-gym is considered out of scope for the gym wrapper or not. There are other interacting aspects, such as re-using 'categorical_action_encoding', but this is also done for observations and should probably be reviewed separatly.

[ ] I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes
What types of changes does your code introduce? Remove all that do not apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)
[ ] Example (update in the folder of examples)

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide (required)
[ ] My change requires a change to the documentation.
[ ] I have updated the tests accordingly (required for a bug fix or a new feature).
[ ] I have updated the documentation accordingly.

Thanks!
I could try to create some tests but I looked through the suite and couldn’t find any obvious existing place for it. If you have an idea I’ll go ahead.

We can add mo-gymnasium as a dependency and include this env in the tests
We just need to have one instance of that created in test_libs.py and tested with check_env_specs(env).
The ideal place to install this would be in the script_gyms/batch_scripts directory, under the latest version of gymnasium (ie we should install mo-gymnasium after we install the latest gymnasium here).
I can do that or you can give it a shot if you'd like.

Some updates:
I'm trying to find my way out with mo-gymnasium.
Basically they re-provide all the specs from gym but under mo-gymnasium which breaks the instance checks we have.
So I should try to do these instance checks with some context variable that conditions which lib we're talking about...
The gym ecosystem is 👌

@dennismalmgren We're still working on a better integration of gym for this, see #1023.
Once this is merged I'll edit this PR with a proper MO env wrapper :)


Port RSpec should usage to expect.

A few specs were still using the older RSpec should syntax, which caused deprecation warnings.  Port these specs to use the expect syntax instead.

Merged @ 3205efa1c20e76a1f7562c913b6182137ba5e8b5 and backported to 2-6-stable @ e76937c24b4c794c832dbdb7636be00c70497d7e


Expired refresh token does not sign the user out

As discussed with @chownces @YaleChen299 @shenyih0ng  last winter:
For SA@X deployments, the user is not automatically signed out after the token expires. Instead, the user gets a lot of 401 popup notifications and they would have to manually log out.

Refer to #2100 for more context. As previously discussed with the profs, we should account for the case where the user has unsaved work on refresh token expiry. We should allow the user to copy their work first instead of forcing a logout immediately, which would redirect them to the login page.

@chownces Could you provide some elaboration?
From my understanding https://github.com/source-academy/frontend/issues/2100 seemed to be concerned about cases where the user's refresh token was valid but he/she was auto-logged out by other background requests which returned a 401/403.
I may be missing some context regarding your discussions, what would be some cases where the user has unsaved work after refresh token expiry i.e. 1 week of not logging in?
Also, wouldn't the expired refresh token make the users unable to save their work since the backend authentication fails? (not 100% sure about this because I'm not too familiar with our backend).

what would be some cases where the user has unsaved work after refresh token expiry i.e. 1 week of not logging in?

E.g. A user opens a mission, works on it without saving/submitting, closes their laptop for the night (leaving their browser tab open), only to come back to it tomorrow and realise that they can't submit because their access token happens to have expired overnight.

wouldn't the expired refresh token make the users unable to save their work since the backend authentication fails?

Correct. What #2100 is trying to say by "saving their work" is the user and copy whatever code they need elsewhere (or simply sign in from another browser tab) and submit that way, retaining all their work. If we log the user out immediately (and redirect to login page) the user would lose all the work they have done since the last save point.


Documentation fixes

Noticed a couple of errors when building the docs for graphite-api.  A couple were introduced by recent changes.  And lastly had to turn off warnings as errors.

Fixed in #199 -- I managed to silence directive warnings, allowing to keep the -W flag. Thanks!

Cool, I'm glad you took more time than I did to look into how Sphinx works. ;)


[ISSUE] Infinite loop on user-portal when login

Describe the issue:
After a fresh new install on Windows but also Linux centos of 5.10.0, i got exactly the same behavior
1 - User go to https://<IP_ADDRESS>:9443/user-portal
2 - Login with admin / admin
3 - Then a loop start with this URL
It seems that endpoint return 400
POST /oauth2/token
How to reproduce:
GET /oauth2/authorize?response_type=code&client_id=USER_PORTAL&scope=internal_login%20internal_humantask_view%20openid&redirect_uri=https://<IP_ADDRESS>:9443/user-portal/login&code_challenge_method=S256&code_challenge=-oHtY-IVN6tALiWUM4qWE2vBD8eXSietviKd2AmjAVw HTTP/1.1 302 - https://<IP_ADDRESS>:9443/user-portal/login?code=7081b85e-70de-3278-bf90-4684e273637d&session_state=a8f28d8a8d4d7dcd74ee7d3e2678db94197b7b2f3197701eb7f9b485f7da6962.eiUd5c7wjIXdCOnvziOdjg
GET /user-portal/login?code=072bbca2-9a8a-3069-a660-4b7ccda412a8&session_state=a7c0ef47367555d1e20c4372bd4a1fd7ff1c03c04e18febe4880c9c0bd073d40.KGbsRCunkPM9c4eSGTs1pg HTTP/1.1 404 1424 https://<IP_ADDRESS>:9443/user-portal/login?code=7081b85e-70de-3278-bf90-4684e273637d&session_state=a8f28d8a8d4d7dcd74ee7d3e2678db94197b7b2f3197701eb7f9b485f7da6962.eiUd5c7wjIXdCOnvziOdjg
GET /oauth2/oidcdiscovery/.well-known/openid-configuration HTTP/1.1 200 2308 https://<IP_ADDRESS>:9443/user-portal/login?code=072bbca2-9a8a-3069-a660-4b7ccda412a8&session_state=a7c0ef47367555d1e20c4372bd4a1fd7ff1c03c04e18febe4880c9c0bd073d40.KGbsRCunkPM9c4eSGTs1pg

400 - - - 0.00

GET /user-portal/app.config.json HTTP/1.1 200 902 https://<IP_ADDRESS>:9443/user-portal/login?code=072bbca2-9a8a-3069-a660-4b7ccda412a8&session_state=a7c0ef47367555d1e20c4372bd4a1fd7ff1c03c04e18febe4880c9c0bd073d40.KGbsRCunkPM9c4eSGTs1pg
POST /oauth2/token HTTP/1.1 400 117 https://<IP_ADDRESS>:9443/user-portal/login?code=072bbca2-9a8a-3069-a660-4b7ccda412a8&session_state=a7c0ef47367555d1e20c4372bd4a1fd7ff1c03c04e18febe4880c9c0bd073d40.KGbsRCunkPM9c4eSGTs1pg
[03/Apr/2020:13:18:31 +0000] - 400 - - - 0.000
`
Expected behavior:
User shall be login to user-portal
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0 fresh install
OS: Windows 10 and Linux Centos, Also docker version same behavior
Database: H2 default
Userstore: default one

Optional Fields
Related issues:

Suggested labels:

Thanks for reporting the issue.
The line[1] checks for the response code of the token request and if it is 400, we sends another authorization request to retry the login. If the token endpoint keep responding with 400 status, then it'll cause a loop.
We'll look in to this.
[1] https://github.com/wso2/identity-apps/blob/master/apps/userportal/src/store/actions/authenticate.ts#L226

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


unix date to human readable date

*** PLEASE DO NOT OPEN PULL REQUESTS VIA GITHUB ***
The moodle.git repository at Github is just a mirror of the official repository. We do not accept pull requests at Github.
See CONTRIBUTING.txt guidelines for how to contribute patches for Moodle. Thank you.
--

Fem Merge


Stuck at Get started with a random agent

Hi, thanks for this great work. I was trying to run the provided quick start script:
import numpy as np
import alfworld.agents.environment as environment
import alfworld.agents.modules.generic as generic

# load config
config = generic.load_config()
env_type = config['env']['type'] # 'AlfredTWEnv' or 'AlfredThorEnv' or 'AlfredHybrid'

# setup environment
env = getattr(environment, env_type)(config, train_eval='train')
env = env.init_env(batch_size=1)

# interact
obs, info = env.reset()
while True:
    # get random actions from admissible 'valid' commands (not available for AlfredThorEnv)
    admissible_commands = list(info['admissible_commands']) # note: BUTLER generates commands word-by-word without using admissible_commands
    random_actions = [np.random.choice(admissible_commands[0])]

    # step
    obs, scores, dones, infos = env.step(random_actions)
    print("Action: {}, Obs: {}".format(random_actions[0], obs[0]))

But was stuck at with the following output:
Initializing AlfredTWEnv...
Checking for solvable games...

Any idea why?

@MikeWangWZHL did you set regen_game_files = True in base_config.yaml? If so, you can run alfworld-download and then set regen_game_files = False.
If you see Checking for solvable games it means it's going through the entire dataset of Textworld games to check if the tasks are actually solvable, which could take some time. This should already be pre-generated in the downloaded files (from alfworld-download).

A progress bar was added to let the user know it takes time.