explicit enum discriminant value

The Encode and Decode macros use the variant index as discriminant. Adding an attribute to explicitly define wich value is used by each variants bring more control on encode/decode process.
Could be replaced by the arbitrary_enum_discriminant in the future, when stabilized.
#[derive(Encode, Decode)]
enum Foo {
    #[variant(3)]
    A(u32),
    #[variant(5)]
    B(String)
}

Why would you want to specify the enum variant value? Is there a situation where the sequence index isn't good enough?

The basic example I have in mind is a simple communication protocol where the firsts bits encode the command to use and other bits are for payload. I think the combinaison of bincode and enums is a pretty good to abtract this kind of problem.
Now imagine that, for some reason, some range of command number are reserved for future use:

command
number
payload

ping
0
N/A

pong
1
N/A

print
2
String

reserved
3-50

foo
51
u32, u32

Also, explicit discriminant ensure we correctly fit the protocol.

Now i'm thinking about it, the discriminant is always encoded as u32 (which fit the majority of case), but in my above example a simple u8 could do the job.
Maybe by using an optional attribute #[discriminant(size)] on the enum where size is either u8, u16, u32, u64 or u128.

I think we want to keep bincode-derive as minimal as possible, so at the moment we don't want to add this.
Your case could be implemented by manually implementing Encode and Decode. If you check your target folder, you'll see Foo_Encode.rs and Foo_Decode.rs. This should give you a good indication on how to get started. Of course you could implement your own macro to auto-generate Encode and Decode.
Note that as described in the specs, enums are encoded by their index. You can easily expand your protocol by simply adding the new variants at the end and having a rule to never append an entry at the start.
The arbitrary_enum_discriminant feature has been open for 2 years now and there doesn't seem to be much activity, so I don't expect this to be stabilized any time soon.

the discriminant is always encoded as u32

If you use varint encoding, your variant will be encoded in the smallest possible size. This will almost always be a u8, but will scale automatically if you go above 251 entries.


Server wont start - Ubuntu 14.04 (VPS\vultr).

[ INFO ] Starting csgo-server: Applying steamclient.so general fix: Counter Strike: Global Offensivecp: cannot stat ‘/home/csgoserver/steamcmd/linux32/steamclient.so’: No such file or directory
[ FAIL ] Starting csgo-server: Applying steamclient.so general fix: Counter Strike: Global Offensive
[ FAIL ] Starting csgo-server: Applying botprofile.db fix: Counter Strike: Global Offensive
[ FAIL ] Starting csgo-server: Applying valve.rc fix: Counter Strike: Global Offensive
[ INFO ] Update csgo-server: Forcing update to correct issue
[  OK  ] Update csgo-server: Updating | Retake #1 | 128 Tick | [NL]
./steamcmd.sh: line 29: /home/csgoserver/steamcmd/linux32/steamcmd: No such file or directory
[ INFO ] Update csgo-server: Applying steamclient.so general fix: Counter Strike: Global Offensivecp: cannot stat ‘/home/csgoserver/steamcmd/linux32/steamclient.so’: No such file or directory
[ FAIL ] Update csgo-server: Applying steamclient.so general fix: Counter Strike: Global Offensive
[ FAIL ] Update csgo-server: Applying botprofile.db fix: Counter Strike: Global Offensive
[ FAIL ] Update csgo-server: Applying valve.rc fix: Counter Strike: Global Offensive
[  OK  ] Update csgo-server: Updating  | Retake #1 | 128 Tick | [NL]
./steamcmd.sh: line 29: /home/csgoserver/steamcmd/linux32/steamcmd: No such file or directory
[ INFO ] Update csgo-server: Applying steamclient.so general fix: Counter Strike: Global Offensivecp: cannot stat ‘/home/csgoserver/steamcmd/linux32/steamclient.so’: No such file or directory
[ FAIL ] Update csgo-server: Applying steamclient.so general fix: Counter Strike: Global Offensive
[ FAIL ] Update csgo-server: Applying botprofile.db fix: Counter Strike: Global Offensive
[ FAIL ] Update csgo-server: Applying valve.rc fix: Counter Strike: Global Offensive
[ .... ] Update csgo-server: Checking for update: SteamCMDgrep: : No such file or directory
./steamcmd.sh: line 29: /home/csgoserver/steamcmd/linux32/steamcmd: No such file or directory
[ FAIL ] Update csgo-server: Checking for update: SteamCMD: Not returning version info

Missing Dependencies i think

Okay, thanks! Ill try a full reinstall.

Installing missing dependencies would be enough.

Reinstall fixed it =)

Great to know you got it working !


(Fixed) - Fix show horizontally logic

What have changed?

Se fixeo la logica para mostrar el merchantHeader de manera horizontal o vertical para devices dentro de la categoria "large"

Prints for layout changes:
Antes:

Con fix:

          1 Error

:no_entry_sign:
Please include a CHANGELOG.md entry. The changelog entry should be equal to the PR title in the correct section: Fix show horizontally logic

          2 Messages

:book:
This PR does not include any JIRA tasks in the title. (e.g. [TICKET-1234])

:book:
You and the size of your PR are awesome! 🚀

Current coverage for MercadoPagoSDKV4.framework is 3.15%

Files changed
-
-

PXOneTapHeaderView.swift
0.00%
:skull:

Powered by xcov

  Generated by :no_entry_sign: Danger


Clarify updating testing setup from 0.x to 1.x

"Lastly, anywhere you have the following, needs to be replaced with this: [...] with this:" doesn't make sense.

Thanks!


Upgrade sqlx to 0.7.1

Nothing fancy, just updated sqlx's version to 0.7.1, and some minor changes.

Would love to see this merged / released!
Closes https://github.com/Diggsey/sqlxmq/issues/47

ping @Diggsey, are you still maintaining this repo?

Sorry for the delay!

Thanks! Would love if you could publish a 0.4.2 with this change.

Done 👍


Unskip Python 3 test for feedback handling

This change restores a Python 3 test for handling non-ascii referrer values
in v1 feedback. The previous test was trying too hard to manage string types,
and we were skipping the test in Python 3.
The solution was to leave the Python unicode sandwich alone.
With unicode_literals turned on, both Python versions happily pass
unicode to the request object for handling downstream.
This addresses platform issue 3613.
Testing
22 unit tests for v1/handler code should succeed in Python 2 and 3, and there
should be no skips.
tox -e fast v1.tests.handlers.blocks
tox -e unittest-py36-dj111-wag113-fast v1.tests.handlers.blocks

Checklist

[x] PR has an informative and human-readable title
[x Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows the standards laid out in the CFPB development guidelines
[x] Passes all existing automated tests
[x] Any change in functionality is tested
[] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated
[x] Reviewers requested with the Reviewers tool :arrow_right:

Ran the following commands to verify Python 3 tests were not skipped:
$ git checkout restore-py3-test
$ tox -e fast v1.tests.handlers.blocks
...
Creating test database for alias 'default'...
applying migration wagtail.wagtailcore.migrations.0002_initial_data
applying migration wagtail.wagtailcore.migrations.0025_collection_initial_data
System check identified no issues (0 silenced).
......................
----------------------------------------------------------------------
Ran 22 tests in 0.047s

OK
Destroying test database for alias 'default'...
______________________________________________________ summary ______________________________________________________
  fast: commands succeeded
  congratulations :)

$ tox -e unittest-py36-dj111-wag113-fast v1.tests.handlers.blocks
...
Creating test database for alias 'default'...
applying migration wagtail.wagtailcore.migrations.0002_initial_data
applying migration wagtail.wagtailcore.migrations.0025_collection_initial_data
System check identified no issues (0 silenced).
......................
----------------------------------------------------------------------
Ran 22 tests in 0.044s

OK
Destroying test database for alias 'default'...
______________________________________________________ summary ______________________________________________________
  unittest-py36-dj111-wag113-fast: commands succeeded
  congratulations :)


suite: debug mgr by default

Like we do the mon and osd.

hm, interesting:
teuthology/suite/placeholder.py:62:17: F601 dictionary key 'mon' repeated with different values
teuthology/suite/placeholder.py:66:17: F601 dictionary key 'mon' repeated with different values


Add link to CuPy repository

This PR adds the link to the official repository to the top page of the readthedocs

LGTM


CLI does not accept param values that start with - (dash)

Steps to Repro:
Create a resource group in Portal that starts with dash e.g. --abc.
Now in the CLI this works fine:
$ az group list -otable
Name         Location    Status
-----------  ----------  ---------
--abc        westus      Succeeded

I can't show the group though. All these return the same cryptic error:
$ az group show -n --abc
$ az group show -n '--abc'
$ az group show -n "--abc"
az group show: error: argument --name/-n: expected one argument
usage: az group show [-h] [--output {json,tsv,table,jsonc}] [--verbose]
                     [--debug] [--query JMESPATH] [--name RESOURCE_GROUP_NAME]

This is an issue inherit to argparse but tracking it here for reference at least.
http://bugs.python.org/issue9334

copying a comment from a linked issue, as this one doesn't have this info:
I found a satisfactory work-around by adding an equals sign to supply the argument value. i.e.

az keyvault secret set -n mysecret --vault-name mykeyvault --value='-secret'

I was stuck when using LetsEncrypt for generating HTTPS certificate because it requires DNS validation.
This is my azure command:
az network dns record-set txt add-record --record-set-name ${txtname} --resource-group ${rgName} --zone-name ${domain} --value ${token}
The variable "token" is generated by LetsEncrypt dynamically, the token sometimes starts with "-" but sometimes not, so it causes the instability of the certificate auto-renewal job.
It works now as I modified the Azure CLI command to
az network dns record-set txt add-record --record-set-name ${txtname} --resource-group ${rgName} --zone-name ${domain} --value=${token}


BUG: About us, contact us links are not working in footer section.

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I have observed that About us, Contact us links are not working in footer section.
I want to work on this issue.
Please assign me this issue.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I would like to resolve this issue. Kindly assign this task to me with required GSSOC'24 Labels


deps: fix package-lock.json

package-lock.json update

closing in favor of https://github.com/primer/react/pull/5440/files


flow suggest broken

Go to an empty directory:
npm i flow-bin
echo 'var f = (a, b) => a + b;' > a.js
./node_modules/.bin/flow init
./node_modules/.bin/flow suggest a.js

Gives:
--- old
+++ new
@@ -1 +1 @@
-var f = (a, b) => a + b;
+var fany = (aany, bany) => aany + banyany(a: any, b: any) => any;

Tried it on the most recent versions, and it was working in 0.65.0 and earlier, but broken in 0.66.0 and newer.

Any plans to fix it?
It would be good to have suggestion in colors

Oh, this has been fixed since a few versions back. Closing. Adding color support is not on the roadmap unfortunately-- there's other improvements to get done before (like preserving comments on suggested code). For colors there's other tools (highlight.js-cli, cli-highlight) that can probably be appended to the command to get job done.


[infra-proxy-service] Limit adding/removing Infra Servers and organizations to Editors

:nut_and_bolt: Description: What code changed, and why?

At present this PR only added a migration to append the infra:infraServers:* to the editor role.
I am not aware of the consequence of implied the policy to particular role need guidance to follow the path?
:chains: Related Resources
https://github.com/chef/automate/issues/3519
:+1: Definition of Done

Limit adding/removing Infra Servers and organizations to Editors

:athletic_shoe: How to Build and Test the Change
Steps to build:

rebuild components/authz-service

Steps to test:

After rebuilding login with editor user.

Go to Dashboard >> Infrastructure >> Chef servers (shown) earlier it was hidden.

Perform any actions on servers or orgs will work accordingly.

:white_check_mark: Checklist

[ ] I have read the CONTRIBUTING document.
[ ] Tests added/updated?
[ ] Docs added/updated?
[ ] All commits have been signed-off for the Developer Certification of Origin.

:camera: Screenshots, if applicable
Signed-off-by: Vivek Singh<EMAIL_ADDRESS>

Thanks for providing the detail @btm
Going to close this PR and will raise another one as discussed changes on https://github.com/chef/automate/issues/3519#issuecomment-621392424


[BUG] Etag Quotes missing v12.9.0+ UploadAsync

Describe the bug
When I upgrade from v12.8.4 to 12.9.0 or 12.9.1 the etag quotes are gone.  I am using blobClient.UploadAsync. I checked the version of the request and it is set to Version 2020-08-04.
Expected behavior
Quotes to be included on etag  using blobContentInfo.Value.ETag.ToString()
Actual behavior (include Exception or Stack Trace)
Etag returns without quotes.
To Reproduce
Steps to reproduce the behavior (include a code snippet, screenshot, or any additional information that might help us reproduce the issue)

change azure.storage.blob version to 12.9.1. Upload document "await blobClient.UploadAsync(dataStream)".
check etag value  "string eTag = blobContentInfo.Value.ETag.ToString()"

Environment:

Name and version of the Library package used: [e.g. Azure.Storage.Blobs 12.9.1]
Hosting platform or OS and .NET runtime version (dotnet --info output for .NET Core projects): [.NET 5.0 Console Application
IDE and version : [e.g. Visual Studio 16.10.2]

ACK. I was able to reproduce it with the following
BlobClient blob = container.GetBlobClient("something.log");
            // Upload file data
            await blob.UploadAsync(path);

            // Verify we uploaded some content
            BlobProperties properties = await blob.GetPropertiesAsync();

            Console.WriteLine("Got ETAG " + properties.ETag);


fix(CollasibleFilter): add main button animation

In the video sample https://www.youtube.com/watch?v=zqsnGEcMeV0
The airbnb filter has also general button view group (anywhere anytime anything)

Thx, for the PR.
But seems it not fully working, when im clicking on the "Anywhere Anytime Anything" button it writes "Anywhere pressed"
Can you please elaborate what this PR should fix.

I am closing the PR as a part of an effort to cleanup and revive the project. If this issue persists after v1.0.0, you are more than welcome to reintroduce the PR.
Thanks for your contribution.


Core Security

Security Criteria

Transport

Support TLS out of the gate
across actuator, rsocket, webflux/gateway
Third party apps like Consul, Cassandra, Elastic
WHY? Can I terminate TLS connections separately?

In-App Auth

In-app  RSocket, Websocket, HTTP Authentication via Oauth and Simple/Basic.
Maintain that Actuator, In-app, and platform all use separate mechanisms.
In-app authorization is customized with an 'acessBroker' component used in 'preAuthorize'

3rd-party Auth

How to include configurations in Deployments
e.g. RabbitMQ deployments - communicate credentials and authZ setup to servers via ... LDAP? SpringAuthServer?

Vault

Add as in-app KVStore, SecretsStore
Can contain 3rd party secrets ( rabbit, etc.. )?

Additional

Spring Security Auditing: https://docs.spring.io/spring-boot/docs/1.5.4.RELEASE/reference/html/production-ready-auditing.html

First 4 objectives reached.  Now, SomeONE I know has mastered the authorization (OAuth/ JWT ) scenario.
Implement it ASAP. This completely separate component wont interfere with the rest of app development. This objective is mostly separate to the core ones.
HOWEVER. AUTHZ...
Current impl is scaffolding. Here are some ideas mostly YAGNI:

SpiceDB is a project dedicated to keeping track of these kinds of things (granular object permissions with scope).
We can utilize firebase/rethinkDB
Or even NEO4j or similar graphDb approach ( spiceDB accomplishes this on its own, so YAGNI )


Version property out of date

> Backbone.Validation.version
< "0.9.1"

Not having the correct version number is confusing when testing and debugging.

Thanks. :+1:

@chiefGui https://github.com/thedersen/backbone.validation/blob/2df0fdeee711116ae309fe32210d30827a82f5df/dist/backbone-validation.js#L361

Just forgot to run grunt. Thanks again, @jacobbuck — but it was fixed! :+1:

Cool thanks :smile:


framework amd: only apply suspend workaround on <6.7

Description of changes
A workaround has been upstreamed in Linux v6.7
Things done

[ ] Tested the changes in your own NixOS Configuration
[ ] Tested the changes end-to-end by using your fork of nixos-hardware and
importing it via <nixos-hardware> or Flake input

@mergify rebase


[Feature Request] Accessibility: Pagination

Existing Component
Yes
Component Name
pagination
Element UI version
2.5.4
OS/Browsers version
MacOS Mohave / Safari
Vue version
2.5.21
Reproduction Link
https://jsfiddle.net/mczs0pda/2/
Steps to reproduce
Try to tab or use navigation arrows
What is Expected?
User should be able to navigate the pagination component using the keyboard.
Using arrow keys should let the user move between page numbers, enter/space keys should trigger page change.
What is actually happening?
Pagination is not accessible via keyboard.

pr welcome


Add missed fallback variable for CPACK_RPM_FILE_NAME

When set CPACK_RPM_FILE_NAME CMake 3.6.0 has missed non uppercased version of CPACK_RPM_<COMPONENT>_FILE_NAME.

Cc: @do-m-en
Thanks.  Applied as commit 672e6d2e20212b627085f035f65cb45d0c070d23 and queued for merge to release for 3.6.1.


(BKR-917) libvirt requires a correctly formatted mac

The libvirt provider expects a mac address with colons. This change
updates the libvirt class to generate a random mac address with colons
so libvirt can configure the network correctly.

Can one of the admins verify this patch?

:+1:

@puppetlabs-jenkins test this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3413/

This looks to have failed due to a CI issue with one of the SUTs killing the puppet process unexpectedly. @puppetlabs-jenkins retest this please.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3415/

@puppetlabs-jenkins retest this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3447/


Feature Request: Equivalent for LaTeX's \citet or \textcite commands

For author-year citation styles (i.e., styles like apa that use something like (Foo and Bar 2022) for citing), it would be very handy to have a way to emulate Natbib's \citet or BibLaTeX's \textcite commands, which are rendered as Foo and Bar (2020). This way of citing makes it easier to integrate a reference into the flow of a sentence and would be, in my opinion, a very useful edition to typst.
In a similar vein, it would also be great to have functions that work like LaTeX's \citeauthor or \citeyear, which make it possible to only display the author(s) or the year of a cited publication.

+1. In my field this is correct citation and this is one of the few things preventing me creating a close facsimile of latex output for our papers.

Agreed, really need this @onefact too!

As a work around you can define your own citet (and citep) functions:
#let citet(..citation) = {
  cite(..citation,brackets:false)
}
#let citep(..citation) = {
  cite(..citation,brackets:true)
}

Then use like
#citet("teodorescu-etal-2022-black") introduced a new method ...

And it will render something like
Teodorescu et al. (2022) introduced a new method ...

The issue that the built in cite function has no capacity to bracket the year only, unless this has been fixed in a nightly build.

#let citep(..citation) = {
cite(..citation,brackets:true)
}

I see:
#citep("schneider2016extragalactic") also found this. -> (Schneider 2016) also found this. not Schneider (2016).

@coljac You want to use citet (for text), not citep (for parentheses)

@coljac You want to use citet (for text), not citep (for parentheses)

I must be confused. The only difference I see between those two functions you defined is brackets: true or false. Neither of those options put parens around the publication year only.

You can also use regex in the function
Wait here is a more complete examples based loosely on apacite:

main.typ:
#import "template.typ": *

// Take a look at the file `template.typ` in the file panel
// to customize this template and discover how it works.
#show: project.with(
  title: "Test Cite",
  authors: (
    "Example",
  ),
)

#set cite(style: "chicago-author-date")

#let citet(..citation) = {
  show regex(" \d{4}"): v => {
    show " ": vv => []
    [ (#v)]
  }
  cite(..citation,brackets:false)
}

// We generated the example code below so you can see how
// your document will look. Go ahead and replace it with
// your own content!

= Introduction

#citet("teodorescu-etal-2022-black") introduced a new method ...

#bibliography("example.bib")

template.typ:
// The project function defines how your document looks.
// It takes your content and some metadata and formats it.
// Go ahead and customize it to your liking!
#let project(title: "", authors: (), body) = {
  // Set the document's basic properties.
  set document(author: authors, title: title)
  set page(numbering: "1", number-align: center)
  set text(font: "Linux Libertine", lang: "en")

  // Title row.
  align(center)[
    #block(text(weight: 700, 1.75em, title))
  ]

  // Author information.
  pad(
    top: 0.5em,
    bottom: 0.5em,
    x: 2em,
    grid(
      columns: (1fr,) * calc.min(3, authors.len()),
      gutter: 1em,
      ..authors.map(author => align(center, strong(author))),
    ),
  )

  // Main body.
  set par(justify: true)

  body
}

example.bib:
@inproceedings{teodorescu-etal-2022-black,
    title = "{UA}lberta at {LSCD}iscovery: Lexical Semantic Change Detection via Word Sense Disambiguation",
    author = "Teodorescu, Daniela and Von Der Ohe, Spencer  and Kondrak, Grzegorz",
    booktitle = "Proceedings of the 3rd Workshop on Computational Approaches to Historical Language Change",
    month = may,
    year = "2022",
    address = "Dublin, Ireland",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2022.lchange-1.19",
    doi = "10.18653/v1/2022.lchange-1.19",
    pages = "180--186",
    abstract = {We describe our two systems for the shared task on Lexical Semantic Change Discovery in Spanish. For binary change detection, we frame the task as a word sense disambiguation (WSD) problem. We derive sense frequency distributions for target words in both old and modern corpora. We assume that the word semantics have changed if a sense is observed in only one of the two corpora, or the relative change for any sense exceeds a tuned threshold. For graded change discovery, we follow the design of CIRCE (P{\"o}msl and Lyapin, 2020) by combining both static and contextual embeddings. For contextual embeddings, we use XLM-RoBERTa instead of BERT, and train the model to predict a masked token instead of the time period. Our language-independent methods achieve results that are close to the best-performing systems in the shared task.},
}

Aha, right. Yes, using regex I can indeed customise the citation to a reasonable degree. I will play with this and see where I hit a roadblock. Thanks @sazzy4o .

@sazzy4o
I tried your approach for the numerical citation style, but it seems that when using my textcite function the counter is not incremented:
#let textcite(..citation) = {
  // Delete year after author names:
  show regex(" \d{4}"): v => []
  // Just the authors:
  cite(
    ..citation,
    brackets: false,
    style: "chicago-author-date",
  )
  // Just the number in brackets:
  [~#cite(
      ..citation,
      brackets: true,
      style: "numerical",
  )]
}

Using it like this results in both key0 and key1 appearing with [1] in the bibliography:
The XYZ system~#cite("key0") shows that…; or #textcite("key1") showed in their work that…

@lumpiluk It looks like it is resetting the count ([1]) when you switch citation styles. I think you might want to log that under a separate issue

This is now supported with the form attribute on cite set to "prose"

Is it also possible yet to limit the number of authors that are listed with cite and prose?

Not directly in Typst, however, you can copy your citation style from the CSL style repository, adjust the et-al-min and et-al-use-first attributes and upload that file to your Typst project. You can then use it by specifying #bibliography("works.yml", style: "your-style.csl")

Not directly in Typst, however, you can copy your citation style from the CSL style repository, adjust the et-al-min and et-al-use-first attributes and upload that file to your Typst project. You can then use it by specifying #bibliography("works.yml", style: "your-style.csl")

I have not managed to get this to work for the "cite" command, only for the bibliography. I have perused the CSL specification for a bit, and I think it would involve very significant changes to the file that I don't think it's reasonable to expect users of Typst to make.
I have also not managed to get any of the other common default citation formats (APA, Chicago) built into typst to include a reasonable number of authors on inline citations. Seems like a major issue that could detract a lot of people from using typst. Minimum reproducible example:
// example.typ

#cite(<citation_key>, form: "prose")

#cite(<citation_key>, form: "prose")

#cite(<citation_key>, form: "prose")

#bibliography("example.bib")

// example.bib

@misc{citation_key,
Author = {Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname and Name Surname},
Title = {Title},
Year = {2024},
Eprint = {arXiv:0000.00000},
}

Output:
N. Surname et al. [1]

N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, and N. Surname [1]

N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, N. Surname, and N. Surname [1]

Bibliography
[1] N. Surname et al., “Title.” 2024.

To be clear, this happens for basically any citation style. In my opinion this renders the entire "prose" feature unusable. I regularly have papers with 20+ authors for which I could never use typst as it stands.

@reknih should my comment above perhaps be opened as a new issue?

@Rocamonde, do you still have this issue?

@yardenas I just checked again, and it appears that this has been fixed on the latest typst version! :)


Understanding Delegation Keys

I'm having trouble understanding delegation keys, and I hope someone can help me.
I would like to have a GUN:
my-registry.example.com/projname
I would like to setup a delegation key that would sign anything under my-registry.example.com/projname
I can create the key and it gets used. What seems to happen though is that if I sign:
my-registry.example.com/projname/foo:latest
and
my-registry.example.com/projname/bar:latest
Docker/Notary seem to create a repository key for each  path. E.G. a key for /projname/foo, and another key for /projname/bar
At each docker push, I'm prompted for the root key and it creates a new repository key.
I've really gone through the docs and played with this extensively. Is there any way that I can use delegations for all paths that are used in signing, or are delegation keys really restricted down to one path, e.g. /projname/foo.
My goal is to be able to use this in Jenkins, so I can't have the operator be prompted constantly for creation of a new repository key.
I really appreciate any insights.
Thanks.
George

My goal is to be able to use this in Jenkins, so I can't have the operator be prompted constantly for creation of a new repository key.

You could specify environment variables for the passwords you want for the repo keys so not to be prompted when keys are created for new repos.
NOTARY_ROOT_PASSPHRASE=REPLACEME NOTARY_TARGETS_PASSPHRASE=REPLACEME NOTARY_SNAPSHOT_PASSPHRASE=REPLACEME notary WHATEVER

I guess this was a lack of understanding on my part. What I didn't realize, and the docker/notary docs don't make really clear is that each target is a unique GUN with a unique targets key.
so,
/project/name/foo
/project/name/bar
are two distinct GUNs, and the root key must be available to sign a target key or do delegation for each. I can see where this is OK if you don't have a large number of targets, but if you're in a large organization, with dozens or hundreds of targets, it gets out of hand pretty quickly. I'm looking at creating a web service that will do nothing but do this. The web service is necessary so that the ROOT key isn't exposed.


Two known problems with RSP account registration after IAU GA

We have two new RSP account requests with outstanding registration issues after the IAU GA. One person has a registration that needs to be deleted (to start fresh), and after initial deletion, the deleted account persists in the system anyway. The second person registered with the wrong email and cannot receive the confirmation email, so probably needs to also be deleted and start over. Please contact Christina Williams for names, emails, and usernames of the affected accounts.

Trying to assign to @frossie but for some reason I can't assign.

Looks like one person now has RSP access. We have pinged the other person with no reply, but let them know to contact us directly when she is ready to restart the process. Closing ticket for now.


Adding information on how to troubleshoot SSO related issues.

Hi all,
Added some extra information in some of the SAML configuration articles on tips for customers to troubleshoot errors in SAML configuration.

@eringreenlee : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off thank you!

@eringreenlee: I'm sorry - only the author of this article, @genlin, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Added option to generate all XYZ available options

Added a fix so that the getaxis_value method would stop throwing exceptions on items not found on xyz_options.
Also added a new option (sd_grid_add_extra_generation_parameters, default: False) so that the user can chose to add a raw vision from info pulling from params.p.extra_generation_params.
This modification allows to add options such as additional networks, UniPC Order (available on vladmandic's UI fork) or basically anything that the API exposes through extra_generation_params into the generated images.

Very nice. Thanks!


Add map (sm_t) missing tests

sm_reset, sm_grow, sm_reserve, sm_cpy, sm_ii32_inc, sm_uu32_inc, sm_ii_inc, sm_si_inc, sm_i_delete, sm_s_delete, sm_enum, sm_enum_r, sm_inorder_enum

pending tests: sm_reset, sm_cpy, sm_itr_si, sm_itr_sp

pending tests: sm_cpy, sm_itr_si, sm_itr_sp

pending tests: sm_itr_si, sm_itr_sp

Done, commit: dff4f7dba07fb09feb6bbb1c0115962f18d66bec


Discuss a way we could create a lot of conversations to test the UI locally

Current state

the TEDI instance showed us that some things break in the UI when there is a lot of data
there are things that we can't catch when we build and test the UI with just a few conversations

To do

find a way we could create +500 (or more!!) conversations in one go in the UI
possible solutions: use Cypress, hit the API with curl

we tackled this issue by creating a Cypress test that creates +300 chat plugin conversations.

checkout to branch feature/1734-conversations-to-test-ui
run cypress (./node_modules/.bin/cypress open -C integration/cypress.json)
run the test create_conversations.spec.ts (in integrations/chat-plugin)

---> we will improve this test in the future + we are thinking of creating tests that would automatically connect to Facebook and Google and send messages


implement calculate_remove_liquidity

Add a function to the Rust SDK that calculates the amount of proceeds and withdrawal_shares received for removing liquidity. Traders and UIs could use this to preview their returns without hitting the chain.

Delayed a bit by the 1.0.5 upgrade but,
Two landed:
#7, #11
One ready to go:
#17 - ShouldShortCircuit and LongEdgeCase helpers
Not in PR, but code written:
DistributeExcessIdleShortProceeds, DistributeExcessIdle

Delayed a bit by the 1.0.5 upgrade but,
Two landed:
https://github.com/delvtech/hyperdrive-rs/pull/7, https://github.com/delvtech/hyperdrive-rs/pull/11
One ready to go:
https://github.com/delvtech/hyperdrive-rs/pull/17 - distribute_excess_idle
One draft PR:
https://github.com/delvtech/hyperdrive-rs/pull/100 - calculate_remove_liquidity

Three landed:
https://github.com/delvtech/hyperdrive-rs/pull/7, https://github.com/delvtech/hyperdrive-rs/pull/11
https://github.com/delvtech/hyperdrive-rs/pull/17 - distribute_excess_idle
One Ready to Go:
https://github.com/delvtech/hyperdrive-rs/pull/100 - calculate_remove_liquidity

#100 needs https://github.com/delvtech/hyperdrive/pull/1049 to land first in order to have the exact results


Update falcon7b deployment

Added conversation history.
TODO: take conversation history into account when generating new responses

Ready to merge @andy108369

Ready to merge @andy108369

Thanks!
Waiting for https://github.com/akash-network/awesome-akash/pull/449#discussion_r1475256693

hey guys,
I can't really dedicate enough time for this and I'm making you all wait and waste time. Sorry about that.
Please feel free to contribute in any way you think would be beneficial and administer the project to your liking.
thank you!
Shimpa


data/r2_compiled_out_corrected_revised_atomic_w_evidences_factscores_anon.jsonl

翻译成英语：
Is there any difference between the files data/r2_compiled_out_corrected_revised_atomic_w_evidences_factscores_anon.jsonl and data/r2_compiled_out_corrected_revised_atomic_w_evidences_factscores.jsonl, or are they essentially the same?

They are the same. The annotator_IDs were anonymized (hence the anon) in the file released publicly in this repo.


WAMP over Process Pipes: breaking Twisted v21.2.0 interface change

The breaking interface change in Twisted relates to Autobahn support for WAMP over pipes to spawned child processes:

with Twisted v20.3.0 calling twisted.internet.protocol.ProcessProtocol.getPeer raises an AttributeError
with Twisted v21.2.0 calling the same method raises an NotImplementedError

fixed via https://github.com/crossbario/autobahn-python/pull/1469 - this works with both Twisted v20.3.0 and v21.2.0

for the record, the change in twisted is indeed covered by twisted project policy .. see https://twistedmatrix.com/pipermail/twisted-python/2021-March/065507.html and ff


Add Managed Identity example

@mumian
Can you review the proposed changes? Note that the validation warning must be resolved.
The commits should also be moved to the private repo so the new tab can be viewed on staging. Can you move the commits or let us know if you'd like the PR review team's help?
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@anthony-c-martin - Thank you for your contribution.  I have created another PR with following changes:

Made some minor changes to the sample.
Fixed a formatting issue.
Move the new section to a different place in the article.

The new PR is https://github.com/MicrosoftDocs/azure-docs-pr/pull/275760
#please-close


[feature request] vite support

vite has gained a lot of ground in recent years and is now the build tool of choice for many new projects. It'd be great to support power-assert transformations with vite.

My reading has left me confused about whether vite uses babel sometimes or optionally or with certain plugins. I opened a question about this on the vite discord but haven't heard back.
I also stumbled across what appears to be code for power-assert plugins for esbuild and rollup (tools which vite builds on)… but twada has not published them yet. https://github.com/twada/power-assert-monorepo/tree/main/packages

@keturn Thank you for your feature request. Okay I'll publish rollup4 and vitest integration from my experimental new repository https://github.com/twada/power-assert-monorepo/tree/main/packages

@keturn FTI: just released rollup-plugin-power-assert 0.1.0
https://www.npmjs.com/package/rollup-plugin-power-assert


GeoSearch: Support string type for _geo lat and lng fields

Following this spec: https://github.com/meilisearch/specifications/pull/83
When indexing the _geo field as a filterable or sortable attribute, MeiliSearch should be able to parse string or numeric values rather than raise an invalid_geo_field error.
Please, feel free to ask any question to be helped by the core team if needed

@meilisearch/docs-team, maybe it impacts your documentation


⚠ Roblox Site has degraded performance

In b99db49, Roblox Site (https://roblox.com/) experienced degraded performance:

HTTP code: 200
Response time: 3600 ms

Resolved: Roblox Site performance has improved in 79164ae after 9 minutes.


Lazily establish redis connection

Coverage increased (+0.3%) to 90.736% when pulling c688e6b43b81910d25437fbb7047db049fbdba96 on Naillik1:feature/lazy-connection into 5600b0023c44fea410afe6c7d2d89b6ec26a0533 on etaty:master.


Auto-Stitching

With the current version of schema stitching we still have to do a lot of work regarding the schema SDL in order to stitch together two schemas.
In order to make this easier and less error prone we want to introduce some kind of auto-stitching.
Auto-Fetch Schema
First part of this story is that I do not want to provide the remote schema with a schema. #543
So instead of:
serviceCollection.AddRemoteQueryExecutor(b => b
    .SetSchemaName("contract")
    .SetSchema(FileResource.Open("Contract.graphql"))
    .AddScalarType<DateTimeType>());

I just want to say:
serviceCollection.AddRemoteQueryExecutor(b => b
    .SetSchemaName("contract")
    .AddScalarType<DateTimeType>());

The stitching layer shall the fetch the schema via introspection from the remote schema. I still will need to provide scalars that are not defined in the spec.
Auto-Merge Schema
The next part of this story is auto-merging a schema. The auto merge shall provide a simple root field merging. So, root fields from both schemas will be merges. In order to solve collisions we want an ISchemaMergeCollisionResolver which can be passed in.
The default collision resolver will merge like the following when the name of a type is used in both schemas:

Input types that are completely equal (including enums) will be merged so that a single type exists in the stitched schema.

Input types that are not 100% equal or that are output types will be prefixed with the schema name. So, the [typeName] becomes [schemaName_typeName].

Extend Types
In order to make the types more useful and provide a deep level of stitching it shall be possible to extend the types via the sdl.
extend type Foo {
  bar: Bar @schema(name: "schemaName") @delegate(path: bar.bars)
}

Builder Support
For the stitched schema we should provide a builder class that makes it easy to create the stitched layer.
StichingBuilder.New()
    .AddRemoteSchema(foo)
    .AddExtensionFromFile("Extensions.graphql")
    .AddConflictResolver(types => new ConflictResolution(false))
    .AddFieldSelector((type, field) => false)
    .RenameField("schemaName", new FieldReference("Type", "field"), "newFieldName")
    .Merge();

i really like your approach and it should enable all our use cases i'm aware at the moment.
Auto-Fetch Schema

at first it confused us that we have to add our own HttpClient for contract resolving. I guess it would help if setting the contract would auto add an HttpClient factory for this contract by default. But the factory should still be extensible as we need to pass OAuth acces tokens through our hierarchy.
not directly related to stitching. but please make the introspection logic accessible for other devs so we could build on it and e.g. create a class generator for a typed graphql client (similiar use case as the REST clients which are generated from swagger definitions)

Auto-Merge Schema
that sounds perfect. i really like the reusing of types with the same structure across multiple remote schemas. and a conflict resolver should enable us to solve all those special issues we don't know yet. one thing i'm just thinking about which might happen in the future is if there are multiple services which are using stitching.
e.g. we have multiple graphql services which are stitched together like this:
A -> B -> C
 \-> D -> C

from point of A, service C is inexisting. May be we could help A with an override so it's aware of C and could delegate the requests directly to C (and use a dataloader which works across B and D). this is probably not a use case which is very common. but could be a problem once stitching gets really big.
Extend Types
while this is perfectly fine, a code first approach for extending types would be welcome.
thanks for discussing this in the open!

not directly related to stitching. but please make the introspection logic accessible for other devs so we could build on it and e.g. create a class generator for a typed graphql client (similiar use case as the REST clients which are generated from swagger definitions)

What do you mean by that? The introspection queries can always be executed, this is defined by the spec.
Or do you mean that we should make the introspection c# types public? The introspection types basically use ISchema to query for types and ISchema is public.
Or do you mean that we should make the introspection logic of the auto-stitching public?

@OneCyrus just as a side note, I have also started to outline how the batching will work since you mentioned DataLoader logic etc.
https://github.com/ChilliCream/hotchocolate/issues/524

while this is perfectly fine, a code first approach for extending types would be welcome.

What do you think about adding a ObjectTypeExtension this would be basically the extension representation in csharp.
Or we could introduce a ObjectTypeExtensionBuilder this might actually be more useful. The builder lets you describe what you want to add to a schema.

if setting the contract would auto add an HttpClient factory for this contract by default.

I think we could just use the default HttpClient if none is defined for the schema. Though the call for the schema could fail do to missing auth tokens etc..
We could handle this with a custom exception pointing to the documentation and explaining that one should add a custom http client.

that sounds good and will make the library more approachable.

not directly related to stitching. but please make the introspection logic accessible for other devs so we could build on it and e.g. create a class generator for a typed graphql client (similiar use case as the REST clients which are generated from swagger definitions)

What do you mean by that? The introspection queries can always be executed, this is defined by the spec.
Or do you mean that we should make the introspection c# types public? The introspection types basically use ISchema to query for types and ISchema is public.
Or do you mean that we should make the introspection logic of the auto-stitching public?

yes, make/leave the remote ISchema public. what we try to accomplish is something like NSwag or the kind of thing that ASP.Net Core is building for 3.0 with the OpenAPI. basically generate graphql client/proxy for easy consumption of graphql APIs from c#.

while this is perfectly fine, a code first approach for extending types would be welcome.

What do you think about adding a ObjectTypeExtension this would be basically the extension representation in csharp.
Or we could introduce a ObjectTypeExtensionBuilder this might actually be more useful. The builder lets you describe what you want to add to a schema.

sounds good. currently I'm not sure what would be the most logical way of defining it. while a builder would give the most flexibility it's probably also very verbose and complex. i really like the otherwise simplicity of the hotchocolate API but with still very deep extension points when needed. I'm sure you'll figure the perfect balance for this.

not directly related to stitching. but please make the introspection logic accessible for other devs so we could build on it and e.g. create a class generator for a typed graphql client (similiar use case as the REST clients which are generated from swagger definitions)

What do you mean by that? The introspection queries can always be executed, this is defined by the spec.
Or do you mean that we should make the introspection c# types public? The introspection types basically use ISchema to query for types and ISchema is public.
Or do you mean that we should make the introspection logic of the auto-stitching public?

yes, make/leave the remote ISchema public. what we try to accomplish is something like NSwag or the kind of thing that ASP.Net Core is building for 3.0 with the OpenAPI. basically generate graphql client/proxy for easy consumption of graphql APIs from c#.

OK, we will leave that open. The remote schema can basically also be used as an underlying client for any generated type.
But that again is another topic. :)
Anyway, we will provide access to the schema. You can then use ISchema to explore the GraphQL schema with a strong c# API. We should have this available at the end of this week.

What just came to my mind. Would it be possible to defer the schema introspection until the first call to HotChocolate? As all our GraphQL microservices are protected by JWT we can't just fetch the schema without a valid token. If we could defer the introspection until the first user with a valid token makes a GQL request, we wouldn't need special authentication handling.

That is possible. In the end it depends on how you will put everything together. But we will make it possible.

The AddConflictResolver will now be called AddMergeHandler. Merge handlers are chained (Chain of responsibility) not handled parts can be passed down the chain.
It basically works like a field middleware delegate.
Each type will be annotated with a source directive that contains the original name of the type and the schema name from which the type stems.
Is a type merged than the new type carries two source directives:
enum Schema_B_Foo @source(name: "Foo", schema: "Schema_B") @source(name: "Foo", schema: "Schema_C") {
  BAR
  BAZ
  QUX
}

This way the merge process can keep track of all the type references that have to be amended in case a type has to be renamed.

We will remove the schema directive and merge it with the delegate directive. This way the annotations are less error prone.
type Foo @source(name: "Foo", schema: "Schema_B") {
  bar @delegate(name: "baz" schema: "Schema_B")
}

Furthermore, we will allow the source directive on more elements like a field or an enum value. This is optional and can be used to rename the field.
type Foo {
  bar @delegate(name: "baz" schema: "Schema_B")
}

A field or an enum value can have different names in different schemas In the case the enum was merged. This kind of merge can only be done by writing a custom merge handler or by providing the sdl for it.
type Foo @source(name: "Foo", schema: "Schema_B") @source(name: "Bar", schema: "Schema_C") {
  bar @delegate(name: "baz" schema: "Schema_B") @delegate(name: "foo" schema: "Schema_C")
}

@OneCyrus we have integrated the lazy stitching functionality with 0.8.0-preview.5. Should be available any minutes. I have an example read demonstrating this. I will push that to our example repo as soon as the package is online.

TODOs:

[ ] BUG: There seems to be a conversion issue when DateTime variables are provided as a variable
[ ] honor rename on input fields
[ ] honor rename on arguments
[ ] BindResolver does not work
[ ] when merging types copy directives
[ ] Fix Null Value Issue
[ ] Fix Code Coverage
[ ] A field or an enum value can have different names in different schemas In the case the enum was merged. This kind of merge can only be done by writing a custom merge handler or by providing the sdl for it.
[ ] Ensure that all types are always handled

I am closing this one since we have finished the feature.


recent azure-cli-core and azure==4.0.0 are incompatible

I am trying to auth using cli credentials
from azure.common.credentials import get_azure_cli_credentials

credentials = get_azure_cli_credentials()

And I receive the following error
ImportError: You need to install 'azure-cli-core' to load CLI credentials

I am using poetry for dependency management and when I try and install azure-cli-core I get the following error
Using version ^2.0.77 for azure-cli-core

Updating dependencies
Resolving dependencies... (3.1s)

[SolverProblemError]
Because no versions of azure-cli-core match >2.0.77,<3.0.0
 and azure-cli-core (2.0.77) depends on azure-mgmt-resource (>=4.0,<5.0), azure-cli-core (>=2.0.77,<3.0.0) requires azure-mgmt-resource (>=4.0,<5.0).
Because azure-mgmt (4.0.0) depends on azure-mgmt-resource (>=2.0,<3.0)
 and no versions of azure-mgmt match >4.0,<5.0, azure-mgmt (>=4.0,<5.0) requires azure-mgmt-resource (>=2.0,<3.0).
Thus, azure-cli-core (>=2.0.77,<3.0.0) is incompatible with azure-mgmt (>=4.0,<5.0).
And because azure (4.0.0) depends on azure-mgmt (>=4.0,<5.0)
 and no versions of azure match >4.0.0,<5.0.0, azure-cli-core (>=2.0.77,<3.0.0) is incompatible with azure (>=4.0.0,<5.0.0).
So, because prm-azure-instance-agent depends on both azure (^4.0.0) and azure-cli-core (^2.0.77), version solving failed.

Any ideas on what specific versions of these libraries I need to make everything happy?

Hi @rmb938
The usage of azure is not recommended anymore, since this meta-package have some design trouble that force it to old version. I would suggest if you want to use the CLI authentication, that you don't use azure but directly the services you need (i.e. azure-mgmt-compute, etc.).
I'm renaming slightly your issue to make it clear this is a conflict between azure and latest azure-cli-core. We plan to address the azure soon, and I'll close your issue when I've confirmed whatever solution fixes this one as well.
Thanks for your report!

Oh I see, is there a list somewhere were I can see which python packages map to which azure service?

This link is supposed to explain enough:
https://github.com/Azure/azure-sdk-for-python#packages-available
If it's not enough, let me know and I take this as a doc feedback to make it better :). There is no actual list, but it's supposed to be clear enough so you get what you need.

azure meta-package has been officially deprecated. The list of available packages can be found here:
https://aka.ms/azsdk/python/all


Breaking changes in AWS Linux 2 / Lambda nodejs10.x

See also: https://github.com/lambci/git-lambda-layer/issues/13
Changes in Lambda nodejs10.x appear to break this library; specifically, its build of git, which is based on lambci/git-lambda-layer's build (hence the issue above).
I'll continue to monitor progress on the next git distribution for the AWS Linux 2 image that Lambda nodejs10.x uses.
Related, I'm thinking said fix (whether it originates from lambci/git-lambda-layer, or here) may be occasion for a 1.0 bump – open to thoughts on that!
Edit: misunderstood rollout plan/schedule of AWS Linux 2 – while it's a breaking change for this library in Lambda nodejs10.x, it's not going to be forced on non-nodejs10.x users (yet, anyway!).

I'm thinking said fix (whether it originates from lambci/git-lambda-layer, or here) may be occasion for a 1.0 bump – open to thoughts on that!

Definitely makes sense to me :+1:. There's no specific reason we're not on 1.0 yet, just an initial abundance of caution, bumping sounds like the right idea.

I think I partially misunderstood AWS's Lambda container rollout plan, which can be summarized as:

nodejs10.x Lambdas: run AWS Linux 2, which has breaking changes with the lambci/git-lambda-layer; presumably AWS Linux 2 will be the container env for future Lambda runtime releases
All other Lambdas: will very soon run AMI 2018.03, which should not (in theory and early testing) have any breaking changes with the lambci/git-lambda-layer

What's not yet clear is whether a git package that bundles all its own dependencies will be compatible with both container environments (and assuming it was, whether it would be a tenable file size).
So, this begs a question of direction. Since there's now effectively a fork in Lambda environments, do we maintain a version for each?
I could see doing a minor bump right away with the latest git currently available in lambci/git-lambda-layer (2.20.0), putting pre 1.0 into bug fixes / maintenance mode; then bumping major for AWS Linux 2 compatibility, due to its a breaking changes for nodejs10.x.
That's tidy, but could be frustrating for anyone installing lambda-git@latest that isn't on nodejs10.x (or future AWS Linux 2 Lambda runtimes).
Fwiw, sounded a bit like mhart was going to build an entirely new layer to solve for this, but layers are just ARNs, so they don't really have the NPM (and soon GH Registry) namespace considerations of this module.

Can we easily detect the AWS Linux version in use from Node at runtime? By the sound of it, for now the Node version is a clear marker, though it's unclear if that'll always be true.
Given we can, I'd split the package by versions as you suggest, but leave a check in each that warns and exits hard if it's run in the wrong environment, and then leave the npm latest tag pointing at the one we think is most popular for now. And document all that of course.
E.g, assuming in the short-term that AWS Linux 1 is still the common use case, I'd publish:

1.0.0 <-- up to date version of everything for Linux 1, with a warning if run in Linux 2
2.0.0-beta <-- up to date version of everything for Linux 2, in beta until we're sure this all works (your call), with a warning if run in Linux 1

with the latest dist tag pointing to 1.0.0 for now, presumably, so that's what's installed by default.
At some point later on we can finalize 2.0.0 if everything looks good, and start pointing latest to that once we think most people are using AWS Linux 2 (I suspect you have a far better feel for that than me).
How does that sound? Potentially frustrating for anybody on the wrong side of our latest guess if they don't read the docs, but if they don't read the docs that's always going to be true, and at least clearly printing an error at startup can make it very easy to spot & resolve.

News: Node 10 git binary is a go! https://github.com/lambci/git-lambda-layer/issues/13#issuecomment-547484502
What with node8.10 about to go EOL on Lambda, I'm thinking there is no longer much point to updating the legacy version or splitting the package / providing backwards support – within a few months those Lambdas won't be able to be updated anyway.
Seems like the move here is to get the new git image into 2.0.0 RC for nodejs10.x and go from there. Thoughts?

Right on. Will get a PR cooking for this this week!

Ok! Got a PR going for 2.0.0 here (I just assumed to go to 2.0.0 mainly because I didn't take the time to figure out whether 0.x (which is unstable in semverland) → 1.x would be considered a major the same as 1.x → 2.x). I added optional callback support, improved error handling, a new test suite, GitHub Actions CI config, and, of course, updated git for nodejs10x.
Unfortunately it's not good news. I probably should have tested lambci/git-lambda-layer's layer binaries before I got as far as I did with this PR, because there appear to be some blockers that I'm not so sure we can get around.
So, a quick bit of background: the nodejs8.10's Lambda microcontainer image was/is about 1.2GB, and contained a LOT of what we think of as being "standard" Linux stuff in there. Binaries, tools, libs, etc.
When AWS released nodejs10.x, they took a pretty different approach to the image, and made it super lean. This meant removing a ton of shared Linux libraries, binaries, and stripping it down to the bone – and they got the whole thing down to about 400MB (which is seriously impressive weight loss, imo!).
This is (in theory) a major boon to cold start times and other operations, but unfortunately it also meant that any custom binaries could no longer rely on standard system libraries. No bigs, being the mensch that @mhart is, he built a lot of great tooling (like docker-lambda and more recently yumda) to make it easier to compile binaries for Lambda targets.
However, the assumptions of extracting binaries to the filesystem via userland / Node modules vs via Lambda layers are different. Runtimes do their userland work in Lambda within /tmp, while Layers are contained within /opt. When I extracted the nodejs10.x git package and began testing in real Lambdae, git commands beyond --version were failing to find libs.
Looking into some of the binaries, it appears they may be calling libs from an absolute path that assumed a layer (/opt), and not relatively to their location in the filesystem (which, although it's been a while since I've done Linux lib hacking, I believe is a totally normal phenomena – but please correct me!).
This wasn't an issue before because all the common libs needed to run these binaries existed on the filesystem in nodejs8.10.
Just for completeness, I was curious to see if we could extract to /opt, but it is not userland editable, so this module can't write its contents there:
Uncaught Exception
{
    "errorType": "Error",
    "errorMessage": "EROFS: read-only file system, open '/opt/._bin'",
    "code": "EROFS",
    "errno": -30,
    "syscall": "open",
    "path": "/opt/._bin",
    "stack": [
        "Error: EROFS: read-only file system, open '/opt/._bin'"
    ]
}

Unless anyone can think of other approaches, it seems like that means we'd need to take on compiling git just for this module in order to make it work. In terms of level of effort vs. wheel reinvention vs. other subject considerations (related to my own use cases), I don't think I'd recommend that, and don't personally want to take on that workload.
I'm a bit bummed out, really thought I could make this happen while still drafting on the good work of the lambci/git-lambda-layer project, but I think the way nodejs10.x works, and the fact that node8.10 is nearly EOL together puts this project at an impasse.
@pimterry wdyt?

Interesting! Yeah, that sounds like a pain. Can you paste the errors you're seeing here, and the output of ldd $thegitbinary after extraction? That should highlight the issue a little more clearly.

Looking into some of the binaries, it appears they may be calling libs from an absolute path that assumed a layer (/opt), and not relatively to their location in the filesystem (which, although it's been a while since I've done Linux lib hacking, I believe is a totally normal phenomena – but please correct me!).

I think absolute paths are common, but by no means required. You can have relative paths (although they're relative to your working directory, not the binary) or bare names (which will be looked up using LD_LIBRARY_PATH etc). There should be a route through with those.

Unless anyone can think of other approaches

You are right: the 'correct' solution is probably to set up our own pipeline to compile Git for Lambda, for userland instead of layerland, but I agree that's a hassle.
I think there are other options though. For example, a quick google turns up this fun SO question: https://unix.stackexchange.com/questions/448789/fix-hardcoded-dynamic-linking-for-executable.
They're resolving a very similar issue using patchelf, which lets you to rewrite the paths in the binary directly. I think this should look something like:

Extract the binary on your local machine
ldd $gitbinary - get the list of the linked libraries
For each bad absolute path:

patchelf --replace-needed $bad_absolute_path $a_better_path $gitbinary

Re-tar the binary

In theory we could do that fairly easily, although it might just expose a new problem. I don't really have time to dig into this myself right now, but if you've got a minute, do you want to give it a go?

You guys got this! 👀 this thread 👍

Just a reminder for anyone lurking here that doesn't know – you can get git working in your Lambda by just adding a layer: https://github.com/lambci/git-lambda-layer
If that's not an option for you, then I'd understand why you'd want to continue using this module, but just figured I'd chime in to make sure ppl know.

Thanks for that @mhart - I will check it out. The layer is new right? (~17 days ago the support was added). I think that is why I used this one a while back. We don't have any restrictions for adding the layer in on our side (just need to spend a few minutes to update the cloudformation). May be a good idea to add that to the README for folks on that repo.

@mhart for sure! At the time I bugged @pimterry to undeprecate this package we couldn’t yet make use of layers.
@pimterry re patching the elf and repackaging the binaries, sounds p straightforward and easy to automate (assuming it works), but I’m also tapped out on time right now. Not sure when I’ll be able to get to it, so if someone wants to pick up where I left off on the 2.0 branch (or if you opt to re-deprecate this package) either is fine imo!

@dorian-coygo the layer that supports git on all runtimes except nodejs10.x has been around for a year, but you're right that nodejs10.x support is only 17 days old. Not sure what you mean about adding to the README?

@mhart - I went down the rabbit hole this morning. @ryanblock is right about how slim AWS Linux 2 is. It doesn't have curl or even tar. I tried forking the layer and adding curl and publishing it to my AWS account, but it looks like there are more issues and headaches (I get a curl: error while loading shared libraries: /opt/lib/libcurl.so.4: file too short). So then I decided to just use the request package and ditch curl. That is when I ran into the tar command not found. Solved that by adding it to the layer, but now I am getting random tar: Error is not recoverable: exiting now (which requires me to either debug my simple request code or some issue with tar. There isn't a lot of documentation around AWS Linux 2 and not all runtimes use it.
I may just wait to see if this package has more success or just write my lambda in a different language that still uses AWS Linux image.
As for the README, you explain how to use the AWS Layer via the UI. You could add a snippet about how to add it to the CloudFormation such as
Resources:
  <name of lambda>:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: <location of lambda code>
      Layers:
        - !Sub arn:aws:lambda:us-east-1:553035198032:layer:git-lambda2:2

@dorian-coygo if you want any of those binaries (curl, tar, etc), you can use https://github.com/lambci/yumda
Are you having issues with the git-lambda2 layer? If so, feel free to post issues over at that repo

Btw, in terms of explaining how to use it in the UI, I have exactly an example of that in the README here: https://github.com/lambci/git-lambda-layer#getting-started

Just wanted to give an update that I also moved to layers solution and used the git-lambda-layer as a guide (since it didn't have all the dependencies I needed).
Steps for others:

Figure out all your dependencies (this was painful trial and error). In my case it was git, curl, tar, gzip
Follow @mhart great guide here: https://github.com/lambci/yumda to build all of them in a docker and then zip it up.
If you want to publish the layer for others, you can follow @mhart publish script

Btw, in terms of explaining how to use it in the UI, I have exactly an example of that in the README here: https://github.com/lambci/git-lambda-layer#getting-started

FWIW: I was referring to adding a CloudFormation snippet in the readme (in case someone didn't want to do it manually in the UI).


Correlation failed at signin-oidc redirect

I keep receiving the following error after the Consent screen where I am going to the client “signin-oidc” url (please refer to images in attached doc for reference):
Unhandled remote failure (Correlation failed)
This was not an issue on my development build (VS2015 /w IISExpress) and only started after I had published the application.
From what I could find on Google, I can see that the issue is cause due to missing cookies. Would be helpful if I could get a better understanding and also some tips on how to debug it.
I have attached the debug log from the client, and from Fiddler, for reference.
logs.docx
Some background on my current setup –

IdentityServer with ASP.Net Core Identity Integration and EntityFramework persistence layer (combined from your ASP Identity and EntityFramework Quickstarts)
MVC Client (created using the MVCHyrbid Quickstart)

Both applications are deployed on separate domains:

IdentityServer is on a Windows Server 2012 R2 machine behind IIS 8.5
Client is on Windows Server 2008 R2 behind IIS 7.5

Appreciate the help!

Yes, I've checked it, its the same. I'm using http.
I also forgot to mention that both machines connect to Internet via a proxy (if that makes any difference). I have enabled standard http & https ports on the proxy firewall.

Good news is that I've got it working. I deployed the client to another machine running Windows 2012 RC with IIS 8.5, and remapped the IP to the new machine. Not sure if it was an issue with IIS...

Good to hear. I'll close this then. Thanks for the update.

We're running into this issue in production on about 2% of all requests. So far I haven't been able to see a pattern. I have full verbose logging active and captured the following log directly after a restart of the web app (possibly sensitive data redacted with XXX):
2017-06-13 15:23:45.469 +00:00 [Debug] Reading data from file '"D:\home\ASP.NET\DataProtection-Keys\key-XXX.xml"'.
2017-06-13 15:23:46.413 +00:00 [Debug] Found key {XXX}.
2017-06-13 15:23:46.460 +00:00 [Debug] Considering key {XXX} with expiration date 2017-08-11 07:11:29Z as default key.
2017-06-13 15:23:46.491 +00:00 [Debug] Opening CNG algorithm '"AES"' from provider 'null' with chaining mode CBC.
2017-06-13 15:23:46.539 +00:00 [Debug] Opening CNG algorithm '"SHA256"' from provider 'null' with HMAC.
2017-06-13 15:23:46.554 +00:00 [Debug] Using key {XXX} as the default key.
2017-06-13 15:23:46.601 +00:00 [Information] HttpContext.User merged via AutomaticAuthentication from authenticationScheme: "Cookies".
2017-06-13 15:23:46.636 +00:00 [Verbose] MessageReceived: '"?code=XXX&id_token=XXX&scope=openid%20profile%20email&state=XXX&session_state=XXX"'.
2017-06-13 15:23:46.636 +00:00 [Warning] '".AspNetCore.Correlation.oidc.XXX"' cookie not found.
2017-06-13 15:23:46.636 +00:00 [Information] Error from RemoteAuthentication: "Correlation failed.".
2017-06-13 15:23:46.666 +00:00 [Information] HttpContext.User merged via AutomaticAuthentication from authenticationScheme: "Cookies".
2017-06-13 15:23:46.741 +00:00 [Information] HttpContext.User merged via AutomaticAuthentication from authenticationScheme: "Cookies".
2017-06-13 15:23:46.929 +00:00 [Error] Connection id ""0HL5IE0MV55HC"": An unhandled exception was thrown by the application.
System.AggregateException: Unhandled remote failure. (Correlation failed.) ---> System.Exception: Correlation failed.

Can you point me in a direction to further debug this or what could be the root cause?

I suspect that some of your users are arrive at the log in screen, become distracted, and then come back and try to log in more than 15 minute later. By then the cookie used for correlation has expired and they get this error. If you set RemoteAuthenticationTimeout in the OIDC middleware to something like 10 seconds:
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
{
    RemoteAuthenticationTimeout = TimeSpan.FromSeconds(10),
    ...
}

...then users would only have 10 seconds to log in. If you increase this to several hours it will probably greatly reduce the frequency of the error. Perhaps a better solution would be to redirect the user to some other page if someone leaves the log in screen for more than a few minutes so they cannot use a "stale" log in screen.

Ah thanks, I'll give that a try!

Just posting that @openidauthority was correct with his assessment of the issue.  We have an internal site that field workers use and I kept seeing An unhandled exception has occurred: Unhandled remote failure. (Correlation failed.) and '.AspNetCore.Correlation.oidc.<some random string>' cookie not found. popping up in my Elmah.io logs.
The issue we had is that users would log into the site, do some work, log out (which we have set to redirect back to the login page), then they'd close their laptop. A day later they would pop open their laptop and try to sign in and then get an error.  They'd just refresh the page and login again and assume it was some glitch and never tell me it happened or what they did to cause it. Thanks users :)
I solved the issue by just updating the login screen to hide the login form after idling for 15 minutes and show a button that refreshes the page.
Here's my stacktrace for those Googling the same issue:
System.AggregateException: Unhandled remote failure. (Correlation failed.) ---> System.Exception: Correlation failed.
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.d__6.MoveNext()

We've tried increasing the threshold and yet we are receiving this error. There seems to be something wrong with our setup of session or session in ASP.NET Core itself that's causing this issue. Because, even for other external OAuth2 logins we are getting the same error of state being not set in some of the requests. @openidauthority @aduggleby @brockallen Any idea as to where to proceed next with this?

Unfortunately for us it was not the timeout issue - there's something else going on and I haven't found a solution yet or an idea how to debug.

I had this same issue, and we ultimately discovered it was due to certain users bookmarking the login screen to access our site. Since the site didn't allow any anonymous access, the login screen was the first place they would land - by book marking it to save themselves time, they ended up with a link containing expired query string parameters that would then result in this error.

I had this same issue, and we ultimately discovered it was due to certain users bookmarking the login screen to access our site

Which is something OpenID Connect fundamentally doesn't address, so you need to deal with this in your client (usually by re-issuing the authorize request).

Yeah no worries. However it was pure luck we discovered this cause, so worth noting it here as a possibility for those that hit this exception in future.

Interesting.  I think some of my users might have done the same thing.  This error was still coming up on my site but only once or twice a month now instead of multiple times a day. Bookmarking the token sounds like it might be what's happened.
How did you end up fixing it? Was there an easy way for the server to tell that that the user came to the page with an expired token?  I don't really see an obvious way of doing that with my controller's action unless there's something with the returnUrl I can check?:
        [AllowAnonymous]
        [HttpGet]
        public async Task<IActionResult> Login(string returnUrl)
        {
            ViewData["ReturnUrl"] = returnUrl;
            return View();
        }

No fool proof way, but a couple of common process changes help to solve it:

have a landing page that allows anonymous access. This will reduce the likelihood that users will bookmark the login page
handle the exception with a friendly error page that contains a fresh login link and a message like 'ensure you don't stay on the login page too long or access it via a bookmark', or similar.

I suppose you could add a query string param of your own to the login redirect, that has a datestamp, and then on the identity server login page check this to catch old references. But we didn't bother; just did the above suggestions and the problem went away.

@ChrisPritchard Hi Chris, you mention handling the exception for this error, do you know where the hook is to do that, is it an event you can hook into when configuring the id server middleware?

We ended up just using an anonymous home page to minimise the issue. However, from what I remember, there was no obvious way in the framework to catch it. So I would have probably built a specific handler for the exception in global exception handling.

Well, the way we solved it is by catching the exception using the ExceptionHandler Middleware of ASP.NET Core and checked if the Request path was /sign-in-oidc (Redirect URI). If it was then redirect to any page that requires authentication (home page in our case, i.e. /). If it was not then handle the exception just like any other exception.
@coffeymatt @ChrisPritchard

I've found a hook on the middleware to handle this error. On the authenticating client application where the openid connect middleware is configured, I've put:
options.Events.OnRemoteFailure = RemoteAuthFail;
       private Task RemoteAuthFail(RemoteFailureContext context)         {             context.Response.Redirect("/Home/AuthError");             context.HandleResponse();             return Task.CompletedTask;         }

@coffeymatt I ran in the same problem and I'm trying to follow your approach. However RemoteAuthFail is never called. Did you do anything else to get this working?

@coffeymatt @srikrsna Combining your suggestions works perfectly.
OnRemoteFailure event I check for the /signin-oidc path, if so, I simply redirect to a secured endpoint on the client then the client redirects to identity server, this time with valid request params but since the user is already logged on identity server they are simply redirected back to the client without the need to re-enter their credentials.
I was having this issue with recorded selenium tests and that solution solved it.

I am hitting this with the following combination:

Browser incognito mode
Application is behind Azure gateway

I am not even using IdentityServer; it is plain old Azure AD authentication (openid).
I see that Cookies->{Mysitename} has the following:

HANDLING IN CODE
I tried to handle the OnRemoteFailure() event as suggested above, and redirect to "/" which is a secure endpoint for me, but it causes an infinite loop of authentication from / to /signin-oidc to / to /signin-oidc... perhaps I should redirect somewhere else? Or write a specific page that will hard clear the cookie cache and then redirect to the "/" page?
WORKAROUND

Users can go to the homepage again and hit F5 until this works. It seems that each F5 gets them moving a step ahead and once the OpenID cookies are populated, everything else (I have more auth after openid finishes, via adal.js for AJAX use).
Bypass the application gateway and use the direct service fabric cluster DNS name (not acceptable as it is http).

DETAILS
System.Exception: Correlation failed.
at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Builder.RouterMiddleware.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Builder.RouterMiddleware.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.d__7.MoveNext()

It's a bit off topic for this issue @sathiathirumal, this being about identity server. You're better asking such things on stack overflow. But yes, of course if authentication fails and on failure you redirect to a secure end point, that's going to trigger authentication again and thus the infinite loop.

Fair enough @coffeymatt  - I will pursue this in a more appropriate forum. My point was that this seems to happen even outside of IdentityServer, so I am not sure if the issue is further upstream and generally related to running your services behind an application gateway (somehow).

@sathiathirumal I am hitting same problem.  Do you solve this issue?
My environment is:

4 nodes Service Fabric Cluster ( IP is :<IP_ADDRESS>-<IP_ADDRESS>)
2 nodes NLB+ARR as Load Balance, I have Virtual IP is <IP_ADDRESS>, NLB1 IP is <IP_ADDRESS>, NLB2 IP is <IP_ADDRESS>
STS web stateless service run on 4 SF nodes
Client(a management console web) also run on 4 SF nodes

My problem is :

When I open mc web in Chrome with <IP_ADDRESS> (with NLB+ARR), then login with sts, I get error "Correlation failed".
When I open mc web in Chrome with <IP_ADDRESS> (only with ARR), then login with sts, I also get same error.
When I open mc web in Chrome with <IP_ADDRESS> (access SF node directly), then login with sts, it is working.
STS always run on 4 SF nodes with NLB+ARR in above 3 situations.

@heavenwing I have been posting on this at https://github.com/aspnet/Security/issues/1755

@heavenwing see https://github.com/aspnet/Security/issues/1755#issuecomment-392803709 on how I solved this for my issue. (hint: yes it was the DataProtection layer missing and OIDC middleware being unable to decrypt cookies that were generated/encrypted on a different node)

I had de same problem and I fix using @coffeymatt suggestion.

I had two instances of identity server, one as primary one and other acting as external identity provider for primary one. When I try to login from an javascript client I am able to authenticate the user and when redirecting to application I am getting as Correlation failed. Can someone help me?

In our case, this was the reason #1510  It results in the same behavior so I decided to drop this here.
(kudos: https://github.com/aspnet/Security/issues/1755#issuecomment-395698175)

I've also encountered this issue and it was caused by ForwardedHeadersOptions not being set to forward XForwardedProto. The app was running behind an IIS proxy and because the protocol was not being forwarded, the redirect went to http instead of https (and http was not allowed in RedirectUris).
So enforcing the default config solved the issue:
services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
 });

@brockallen @openidauthority What sort of security purposes are served by the RemoteAuthenticationTimeout described here: https://github.com/IdentityServer/IdentityServer4/issues/720#issuecomment-311208551 ?
I have some ideas but would like to know what the official reason is or what sorts of attacks this can help defend against.
My guess was that there could be information stored in the state that could be misused if a user leaves the login page open, not realizing the page contains this information (similar to leaving a site logged in on a public computer). For example, a user might receive an invite link to my application, follow the link which redirects them to the oauth server login page (which would securely encrypt the various invite token properties into the state param), and then leave that page open. Without the expiring cookie based on RemoteAuthenticationTimeout another user could log in to the page and redirect back to my application, and have essentially stolen the invite token and applied it to their own user account. With the expiring cookie, they will redirect back to the application but not successfully complete the login/signup.
Maybe I'm way off here though, so I would like to know what else this helps prevent.


Update glossary.mdx [Unit 2]

Add Epsilon-greedy strategy and Greedy strategy.

The markdown file seems fine, but it actually looks bit unorganised on the course page. I'm sorry I don't know why.

I know why it misses a space in markdown. Since it's presentation problem (not content problem) I add to the pile of update for the next big update next week :hugs:


Dimmers are linked as switch item

Hi all,
Out of the box the loxone dimmers are linked to a switch instead of a bulb: is it possible to change this to a bulb afterwards?
I switched over from "Homebridge Loxone Connect" to "Homebridge Loxone Proxy" and noticed the difference.
Thanks for the reply.
Jeroen

So this is a standalone dimmer item, and not a LightController based dimmer right?
Could you send me a screenshot of such an item in Loxone config?

type (if I click on the i in loxone config) is "Dimmer (Dim)" for the dimmers being used and "Lichtsturing (Lico)" for the led strips.

I don't use standalone lightItems myself, so I never noticed this behavior. The latest beta (v1.8.0-beta.2) should map all your dimmers to lightbulbs.
Please let me know if it resolves your issue.

that did the trick, thanks rudy


Input action missing for left controller menu button

Hi :)
Is your feature request related to a problem?
There is no input action included for the left controller menu button on Oculus Quest touch controllers. This is not really related to a problem, but I just stumbled across this and thought I'll tell you right away.
Describe the solution you'd like
Regarding to the Unity docs https://docs.unity3d.com/Manual/xr_input.html the supported action would be start (when looking at the menu button line). I already tried to create the action/binding myself an can confirm it works on Oculus Quest 1 touch controllers (see following screenshot).

Haven't included the screenshots, for the Internal adjustments, to keep the post short. Hope this will be helpful.
Best regards :)

The included sample is just a generic XR sample, which includes the left hand menu button. This is called start on oculus so it doesn't work by default with the left hand menu.
This is why it's just a sample, to showcase what can be done, it cannot map every possible aspect as the vendors cannot be consistent across their mappings.

Ah, I get it now. Thx for the clarification :)


Fix several problems in WritingPesterTests guideline

PR Summary
Fix several style issues in WritingPesterTests guideline and update best-practice recommendations for writing Pester tests.
PR Context
In PR #9037 it was found that the guideline still has some old recommendations for writing Pester tests.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] to your commit messages if the change is significant or affects feature tests

@RDIL Maybe you would be kind enough to have a second look on this PR, since you have done a lot of those documentation updates recently. Any suggestions or improvements are welcome.

Sure, I can in a few minutes.

@ThreeFive-O Thank you for your contribution!


[Fix] Decouple mmdet dependency

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Please describe the motivation of this PR and the goal you want to achieve through this PR.
Modification
Decouple the mmdet from mmrazor.
try:
    from mmdet.models import BaseDetector
except ImportError:
    from mmrazor.utils import get_placeholder
    BaseDetector = get_placeholder('mmdet')

Fixed it in https://github.com/open-mmlab/mmrazor/pull/277.


Objects should not be assignable to Function type

Before this change the following code would pass the type checker:
const foobar = 1
foobar()

This was problematic because people were using sprite.x() or something, which would kind of work, except the return type would be any.
Note that this may break existing scripts, but I would rather take it and have people fix the scripts. The current behavior is non-standard, confusing, and bug-prone.
Fixes https://github.com/microsoft/pxt-arcade/issues/2019

Also note that there are two errors like that in arcade library

All games using pxt-sprite-data will break.

We should force a package update for that one...


Parser error (block starting with a semicolon)

Hello, it seems I encountered a valid case which makes the parser to fail.
Here it is: -shadowcsshost-no-combinator.foo .bar {;background: blue;}
Parsing this raises the following error:
Error: undefined:1:40: missing '}' (line 1)
I'll try to come up with a PR, but someone knowing the module would be faster.
Cheers

Is that really valid CSS?

Well, this is my understanding of the spec: http://www.w3.org/TR/css3-syntax/#consume-a-list-of-declarations0
For sure browsers support this syntax.
I've updated #66 since there can be more than one semicolon.

Looks like you're right.

This also appears to come up when parsing valid SVG syntax that has been base64 encoded.
Here's a reduced test case where I replaced the ; with %3B in order to get it working. https://runkit.com/chrisopedia/css-parse-reduced-test-case/1.0.1 (non-working with error)


disable parallel output buffering to debug blocking workers

"parallel output buffering" is nice because

parallel build output is much more useful when several processes' output isn't garbled up together. (source)

but this becomes a problem when workers block (hang forever)
so i dont see their output, and i cant debug them
in debug mode, instead of "block-buffered"
the output should be line-buffered, with the PID as line prefix
similar issue: #545
relevant code
https://github.com/ninja-build/ninja/blob/d4017a2b1ea642f12dabe05ec99b2a16c93e99aa/src/subprocess-posix.cc#L141
quickfix: always print live output → branch (diff)
edit:
broken: printing garbage <F8>TD instead of line_prefix
fixed by mallocing the line_prefix

What do you think about, as an alternative. A sighup signal handler that would make it dump the contents of any buffer to the screen?
Perhaps not as convenient, but may be a tad easier to implement cleanly.

A sighup signal handler

in my case (nix build system) i cannot send signals to ninja

What prevents you from sending sighup? If your running on Linux, that's a basic feature of the os?

this requires root privileges, as the build process runs under a different user
$ nix-build -E 'with (import <nixpkgs> {}); pkgs.stdenv.mkDerivation { name = "x";
unpackPhase = "while true; do date; sleep 100; done"; }' &

$ ps -AF | grep "sleep 100" | grep ^nixbld
nixbld1   130140  129980  0  1175   480   0 08:36 ?        00:00:00 sleep 100

$ kill -SIGHUP 130140
bash: kill: (130140) - Operation not permitted

$ sudo kill -SIGHUP 130140

/nix/store/gwp4dybiaipq5jdjxskxizcvcyy6cgzk-stdenv-linux/setup: line 1397:     9 Hangup                  sleep 100

Fair enough. Thanks for the explanation and demo.
To get the behavior with printing lines with PIDs, presumably we would need to continue buffering, but scan each output line until a newline is encountered and then print that line with the pid.
Would you say that you would want to write a pull request? Might be worth asking the maintainers I'd they will give you the go ahead to do that.

Would you say that you would want to write a pull request?

nope sorry : /


Provider Plugin Documentation

What happened (or feature request):
Feature Request
What you expected to happen:
In MVP Integration w/Pantheon, we have the functionality working to authenticate against pantheon and pull the database and files from one the three environments. Now we want to ensure our readthedocs provide end-users with a clear path on how to use this. This will also serve as the template for other provider plugins.
Related Issues

MVP Integration w/Pantheon

Proposed Section Additions:

User Documentation => Connecting with Hosting Providers => Drush

This could include things like how to setup drush rsync and/or sqlsync

User Documentation => Connecting with Hosting Providers => Pantheon

This would be specfic to the Pantheon commands

Documentation Needs

Pantheon

Quick start
Feature Overview (what it does and doesn't do at a glance)
Checking Requirements (ensuring users are at the proper version)
Authentication (how to setup the connect and debug)
Usage

Initial setup
Toggling
A note on caching
WordPress URL changes
Need Solr?

Debugging

How to wipe out pantheon configs.

It's going to be faster to mock this out in a google doc and we then move it into a PR https://docs.google.com/document/d/1uvTHsuxMzBM__ciGS7umEvbFwsgc7g3e0OUFRFQmp_8/edit

Alright, this is ready to review. Adding to the board.
https://docs.google.com/document/d/1uvTHsuxMzBM__ciGS7umEvbFwsgc7g3e0OUFRFQmp_8/edit#

PR closed. Thanks, @tannerjfco!


Fix for incorrect 'this' type for optional call

The getSignatureApplicabilityError function was not correctly handling optional method calls of the form a?.b().
Fixes #33798

Found when I tried to change maybeBind in core.ts to use an optional property access: fn?.bind(obj).

Build failure seems to be a lint rule that isn't failing locally. Did the definitions for @types/node change underneath us? Lint is warning that the ! in process.stdout.columns! is unnecessary, but as far as I can tell it is still number | undefined.

Fixed the lint thing.


Our CI queue is swamped - we need a temporary capability increase

Sometimes a sprint or other active development period can overload existing CI and it's useful to be able to expand capability on a temporary basis without committing to long term purchase of hardware or hosted CI plans. Adding in on-demand cloud resources during these periods can be a good way to maintain CI quality whilst keeping queue waits acceptably short. However, it's important to understand cost implications and also be aware of any licensing or security restrictions for code moving off-site and into the cloud.

This is well provided for by https://docs.microsoft.com/en-us/azure/jenkins/jenkins-azure-vm-agents


Zookeeper is on nodepool, not zuul.
Signed-off-by: Jamie Lennox<EMAIL_ADDRESS>

Build failed.

http://logs.bonnyci.org/check_github/BonnyCI/hoist/290/1491290023.71/bonnyci-run-check-multinode : FAILURE in 56s


Update README.md

Status
DO NOT MERGE

Seems that failure related to:
https://github.com/ARMmbed/mbed-cli/issues/407

looks that we have to do some workaround here..

#77 need to fix first to get this green


Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting

Problem description
Please look at exception logs below

DriverException: Executor error during find command :: caused by :: Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in. at MongoExceptionConverter.convertException (/usr/guardian-service/node_modules/@mikro-orm/core/platforms/ExceptionConverter.js:8:16) at MongoExceptionConverter.convertException (/usr/guardian-service/node_modules/@mikro-orm/mongodb/MongoExceptionConverter.js:17:22) at MongoDriver.convertException (/usr/guardian-service/node_modules/@mikro-orm/core/drivers/DatabaseDriver.js:192:54) at /usr/guardian-service/node_modules/@mikro-orm/core/drivers/DatabaseDriver.js:196:24 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async MongoDriver.find (/usr/guardian-service/node_modules/@mikro-orm/mongodb/MongoDriver.js:24:21) at async MongoEntityManager.find (/usr/guardian-service/node_modules/@mikro-orm/core/EntityManager.js:106:25)

I think that happen when Aggregate logs attributes, In our database we have about 1.5M logs. we produce about 1M log weekly so this will grow very fast.
When this happen, guardian service will crashed
Note: this also related to missing index on log table
Step to reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

Better log attributes aggregate
Guardian service should not crashed when any even handler error.
implement logs retention if we still store logs in mongo. Ideally, we should have support for login into some production ready platform such as cloudwatch, splunk, elasticsearch...

Screenshots
NA
If applicable, add screenshots to help explain your problem.

Proposed solution: change the code to add below option when call aggregate() function
allowDiskUse: true


[Doc] Use toolbox container for debugging Harvester OS and reduce base installation

*Is your feature request related to a problem? Please describe.
The Harvester OS image contains a number of packages and utilities that are merely included to facilitate debugging but not required for normal operations (e.g. zypper).
In order to reduce attack surface and security patch cycles we should not include these tools in the base image. Instead we should adopt a toolkit that allows troubleshooting Harvester OS from within a privileged container.
https://documentation.suse.com/sle-micro/5.1/html/SLE-Micro-all/article-administration-slemicro.html#sec-admin-toolbox

We may consider adding a doc to provide a guideline for users on how to use the container tools box, e.g., https://harvesterhci.io/kb/scan-and-repair-vm-root-filesystem

Doc update: mentioning the KB in https://github.com/harvester/docs/pull/364

The doc PR is merged and published: https://docs.harvesterhci.io/dev/troubleshooting/os#how-can-i-install-packages-why-are-some-paths-read-only, close the issue after developer reviews.