Inaccuracies of legacy SBI specification

BBL is the canonical implementation of the legacy spec, since the spec is meant to be a formalisation of BBL's behaviour; OpenSBI somewhat agrees with it, but not entirely, and the spec disagrees with both even in places where the two implementations agree.
Extension: Set Timer (EID #0x00)
This returns a long of value 0 in both BBL and OpenSBI.
Extension: Console Putchar (EID #0x01)
This returns a long of value 0 in both BBL and OpenSBI.
Extension: Console Getchar (EID #0x02)
This returns 0 in BBL when no supported UART is detected, whereas for OpenSBI it returns -1, just like if the UART's receive buffer is empty. OpenSBI's behaviour makes more sense, but is technically wrong as BBL is canonical. Both also return a long, not an int.
Extension: Clear IPI (EID #0x03)
This returns old_mip & MIP_MSIP in BBL, and 0 in OpenSBI.
Extension: Send IPI (EID #0x04)
This returns a long of value 0 in BBL, but can return errors in OpenSBI.
Extension: Remote FENCE.I (EID #0x05)
This returns a long of value 0 in BBL, but can return errors in OpenSBI.
Extension: Remote SFENCE.VMA (EID #0x06)
This returns a long of value 0 in BBL, but can return errors in OpenSBI.
Extension: Remote SFENCE.VMA with ASID (EID #0x07)
This returns a long of value 0 in BBL, but can return errors in OpenSBI.
Extension: System Shutdown (EID #0x08)
Both agree this never returns, but were it to it would return 0 in OpenSBI (BBL is unspecified, there is no return statement for mcall_shutdown).

When it comes to SBI calls that access memory on behalf of the supervisor, it's also totally undocumented that both will redirect page and access faults to the supervisor so it looks like the ecall faulted.
The important point though is that every single one of these returns a long (in OpenSBI it's an int that gets promoted to a long), and thus the "This is the only SBI call in the legacy extension that has a non-void return type." note for getchar is completely false. Any unknown call is handled by BBL as returning -ENOSYS, which is nonsense due to being an OS-specific errno that is wrong to use in firmware and should have been an SBI constant, but does "work" in the sense that it's a negative value and thus an error. This also means "An ECALL with an unsupported SBI extension ID (EID) or an unsupported SBI function ID (FID) must return the error code SBI_ERR_NOT_SUPPORTED." does not hold for BBL.

The objective of the legacy version of the specification was to keep the old SBI v0.1 specification as it is. BBL/OpenSBI implementation might have differed over time. But I don't think we need any change in the specification to match the implementation. If there is any change required, it should be other way around.
I don't think anybody is using SBI v0.1 right now and it's disabled by default from Linux kernel as well.

That makes no sense. If the specification for SBI v0.1 does not match what any legacy implementation does then it is totally useless and you might as well not bother specifying it; at least then it wouldn't be actively misleading.

Linux distros will likely enable v0.1 support in order to work with BBL. FreeBSD does and has no option to disable it.

Linux distros will likely enable v0.1 support in order to work with BBL. FreeBSD does and has no option to disable it.

Why does distros care about running v0.1 with BBL when it is lacking many features ?

Because people have systems that are set up to use BBL and it works? Sure OpenSBI has fancy features but if all you need is to boot a dev board then why would the user care. We're still using it because we haven't got round to porting OpenSBI, we have far more important things than that to do.

I agree with @jrtc27 on both counts.  Pretending SBI v0.1 isn't important is something of a fiction, because it does work and people do use it.  (Especially since Linux is not the universe.)  And given that, it makes sense for the SBI v0.1 spec to accurately reflect the SBI v0.1 implementations.

@jrtc27 can you please send a PR for the changes in SBI v0.1 text ? The SBI v1.0 is in final stages of ratification cycle so this will save time.
Regards,
Anup

I don't have time to do this, please do it yourselves. I already gave you a detailed list of the problems with the current specification, so it should be straightforward. It's not my fault you chose to ignore this for three months whilst pushing forward with ratification efforts.

@jrtc27 Hmm, BBL returning 0 for console_getchar if there's no UART is a bug introduced by Palmer in 2017, since BBL returns -1 if there is a UART but there's no input data.  And of course the Linux driver also assumes a return value of 0 to mean that the character 0 was read from the input source.  This can be retconned as a BBL "feature" that, if it can't find a UART, it falls back on a UART that supplies an infinite source of 0 characters.  I know it's eye-roll-inducing, but, you know...

We could also just change it :) given -1 is already returned in the UART-without-data case it shouldn't break anything. FreeBSD filters out 0 bytes (which sucks if you actually want to send 0, but works around this issue) whereas Linux won't, so Linux probably gets very confused if there is no SBI UART as it stands...

But I don't think it's a huge deal; if BBL has no UART then something's gone wrong and you should fix that anyway

@jrtc27 I was actually hoping you'd suggest changing it :-)

sorry if this is the wrong issue to ask in -- but is the ABI for the legacy extensions the same as v0.2 and onward, minus the unused registers? specifically, I'm working on a Rust library to interface with SBI and its not clear to me whether this still holds true for the legacy spec:

All registers except a0 & a1 must be preserved across an SBI call by the callee.

since the functions don't follow the same return structure as v0.2+
in either case, its probably worth explicitly documenting what the ABI for the legacy extensions so its more obvious for future readers, I would think

@repnop The more precise statement is that all registers except a0 are preserved. (Right, @jrtc27?  It appears both BBL and OpenSBI do this.)

@aswaterman @repnop Anup has updated the PR #91 to add this.

awesome, thanks for the clarification :+1:

@repnop The more precise statement is that all registers except a0 are preserved. (Right, @jrtc27? It appears both BBL and OpenSBI do this.)

That's my understanding too, yes

closing this issue as it is resolved now.


Use hyperledger mac arm machine for testing and release binaries

Hyperledger have kindly provided a mac arm machine for CI testing and release binaries.

Nice!


Add aws support

Proposed changes
Add support for configuring devices for AWS and connecting to AWS IoT Core.
Changes include extending tedge CLI to support connecting to and disconnecting from the AWS cloud, as well as to set the required configuration values for connecting to AWS.
Another change is to also generate a certificate signing request file when creating a self signed device certificate and private key using the 'tedge cert create' command.
Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

It would be good to discuss about the bridged topics with the author of this other proposal for AWS support.

Overall I was able to get the tedge-mapper-aws to connect to AWS (using a self-signed cert, and manually uploading it to AWS).
So I want to collect the todos which should be done before we merge this PR. The points are up for debate, but I wanted to create a first draft of the items:

[ ] Do not return an exit-code 0 when tedge connect aws fails to connect to AWS
[ ] More information on how to use the CSR as it was unclear (and the code suggests it supports some kind of CSR)

* [ ]  More information on how to use the CSR as it was unclear (and the code suggests it supports some kind of CSR)

There is indeed a proposal to create a CSR along the self-signed certificate for the device private key. This makes sense and the code is correct. However, it might be confusing for users as, in practice, only one will be used (either the self-signed certificate or the CSR) and if the CSR is used to get a CA signed certificate the device will have two certificates. Again, this makes sense - but might be confusing as  the tedge config lists only one certificate.

So I want to collect the todos which should be done before we merge this PR.

I would also add:

[ ] Revise the bridge mapping scheme from tedge topics to AWS topics.
[ ] Revise the usage of a CSR or consider to move this CSR generation in another PR.

* [ ]  More information on how to use the CSR as it was unclear (and the code suggests it supports some kind of CSR)

There is indeed a proposal to create a CSR along the self-signed certificate for the device private key. This makes sense and the code is correct. However, it might be confusing for users as, in practice, only one will be used (either the self-signed certificate or the CSR) and if the CSR is used to get a CA signed certificate the device will have two certificates. Again, this makes sense - but might be confusing as the tedge config lists only one certificate.

So I want to collect the todos which should be done before we merge this PR.

I would also add:

[x]  Revise the bridge mapping scheme from tedge topics to AWS topics.
[x]  Revise the usage of a CSR or consider to move this CSR generation in another PR.

Added to the list. Thanks for the notes

[ ] Do not return an exit-code 0 when tedge connect aws fails to connect to AWS

I'm not sure but I think tedge connect can return 0 when failing to connect to other clouds as well.
For example Cumulocity:
https://github.com/thin-edge/thin-edge.io/blob/d24b96d33581398a48a97aa90b0ca29062ae15d2/crates/core/tedge/src/cli/connect/command.rs#L237-L298
We only return Err when the subscribe message was not even acknowledged. If it did, then if anything else failed we only log the error on stderr, and then return Ok(DeviceStatus::Unknown), not even bubbling up the error object returned by MQTT Connection object.
If the issue does in fact affect other clouds as well (which I'm not sure because I haven't tested it, but the code seems to suggest so), then it would make sense to fix it in these other cases as well, so I think it'd be better to do it outside the AWS PR.

[ ]  Do not return an exit-code 0 when tedge connect aws fails to connect to AWS

I'm not sure but I think tedge connect can return 0 when failing to connect to other clouds as well. For example Cumulocity:
https://github.com/thin-edge/thin-edge.io/blob/d24b96d33581398a48a97aa90b0ca29062ae15d2/crates/core/tedge/src/cli/connect/command.rs#L237-L298
We only return Err when the subscribe message was not even acknowledged. If it did, then if anything else failed we only log the error on stderr, and then return Ok(DeviceStatus::Unknown), not even bubbling up the error object returned by MQTT Connection object.
If the issue does in fact affect other clouds as well (which I'm not sure because I haven't tested it, but the code seems to suggest so), then it would make sense to fix it in these other cases as well, so I think it'd be better to do it outside the AWS PR.

Are you able to double check the how the tedge connect c8y handles an error (e.g. non-trusted certificate etc.). If this command does not return a non-zero exit code, then we can leave the AWS handling as is, though it might be worth a discussion to see if it is worth while changing such behaviour in all mapper connections, but that would be for a different PR.

Are you able to double check the how the tedge connect c8y handles an error (e.g. non-trusted certificate etc.). If this command does not return a non-zero exit code, then we can leave the AWS handling as is, though it might be worth a discussion to see if it is worth while changing such behaviour in all mapper connections, but that would be for a different PR.

After checking, tedge connect c8y handles a non-trusted certificate correctly, by returning status code 1:
root@qemux86-64:~# tedge cert create --device-id not-working
Certificate was successfully created
root@qemux86-64:~# tedge connect c8y
The system config file '/etc/tedge/system.toml' doesn't exist. Use '/bin/systemctl' as a service manager.

Checking if systemd is available.

Checking if configuration for requested bridge already exists.

Validating the bridge certificates.

Creating the device in Cumulocity cloud.

2023-02-08T14:20:33.305473701Z ERROR rustls::conn: TLS alert received: AlertMessagePayload {
    level: Fatal,
    description: CertificateUnknown,
}
The device certificate is not trusted by Cumulocity.
Error: failed to connect Cumulocity cloud.

Caused by:
    Connection check failed
root@qemux86-64:~# echo $?
1

However, this happens during the "Creating the device in Cumulocity cloud" step, which is inside new_bridge function:
https://github.com/thin-edge/thin-edge.io/blob/d24b96d33581398a48a97aa90b0ca29062ae15d2/crates/core/tedge/src/cli/connect/command.rs#L397-L400
Here the error is correctly returned to the caller. Immediately after check_connection is called which in turn can call check_device_status_(c8y/azure/aws), and these functions do not return any error.  The health check happens much later, after restarting mosquitto and enabling systemd service.
The issue can most easily be reproduced as follows:

Run tedge connect c8y with correct config and uploaded certificate
Wait until after the step "Creating the device in Cumulocity cloud" is complete. You will have a few seconds before the health check happens.
Disable the network interface or otherwise block all network communication with Cumulocity
You should see the lines:ERROR: Local MQTT publish has timed out.
Warning: Bridge has been configured, but Cumulocity connection check failed.

Returned status code is 0.

Example: _(click to expand)_
root@qemux86-64:~# tedge cert upload c8y --user<EMAIL_ADDRESS>Enter password:
Certificate uploaded successfully.
root@qemux86-64:~# tedge connect c8y
The system config file '/etc/tedge/system.toml' doesn't exist. Use '/bin/systemctl' as a service manager.

Checking if systemd is available.

Checking if configuration for requested bridge already exists.

Validating the bridge certificates.

Creating the device in Cumulocity cloud.

Saving configuration for requested bridge.

Restarting mosquitto service.

Awaiting mosquitto to start. This may take up to 5 seconds.

Enabling mosquitto service on reboots.

Successfully created bridge connection!

Sending packets to check connection. This may take up to 2 seconds.

ERROR: Local MQTT publish has timed out.
Warning: Bridge has been configured, but Cumulocity connection check failed.

Checking if tedge-mapper is installed.

Starting tedge-mapper-c8y service.

Persisting tedge-mapper-c8y on reboot.

tedge-mapper-c8y service successfully started and enabled!

Local MQTT publish has timed out.

The request has been sent, however, no response.
Failed to get the connected tenant URL from Cumulocity.

Enabling software management.

Checking if tedge-agent is installed.

Starting tedge-agent service.

Persisting tedge-agent on reboot.

tedge-agent service successfully started and enabled!

root@qemux86-64:~# echo $?
0

Ok, then we will keep the current behaviour of the tedge connnect xxx to be consistent with the other mappers.

Superseded by https://github.com/thin-edge/thin-edge.io/pull/1723


x/mobile: IOS static libaray build by go mobile make  clang++ crashed with ldflags "-Wl,-fixup_chains"

What version of Go are you using (go version)?
go version go1.22.1 darwin/arm64
What did you do?
First we build a go project with gomobile (https://github.com/xxf098/go-tun2socks-build) as a static library,
then linker this static library into our IOS project.
What did you see happen?
lld crashed.
I found crash position of lld:
SymtabSectionImpl<LP>::writeTo of file  lld/MachO/SyntheticSections.cpp
Crashed on this line:           nList->n_sect = defined->isec()->parent->index;
I debug llvm found crash symbol is arm64_ios_lib.ptr
After we remove ldflags "-Wl,-fixup_chains" ,or modify llvm code crash not happed.
What did you expect to see?
The ios static library compiled by gomobile works fine with clang link parameter "-Wl,-fixup_chains".

Similar Issues

https://github.com/golang/go/issues/32918
https://github.com/golang/go/issues/27508
https://github.com/golang/go/issues/43060
https://github.com/golang/go/issues/49553

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)


Images generated by plots seem to have disapeared.

They don't seem to be in the IRD files, nor in final rendering.

It seem to work again...


Minor refactoring with no functional changes

Seems there's a eslint trailing spaces error. I don't see it, because I made a change straight in the GitHub editor.

Thanks for your suggestion. No, it’s not functionally same. Originally, the error is handled in useAsyncTask. Now, it’s totally ignored.

I got it, you're right. Closing the PR then.


Range slider shows old value while moving, only updates when you stop

When you hold the slider and move it around, it won't change it's value until you stop.
Simple partial fix from #1275: add
thumb.find('.value').html($(this).children('input[type=range]').val());
to mousemove touchmove listener. (only fixes value not updating while moving, does not fix value not updating when you just click and release without moving)
Example from http://materializecss.com/forms.html#range:

After the fix:

(notice how the value still doesn't update when you just click and release without moving it)

Okay, so the first problem (value not updating while moving) has been fixed in the repo (looks like bower and the site aren't completely up to date). As for the second one (value not updating when you just click somewhere and don't move it), I have found a fix but since it's so small, I hardly think it warrants a PR and I'm not sure what consequences it could have because the event will be called twice. Anyway... you can see the fix at https://github.com/logomaster256/materialize/commit/2913c73726cbfe2f0e3fa96327d7645396b3f28d
Solution from http://stackoverflow.com/questions/18544890/onchange-event-on-input-type-range-is-not-triggering-in-firefox-while-dragging
Gif showing that it's working:

Thanks for the lovely framework and have a nice day! :]

Thanks for finding the fix, added it in 78a48bb

Also you might want to close related issues like

#801
#1498
and possibly #109, not sure


[Bug]: Could not find 'librewolf-112.0.1-2'! (error 16)

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name
librewolf
Expected/Current Behaviour
Updating 'librewolf' (112.0-1 -> 112.0.1-2)
Downloading new version
librewolf-112.0-1-windows-x86_64-portable.zip (102,3 MB) [====================================================] 100%
Checking hash of librewolf-112.0-1-windows-x86_64-portable.zip ... ok.
Running pre_uninstall script...
Uninstalling 'librewolf' (112.0-1)
Installing 'librewolf' (112.0.1-2) [64bit] from extras bucket
Loading librewolf-112.0-1-windows-x86_64-portable.zip from cache
Extracting librewolf-112.0-1-windows-x86_64-portable.zip ... Could not find 'librewolf-112.0.1-2'! (error 16)
C:\Users\user\scoop\apps\scoop\current\lib\core.ps1:638 знак:9
+         throw "Could not find '$(fname $from)'! (error $($proc.ExitCo ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Could not find ...-2'! (error 16):String) [], RuntimeException
    + FullyQualifiedErrorId : Could not find 'librewolf-112.0.1-2'! (error 16)

Steps to Reproduce
scoop install librewolf

Possible Solution
This commit updated the version, but did not update the download links. As a result, the wrong version is downloaded and scoop gives an error that the file was not found.
Scoop and Buckets Version
Current Scoop version:
v0.3.1 - Released at 2022-11-15

'extras' bucket:
27a28c099 (HEAD -> master, origin/master, origin/HEAD) staxrip: Update to version 2.16.0

'main' bucket:
bb1424a3a (HEAD -> master, origin/master, origin/HEAD) lux: Update to version 0.18.0

https://github.com/ScoopInstaller/Extras/commit/9783c4bf7fcbb99b4533e9d6578f4efae42064bc

@HUMORCE, the issue is not fixed.
Extracting librewolf-112.0-1-windows-x86_64-portable.zip ... Could not find 'librewolf-112.0.1-1'! (error 16)
C:\Users\user\scoop\apps\scoop\current\lib\core.ps1:638 знак:9
+         throw "Could not find '$(fname $from)'! (error $($proc.ExitCo ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Could not find ...-1'! (error 16):String) [], RuntimeException
    + FullyQualifiedErrorId : Could not find 'librewolf-112.0.1-1'! (error 16)

Done. https://github.com/ScoopInstaller/Extras/commit/55116b691aec0de445a44f14afbbea519e63d378

Sorry, I found some problems with the autoupdate of this manifest, please update it again later

Fixed, wrong autoupdate.url in #11052.


Added retention, restore to gobblin-compliance. Made changes to gobblin-compliance:purger

Not using this pull request. Closing it now.


Add vue module declaration

see https://github.com/vuejs/vetur/blob/71aa326b93b152c02e886750d75eefdcb1db83bc/docs/guide/setup.md#vue3

What would be affected by this? The vue-tsc or other tools?

All typescript related setups would not use .vue files for the types, but instead use the shim file and therefore would have sth like props: any, emits: any.
This might be interesting for you:
https://github.com/vuejs/language-tools?tab=readme-ov-file#community-integration
https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/volar.lua


Would it be possible to use SIREN on 2D CNN?

Hi, I like SIREN and implemented it on my network. However, the number of network parameters would be huge if use original image without sampling (I flattened the image directly, then use dense layers to construct the network). I am wondering if it is possible to use SIREN on 2D CNN? Thanks a lot.

SIREN is a representation network, so it's supposed to learn features, not be dropped into a CNN. However, frameworks do support broadcast so technically, you don't need to flatten your image - you can pass a Dense layer that works on just the RGB per pixel instead of working on all the pixels jointly. The parameter count would not explode in the flattening case but still be larger than CNNs since there is no parameter sharing like in conv kernels.
You need to be careful about about loss though. I would suggest using sum over pixels, and mean over channels, but that will still not be same capacity as a flattened out image. You can try it out quite easily though

SIREN is a representation network, so it's supposed to learn features, not be dropped into a CNN. However, frameworks do support broadcast so technically, you don't need to flatten your image - you can pass a Dense layer that works on just the RGB per pixel instead of working on all the pixels jointly. The parameter count would not explode in the flattening case but still be larger than CNNs since there is no parameter sharing like in conv kernels.
You need to be careful about about loss though. I would suggest using sum over pixels, and mean over channels, but that will still not be same capacity as a flattened out image. You can try it out quite easily though

Thanks


Local CVE Scanner Concept for Hubble

A local CVE scanner that can be adapted for Hubble's Nova module.  Things to consider:

The script relies on a few python libraries, such as request
Might be a better way to approach OS info (packages, versions, etc) via osquery
Scanner has the potential to be split into modules/classes
Do we call out kernel packages that are installed but not active?
How can we refactor parser options as a configuration option within Hubble
Currently no tests have been written for this script

This is a script to provide a way to carry out local CVE scans against a local OVAL definition file.  It works on either CentOS or Ubuntu.  It builds a dictionary from an OVAL source, maps a CVE/RHSA to a package/version, pulls local package information from the system, and does version comparisons to call out any potential vulnerabilities.

This is awesome! I won't have a chance to review it thoroughly until next week, but we'll definitely get this in! Thanks!

I have adapted the scanner for use with Hubble.  Please review and let me know your thoughts.

I've merged the requested changes @basepi .

Whooo! I'm excited we have another CVE scanning alternative! Vulners just didn't cut it for a lot of people. Thanks again!


deprecated<EMAIL_ADDRESS>used on<EMAIL_ADDRESS>><EMAIL_ADDRESS>

deprecated<EMAIL_ADDRESS>used on<EMAIL_ADDRESS>><EMAIL_ADDRESS>

I don't think you understand where that should be reported...

I just the instruction come out on npm install, and that instruction bring me to here.

gulp-util is deprecated, consumers must be updated. In this case fbjs-scripts was updated (https://github.com/facebook/fbjs/pull/279) but they need to publish their fixed version to npm.


✨ NEW: Add process logger

The logger is passed to all role/directive processors and event hooks.
Any logger object can be initialized on the processor, which defines the logger interface,
and the logger can have attached observers.

cc @rowanc1

Nice, that is great.


sqlx.NameMapper

Hi Jason (I hope that's your name)!
I first want to say that I love this package. I've brought it with me to all Go jobs (2), and mentioned it at GoSF meetups once or twice. So cheers, and thanks.
The issue:
I was hoping to use the NameMapper functionality to help me avoid having to maintain yet another struct field tag. But I can't seem to get it to work. I'm probably doing something wrong, plz help!
I found a description of the name-mapping functionality in this blog post of yours.
Something to note: I'm also using your modl pkg.
Some context:
My mapper func, camelToSnakeCase
// defining mapper func, camelToSnakeCase
var camelRegex = regexp.MustCompile("[A-Z]?[a-z0-9]+")

func camelToSnakeCase(str string) string {
	log.Printf("called camelToSnakeCase with %s\n", str)
	matches := camelRegex.FindAllString(str, -1)
	lowers := make([]string, len(matches))

	for i, match := range matches {
		lowers[i] = strings.ToLower(match)
	}

	return strings.Join(lowers, "_")
}

My example type, Foo:
type Foo struct {
	ID int64 `json:"id"`
	City string `json:"city"`
	State string `json:"state"`
	Zip string `json:"zip"`
	ThingID int64 `json:"thing_id"`
}

Attempts:
Attempt 1
dbmap := modl.NewDbMap(db, modl.PostgresDialect{})

// set mapper func
dbmap.Dbx.MapperFunc(camelToSnakeCase)

// do other dbmap things...
dbmap.TraceOn("", log.New(os.Stdout, "modl SQL: ", log.Lmicroseconds))
dbmap.AddTable(Foo).SetKeys(true, "ID")

// .. and later, select some entries from the 'foo' table
foos := []Foo{}
err := dbmap.Select(&foos, "SELECT * FROM foo")
// ...

And this is what I see out:
modl SQL: 15:51:34.781740 SELECT * FROM foo []
2015/06/25 15:51:34 called camelToSnakeCase with City
2015/06/25 15:51:34 called camelToSnakeCase with State
2015/06/25 15:51:34 called camelToSnakeCase with Zip
2015/06/25 15:51:34 Error:  missing destination name thing_id

Attempt 2

Note: only one line changed, so I pasted only that one line below.

// set mapper func
sqlx.NameMapper = camelToSnakeCase

The output for this attempt was identical to attempt 1.
Thanks in advance for your help.
If this is a bug, and not an error on my part, I'm happy to help out with a PR. Just let me know!
Thanks,
Sarah

Hi Sarah,
Thanks so much for the kind words, it always makes me really happy to hear that people not only find some use for something I wrote but actually like it!
Now for your problem:
When you call dbmap.Select, modl should be passing that directly through to dbmap.Dbx.Select, so the Mapper you use should work.  It is being called, so that's good.
One of the weird things there is that it's supposed to call the mapper func on all of the fields in the struct up front when building the mapping that it will use to find columns, but it appears that it isn't.  I wonder if it's significant that the 3 fields it's being called on are all string type...
In any case, there's an extra trick here that might help. Mappers are fairly generic, so you can specify what tag name you want to use:
import "github.com/jmoiron/sqlx/reflectx"

// Create a new mapper which will use the struct field tag "json" instead of "db"
dbmap.Dbx.Mapper = reflectx.NewMapperFunc("json", strings.ToLower)

This should make the mapper func fall back on the "json" tag for the name when present;  it's possible you won't even need the actual function mapper in that case.
There is an important caveat to this which will be changed sometime soon;  things like json:"foo,omitempty" are not really supported well by reflectx even though they are fairly commonplace in Go.  These changes are part of a patch submitted in #139 and I have been dragging my feet a bit trying to figure out how it works in order to document it properly.
Let me know if this helps and solves your problem.

Hi Jason!
Things have been so hectic for me recently, I haven't had a chance to debug this more.
I'll respond in full soon! Sorry for my delay.
Sarah

Thanks to you two for discussing this issue in such great detail - I'm seeing this exact thing in my code too (which uses a custom name mapper function) when using Select, and I think I've isolated it to a difference in behavior between sqlx.scanAll (which seems to not be using the mapper consistently) and sqlx.scanAny (which does).
If I rewrite my analogous Select call (which fails to map struct name fields) to be a Queryx / for rows.Next() / rows.ScanStruct() loop, I see the struct field names correctly mapped. (For me, Select does fail to map string and int64 fields, so I suspect it's not limited to the string type alone.)
I haven't been able to dig into how to prevent this from happening, but can try and come up with a test case. Maybe this can help narrow down the issue - I'd love if I could just use Select for everything instead of this clumsy looping (:

Here's that test case I promised you (I just dumped it in sqlx_test.go):
func TestSelectWithMappedFields(t *testing.T) {
	RunWithSchema(defaultSchema, t, func(db *DB, t *testing.T) {
		loadDefaultFixture(db, t)
		dbCopy := NewDb(db.DB, db.DriverName())
		type MappedEmployee struct {
			Name   string
			ID     int64
			BossID sql.NullInt64
		}

		dbCopy.MapperFunc(func(s string) string {
			switch s {
			case "BossID":
				return "boss_id"
			case "Name":
				return "name"
			case "ID":
				return "id"
			default:
				return s
			}
		})

		getResult := MappedEmployee{}
		err := dbCopy.Get(&getResult, "SELECT * from employees LIMIT 1")
		if err != nil {
			t.Error(err)
		}

		selectResult := []MappedEmployee{}
		err = dbCopy.Select(&selectResult, "SELECT * from employees")
		if err != nil {
			t.Error(err) // <- errors
		} else if len(selectResult[0].Name) == 0 {
			t.Errorf("Select resulted in %#v", selectResult)
		}

		namedSelect, err := dbCopy.PrepareNamed("SELECT * from employees")
		namedSelectResult := []MappedEmployee{}
		if err != nil {
			t.Fatal(err)
		}
		err = namedSelect.Select(&namedSelectResult, struct{}{})
		if err != nil {
			t.Error(err) // <- errors
		} else if len(namedSelectResult[0].Name) == 0 {
			t.Errorf("Named select resulted in %#v", namedSelectResult)
		}
	})
}

Currently, this results in two errors, at the locations marked // <- errors - but not at the .Get call. I'd have expected all these to not error & behave correctly.
I'm out of time I can spend on this issue this week, but maybe the test case can help you find the source of the problem!

Running into the same issue, except I'm having it occur on all calls (Get, Select, StructScan w/ Queryx, etc.)
I'm using a similar camel to snake case converter as the original poster, and at first I was converting things like created_by and brand to CreatedBy and Brand. In this case no fields are found in the struct. When I switch my mapper to use lowercase first characters (createdBy and brand)  the brand field is found in the struct (where the field is called Brand) but the createdBy field is still not found (in the struct it's called CreatedBy).


Consider automatically downloading mainnet genesis.json

Context
There has been discussion around cutting a v1.3.1 release with a step that automatically downloads the mainnet genesis file
Questions

Where should we add this step to auto download the genesis.json?
What if a user already downloaded the mainnet genesis.json and placed it in ~/.celestia-app/config? Will the proposed feature be a no-op or download and replace?
What if a user already downloaded a testnet genesis.json and placed it in ~/.celestia-app/config?
Do we need to add a new CLI flag to celestia-appd start?
Do we want this feature for testnets?

Closing in favor of https://github.com/celestiaorg/celestia-app/issues/2777


Does the Jade check the existence of a change address in the output of a transaction?

This is a continuation of the thread from: https://github.com/Blockstream/Jade/issues/22#issuecomment-1002091796 . I had referenced this article: https://shiftcrypto.ch/blog/the-pitfalls-of-multisig-when-using-hardware-wallets/
I see that the Jade checks that the multisig change address in the output of the transaction is registered on the device: https://github.com/Blockstream/Jade/blob/master/main/process/sign_tx.c#L87
I was wondering though: Does it also check the existence of a change address in the output of a send transaction? I noticed that the Jade will ask the user confirm the change address, but the user has no way of knowing that this address is a "change" address. I'm thinking of the scenario where a malicious computer sends a send-to-many transaction to the Jade, where the second output is not a change address, but an address controlled by the hacker. Can this happen?

Actually, based on this comment, it seems SingleSig/regular MultiSig change does not need to be confirmed by the user (I was checking MultiSig Shield change).
In that case, can a malicious computer omit the change address completely causing the user to burn the change they should have gotten?

At the moment, no - it does not verify or mandate the presence of a change output.

Makes sense, I forgot the Jade asks the user to confirm the fee 🤦♂ Thank you :)


etcd_debugging_mvcc_db_total_size_in_bytes metric freeze

Hi guys, maybe it's already fixed, but I decided to ask anyway.
etcd server version 3.1.5
I've run a compaction + defrag on cluster and found out that etcd_debugging_mvcc_db_total_size_in_bytes metrics is "frozen" somehow.
It returns old DB size, before the defrag.
It returns the real size only after etcdctl endpoint status is called for the particular node.
curl http://<host>:4001/metrics | grep db_total
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0# HELP etcd_debugging_mvcc_db_total_size_in_bytes Total size of the underlying database in bytes.
# TYPE etcd_debugging_mvcc_db_total_size_in_bytes gauge
etcd_debugging_mvcc_db_total_size_in_bytes 2.19680768e+09

ETCDCTL_API=3 etcdctl -w=table endpoint status
+----------------+------------------+---------+---------+-----------+-----------+------------+
|    ENDPOINT    |        ID        | VERSION | DB SIZE | IS LEADER | RAFT TERM | RAFT INDEX |
+----------------+------------------+---------+---------+-----------+-----------+------------+
| <IP_ADDRESS>:2379 | e273c0dc9c7d588b | 3.1.5   | 807 kB  | false     |      1999 |<PHONE_NUMBER> |
+----------------+------------------+---------+---------+-----------+-----------+------------+

curl http://<host>:4001/metrics | grep db_total
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 58 41876   58 24248    0     0  32760      0  0:00:01 --:--:--  0:00:01 32723# HELP etcd_debugging_mvcc_db_total_size_in_bytes Total size of the underlying database in bytes.
# TYPE etcd_debugging_mvcc_db_total_size_in_bytes gauge
etcd_debugging_mvcc_db_total_size_in_bytes 806912

Is it fixed already?

On some of our clusters it got "unfrozen" by itself after ~20 minutes.
On some - it showed old data for 40+ minutes and only manual endpoint status call fixed the metrics data.
So the bug may not be easy to reproduce. But we found the time-lag on every cluster we have.


[BaseTag] flavor pastel dark mode are outlined

<template>
	<BaseTag flavor="pastel">...</template>
</template>

Should be fixed in https://github.com/shuriken-ui/nuxt/releases/tag/v1.0.0


Add a redundancy warning to skiko.js for k/wasm target

skiko.js used to be required for k/wasm projects. But some time ago it was refactored to use skiko.mjs, so skiko.js is not needed anymore (for k/wasm, still needed for k/js). But there are k/wasm  projects still including skiko.js in index.html which leads to extra loading time. The intention is to notify them without causing 404 errors for now.
Testing

updated a test
tested manually

Release Notes
Highlights - Web

skiko.js is redundant in case of K/Wasm Compose for Web applications and it can be removed from index.html files to not load redundant files. skiko.js will be removed from the k/wasm distribution in the future releases. skiko.js is still needed in case of K/JS Compose for Web apps.

Changed:
We are going to remove `skiko.js` from the k/wasm distribution in the future releases

to:
skiko.js will be removed from the k/wasm distribution in the future releases

Applied to Release notes:
https://github.com/JetBrains/compose-multiplatform/pull/5142#discussion_r1781075051


How to get the score of the task?

Hi Sizhe,
In your paper, you use the EMD to measure the task progress. How can I get that in your provided code?
Thank you!
Yanjie

Hi Yanjie,
I just added an example for computing the EMD. Please first install the required packages I listed in the README.
pip install pykeops
pip install geomloss

Let me know if you have any other questions. Thanks!
Sizhe

Thank you, Sizhe!
Could you also provide the target shape file of each task for computing the score? Or you think it is just self-contained in the demonstration, so not necessary?

 We split the demonstrations into train and test folders. The configurations are now uploaded to here.
Within test demonstrations, we use the shapes achieved in the final states for evaluation. As specified in the demonstration loading tutorial, a state is stored as a tuple of arrays. The first element of the tuple represents the particle state of the soft materials. I am working on a cleaner implementation with more annotations for the states.
Some personal tips - I assume you are working on a fun project :)

Of course, you can also download novel shapes from ShapeNet and express them as targets for research purposes! I have personally explored this.
You can also specify target shapes by geometrically transforming the ones recorded in the demonstration (i.e., SE3 transform)

Hope this helps. Thanks!
Sizhe

Hi Sizhe,
Thank you for all these informative suggestions!
And yes, the illustrations for these states would be good!
Nice work!
Best
Yanjie Ze

Hi Yanjie,
Here is more details for the state tuple that is of length 25. Hope it helps. Thanks!
[First Four Elements (ref: https://arxiv.org/pdf/1810.01054.pdf)]

(0) x: positions of all material points, shape (N, 3)
(1) v: velocities of all material points, shape (N, 3)
(2) F: defomration gradient of all material points, shape (N, 3, 3)
(3) C: Affine velocity field, shape (N, 3, 3)

(4-22): Rigid body poses for the 19 primitive shapes.
Each pose is stored as position (3,) + quaternion rotation (4,)
...
...
...

(23): base pose of the shadow hand; shape (n_hand, 4, 4)
(24): joint positions of the shadow hand; shape (n_hand, 24)

Thank you Sizhe!
This is very useful!


Fix bug on notify.users when user array contains null element

Should fix edge-case on COLLECTIVE_MONTHLY_REPORT activity.

Could we analyze why we have Collectives without admin users and trying to send them a report ?

@znarf found the bug that would cause getUnsubscribers to return null objects.
I kept the compact function for consistency with previous behavior tho.


The problem when launch the node

When I use "rosparam set use_sim_time true"   "roslaunch hdl_localization hdl_localization.launch"
it will stop on the this staement "[ INFO] [1568861604.901954411]: Initializing nodelet with 8 worker threads."
if I use  "rosparam set use_sim_time false"
It wiil report the error like this
"[FATAL] [1568860914.615317735]: Failed to load nodelet '/globalmap_server_nodeletof typehdl_localization/GlobalmapServerNodeletto managervelodyne_nodelet_manager'
[FATAL] [1568860914.615321512]: Failed to load nodelet '/hdl_localization_nodeletof typehdl_localization/HdlLocalizationNodeletto managervelodyne_nodelet_manager'"
I use ros-indigo on ubuntu14.04.

What is the version of PCL and g2o? If you're using one you built by yourself, I recommend to switch to ones provided by ROS (the ones you can install with apt). It's been reported that self-built libraries cause this kind of problems.

@txshang hello, have you solved this problem?
Plz let me know.

@koide3 Hello, following your suggestion, I switched the pcl to the one provided by ROS.
However, I met the same error.
These are my set-up: ubuntu16.04, ros-kinetic, ros-kinetic-pcl(1.7), cmake_3.15, std::c++11.
Any help will be appreciated!


Lack of SQL protection

The "city.mjs" techniques to "ranking" cities according to continent or region obtain arguments directly into SQL queries, which, if not properly sanitised, might result in SQL injection.
Code snippet:
static async citiesInRegionSortedByPopulation(region, db) {
const sql =      SELECT city.* FROM city     JOIN country ON city.countryCode = country.code     WHERE country.region = ?     ORDER BY city.population DESC;
return db.query(sql, [region]);
}

Monitoring and Logging: Put in place logging systems that maintain apprised of any unusual activity or unsuccessful attempts at access, as these could indicate planned SQL injections or other malicious activity.
Validation: Regardless of whether the query has been protected against SQL injection, safety and application robustness can be improved by further validating or sanitising the inputs to make sure they conform to required formats or criteria (such as making sure region is one of the expected values).
Performance: We ought to think about indexing database columns that are frequently asked, like "countryCode" and region in the following instance, for better performance, especially with massive databases.
code snippet: static async citiesInRegionSortedByPopulation(region, db) {
// Correctly using parameterized queries to avoid SQL injection
const sql =      SELECT city.* FROM city     JOIN country ON city.countryCode = country.code     WHERE country.region = ?     ORDER BY city.population DESC;
try {
// Execute the query with the parameter passed securely
return await db.query(sql, [region]);
} catch (error) {
console.error('Error fetching cities by region:', error);
throw error; // Properly handle or re-throw the error so it can be handled further up the call stack
}
}


initialConnection.isConnected() not available

dialNumber.zip
Hi,
I've created a button to call a particular number.
This number can be directly called or it can also be called as a third party.
The first time I initialises the app, if I use this button it is working fine.
If I use this button to add a third party is working also fine, but if next I try to use this button to call directly without having another active connection, it is no longer working.
I get his error:
amazon-connect-v1.0.2.js:20450     Uncaught connect.StateError {}
I've checked that it is because for some reasons the function initialConnection.isConnected(); is not available, Although I can access the initialConnection object, I can't get any information from it.
I've attached my code
Thanks

Hope the issue is fixed here. please feel free to reopen if it persists.


Add note to sso community forum fail page for waiting

add note on the sso community forum fail page that "if you just created your account and was a patron before it can take up to an hour for the forum groups to be applied"

Might be a bit more difficult now to find the right place to put the extra text to show in the failure message.


Console error in the "built" CesiumViewer App

The built version does not deploy InfoBoxDescription.css, which is needed independently of the other minified files.

Good catch, I'll look at this ASAP.


Workflows should be mutually exclusive

when "tests:check" should run when "publish:check" doesn't and vice versa.

I believe #40 fixed things, but will reopen if any future trouble.


Change camera field of view / focal length / zoom

can't figure out how to do it
MoveCameraZ is dolly, not zoom

Hello @markfarber yes. The Camera definitely needs a reimplementation Including renaming those wrong method names.

Hello @markfarber yes. The Camera definitely needs a reimplementation Including renaming those wrong method names.


Localization issues on v0.10

Some of the spell localization is broken, causing the names of e.g. Ancient Scrolls to display strangely.

(Note: this occured on a custom modpack. I will attempt to check later whether this is a more general problem.)

what
oh god that's a dumb error hold on

For anyone coming here later, run /hexcasting recalcPatterns to fix it, new scrolls should generate properly


Different events for right and left mouse click.

It'd be nice to have different events for when the notification icon is selected with either the right or left mouse button.
This would be useful on Windows, but I'm unsure if it would be useful on other platforms.

@nathanAjacobs
The only issue with this is I am trying to target cross platform with a single API and a single behavior set, and on OSX, adding right click to the handler results in the menu opening on both right and left click if you add menu items to the notification icon.  On windows you have much better defined behavior but on OSX once you add a submenu the selected action no longer fires and instead the menu is shown, eating the events.
If I were to implement this feature on windows, for single-codebase compatibility sake, I would mimic the same behavior on windows, where if you have a menu built out of the tray icon using AddMenuItem etc. both right and left click would act the same, opening the menu, and not sending the event out.
Cross Platform development is full of tons of compromises, and it's best to make them for maintainability sake, rather than litter your code base with IF(WINDOWS) do this ELSE (MAC) do that 😉
If your goal is windows only, and you have no reason to target .net core versions below 3.0 (you shouldn't as 2.X.X is EOL soon), you should be able to accomplish what you are after with system.windows.forms.notifyicon:
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.notifyicon?view=netcore-3.0
console example:
https://ambilykk.com/2019/03/20/system-tray-icon-for-net-core-console-app/
In TrayIcon.cpp, the wnd_proc events are handled there for the menu, you could certainly add a second event, or push out a left/right button parameter from the event loop to the C# code.  CMAKE + VS 2019 C++ are required to build the native library, and in notificationicon_native, you simply run build.bat from the VS 2019 command prompt.
If it runs successfully, you can then publish the nuget using the Build -> Publish menu item in visual studio in the C# solution.  Just follow OnSelected to see how everything bubbles out.
TestAppWin in the notificationicon_native library has a test app in C++ as well.  I may not be the fastest at answering questions but I certainly will try if you need to modify the library to suit your needs.
You also don't have to rely on the nuget I published and can use a local feed from a folder in your source directory.


IHMC.CmapTools version 6.04

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

You will also need to update the version folder from 6.04 to <IP_ADDRESS>

ok, just updated it

cc @JoaquinPro64: I made a PR on your fork: JoaquinPro64#2

Just merged it

/azp run


Add NovelPub Filter

Added simple regex filter for NovelPub.
NovelPub / LightNovelWorld / LightNovelPub include messages in this format:
message here
Added simple filter in NovelPub's blacklist and a new conditional in the crawler that checks each entire element for the structure

message</p
to filter out the messages.

Would you please provide an example of this on either website?

For example on novelpub, the following text is in chapter-content where the rest of the text is:

It is displayed as:

I believe that the normal filter would not work as they have variations on the actual content of the message which is what the filter searches in. However, they all have the same tags surround them which do not normally appear in any novels (because such tags are redundant) as seen below, and can be thus filtered out:

New output (first 3 chapters in html format)
cleaned.zip
Compared to the current output of NovelSave bot (in epub format):
btbr.zip
Original:

Cleaned:

I understand the problem now. However, using regex to select html is a bad method.
See:

https://stackoverflow.com/questions/590747/using-regular-expressions-to-parse-html-why-not
https://www.google.com/url?sa=t&source=web&rct=j&url=https://spin.atomicobject.com/2018/02/21/regular-expressions/&ved=2ahUKEwj6vKzQ5OH3AhUz63MBHfXZAWQQFnoECA8QAQ&usg=AOvVaw0WUZVEccP2Jnq8fq5ShADh

A better way to implement this would be to select all strong > strong with query selector and remove them using extract method from bs4.
for strong in content.select_all('strong > strong'):
    strong.extract()

# removes the now empty elements
self.clean_contents(content)

Interesting, I wasn't aware. I removed the previous changes and added
for strong in content.select('strong > strong'):
  strong.extract()

and quickly tested it, and it works now.

@raw-chicken Could you please resolve the comments so that I may merge the pr?

Thank you.


Configure NetInfo to use our API for internet reachability test

We need to use NetInfo.configure() to set the reachabilityUrl to our own API rather than calling the default Google-hosted URL. This was something that was raised by the community when another COVID exposure notification app was released.

The other app's ticket is here: https://github.com/cds-snc/covid-alert-app/pull/1004

Build 43 has this applied

Closing this as @dharding has confirmed by moving it to done


Reading esv variables via cli is not machine processable

Frodo CLI version
0.23.0
Describe the issue
We have a CI pipeline which deploys all our variables to FR Identity Cloud. We iterate over the variables and use frodo to set them. However, if nothing's actually changed, we could skip this entirely, or at least rely on Frodo to skip the apply command.
Therefore, we looked at the output of this command:
npx frodo esv variable describe --variable-id my-awsome-variable https://openam-foo-euw2-staging.id.forgerock.io/am
The output is in human, not machine-readable format:

As such we couldn't process the output as part of some conditional logic to determine whether to call the command to create the variable with a different value.
Let's say there was a command line switch --read-value to just output the value of the variable, or --json to ask for output rendered in json, rather than a human-readable table, this would be significantly more useful.

@ashleyfrieze , a --json option would be handy, I agree! describe was never intended to be machine processable but I like that you are trying to use it that way. I'll look into it asap!
Feel free to put up a PR if you like to write some code yourself? :)

I agree, I have used the output and generated my own json file with {"Name":"esv-...","Value":"value"} and then did a command in bash like:
for file in $(ls -1 *.json); do
echo $file
name=$(cat $file|jq -r '.Name')
value=$(cat $file|jq -r '.Value')
frodo esv variable create -i $name --value "$value" substr
done

@jgdtech I don't know whether you're using ID Cloud or a self-installed AM. With ID cloud the consequence of deploying new variables is that there's some sort of restart required. This, in turn, makes the deployment take a long time.
If the variables haven't changed since the last time, then there's no reason to deploy. Similarly, iterating over the variables we wish to add doesn't allow unused variables to be removed.
So, I'm probably going to end up scripting the deployment against frodo lib... though the CLI should also be machine readable where possible.


External dependencies upgrade - Spring Boot 3.0.0-RC1 and Spring Cloud 2022.0.0-RC1

Upgrade the dependencies to align with Spring Boot 3.0.0-RC1 and Spring Cloud 2022.0.0-RC1.
Changes:

Disable the fail of azure-core on deprecated API usage(com.azure.core.implementation.logging.DefaultLogger).
Update the sync_external_dependencies.py to support more use cases.
Make the compatibility tests pipeline pass by default when executing unit tests out with deprecation APIs.
Upgrade deprecated APIs

org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity -> org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity
org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationToken -> org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthenticationToken

API change check
API changes are not detected in this pull request.

@saragluna most Spring pipelines ran successfully(failed with UsGov cloud integration tetss, https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1955076&view=results), please help review, thanks!

@moarychan, seems like some jobs in the core-ci and jdbc-ci failed, is this expected?

@moarychan, seems like some jobs in the core-ci and jdbc-ci failed, is this expected?

jdbc-ci pipelines passed.
code-ci pipelines failed with some UTs of the azure-core-metrics-opentelemetry, which seems not compatible with the new version of opentelemetry,  https://dev.azure.com/azure-sdk/public/_build/results?buildId=1957323&view=logs&j=c51d6cb2-95cd-5b4d-48e3-5062b75e6984&t=b62ccbdd-d117-5716-c02f-c3937fbd094d
@saragluna could you help check whether we can ignore those failures?

@moarychan seems like there are two modules are affected:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7:test (default-cli) on project azure-core-amqp:
[ERROR]
[ERROR] Please refer to /mnt/vss/_work/1/s/sdk/core/azure-core-amqp/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7:test (default-cli) on project azure-core-metrics-opentelemetry:
[ERROR]
[ERROR] Please refer to /mnt/vss/_work/1/s/sdk/core/azure-core-metrics-opentelemetry/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.

Could you help check whether we can make the azure-core-amqp UT pass? Since we are not using the metrics module now, but we should take a look at what breaking change caused the error.

@moarychan seems like there are two modules are affected:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7:test (default-cli) on project azure-core-amqp:
[ERROR]
[ERROR] Please refer to /mnt/vss/_work/1/s/sdk/core/azure-core-amqp/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7:test (default-cli) on project azure-core-metrics-opentelemetry:
[ERROR]
[ERROR] Please refer to /mnt/vss/_work/1/s/sdk/core/azure-core-metrics-opentelemetry/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.

Could you help check whether we can make the azure-core-amqp UT pass? Since we are not using the metrics module now, but we should take a look at what breaking change caused the error.

The amqp tests also failed in this PR, please help take a look https://github.com/Azure/azure-sdk-for-java/pull/31730.


[sysrst_ctrl] Added in_out_passthrough and in_out_inverted testcases

Signed-off-by: Madhuri.Patel<EMAIL_ADDRESS>

Thanks for making this PR.
This PR is really large. It's nice to make multiple small PRs in the future, otherwise, it takes much longer time to review and address the comments. For example, you can work on multiple test in parallel, but make each test in a separate PR.

This pull request has agent instantiated which is not required for sysrst ctrl block. Thus closing this pull request and creating a new pull request.


Backer: Add new credit card on file from /settings

Dependencies: N.A
What
Ability for backers to add new saved payment methods without having to go through the checkout flow.
How
Design
Figma

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog :^)

This can be done via the linked Stripe dashboard now, closing for now.


Cache installed packages for verify-output CI

Works as expected. Installation of python packages is down from 84s without cache to 31s with cache.


Reconstruction of test image

Could you please share the scripts for semantically labelled test image construction?

I uploaded some demo script.
You can look at here.
Hope it can help you.

@FangChengRu Thanks a lot!


Fix a typo in kubeflow-integration.md

Why are these changes needed?
Fix a spelling error in the kubeflow integration document.

Related issue number

Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[X] This PR is not tested :(

Thanks! Would you mind opening a PR to fix it in the Ray repository https://github.com/ray-project/ray/blob/master/doc/source/cluster/kubernetes/k8s-ecosystem/kubeflow.md?
We have already moved most documents to the Ray repo/website. I will remove the docs in this repo to keep only one source of the truth. Thanks!


Setting max sip version that it's compatible with PyQt 5.9

Right now the pyqt conda packages can generate odd segfaults because they're trying to use sip 4.19.12, which was uploaded last week to defaults and it's incompatible with pyqt 5.9.

We found this because Spyder's test suite was segfaulting at random places after the new sip package was uploaded.

@mingwandroid, @jjhelmus, @nehaljwani, please fix this. It's a very simple fix which is probably breaking Spyder for lots of users.

Sorry about the delay @ccordoba12.  Package with the change should be available in defaults shortly.

Thanks @jjhelmus!

The new packages are available but sip 4.19.12 is still being selected because of the older builds.  Looking into patching the metadata for the older builds.

Older builds of pyqt have been hotfixed to include an upper limit on the sip version.

Thanks a lot @jjhelmus!


Porting recent TLS Fix (MQTT Connections, etc.)

Describe the bug
Slow connect time on any TLS related processes (MQTT connect calls, etc.). A fix has been submitted last week and merged today, but I wanted to open up an issue to communicate our testing with the team. The connection time seems to be slow still - what is the expected time for an MQTT connect call to run from THIS fix? How many seconds are you seeing on your end?
System information

Which hardware board or part numbers? - ESP32
IDE used - Eclipse
Operating System - MacOS
Version of Amazon FreeRTOS (run git describe --tags to find it) - modified version from commit of AFR 1.5 (somewhere around commit 407790218 and 5a201aca6 from back in early May)
Project - Custom Application
If your project is a Custom Application, please add the relevant code snippet in the section - we run an iteration of the MQTT demo, so anything that runs a connection to the broker

Expected behavior
I'd expect this connection to run much smoother than before with the fix, but maybe I'm not applying all the required changes to test the fix (see additional context for more information)
Screenshots or console output
BEFORE the TLS fix: note the ~15+ second delay
52 3277 [INFO ][DEMO][32770] MQTT demo client identifier is <IoT-ThingName> (length 12).
53 4722 [INFO ][MQTT][47220] Establishing new MQTT connection.
54 4722 [INFO ][MQTT][47220] Anonymous metrics (SDK language, SDK version) will be provided to AWS IoT. Recompile with AWS_IOT_MQTT_ENABLE_METRICS set to 0 to disable.
55 4722 [INFO ][MQTT][47220] (MQTT connection 0x3ffb6770, CONNECT operation 0x3ffb6ea8) Waiting for operation completion.
56 4731 [INFO ][MQTT][47310] (MQTT connection 0x3ffb6770, CONNECT operation 0x3ffb6ea8) Wait complete with result SUCCESS.
57 4731 [INFO ][MQTT][47310] New MQTT connection 0x3ffc6cd0 established.
58 4731 [INFO ][DEMO][47310] MQTT Connection Returned: 0
59 4731 Connected to broker.

or
31 338 [INFO ][DEMO][3380] MQTT demo client identifier is <IoT-ThingName> (length 12).
32 2257 [INFO ][MQTT][22570] Establishing new MQTT connection.
33 2257 [INFO ][MQTT][22570] Anonymous metrics (SDK language, SDK version) will be provided to AWS IoT. Recompile with AWS_IOT_MQTT_ENABLE_METRICS set to 0 to disable.
34 2257 [INFO ][MQTT][22570] (MQTT connection 0x3ffb7858, CONNECT operation 0x3ffb6a88) Waiting for operation completion.
35 2285 [INFO ][MQTT][22850] (MQTT connection 0x3ffb7858, CONNECT operation 0x3ffb6a88) Wait complete with result SUCCESS.
36 2285 [INFO ][MQTT][22850] New MQTT connection 0x3ffc6cd0 established.
37 2285 [INFO ][DEMO][22850] MQTT Connection Returned: 0
38 2285 Connected to broker.

AFTER the TLS fix: note the ~7+ second delay
52 2488 [INFO ][DEMO][24880] MQTT demo client identifier is <IoT-ThingName>  (length 12).
53 3254 [INFO ][MQTT][32540] Establishing new MQTT connection.
54 3254 [INFO ][MQTT][32540] Anonymous metrics (SDK language, SDK version) will be provided to AWS IoT. Recompile with AWS_IOT_MQTT_ENABLE_METRICS set to 0 to disable.
55 3254 [INFO ][MQTT][32540] (MQTT connection 0x3ffb7a8c, CONNECT operation 0x3ffb78a0) Waiting for operation completion.
56 3268 [INFO ][MQTT][32680] (MQTT connection 0x3ffb7a8c, CONNECT operation 0x3ffb78a0) Wait complete with result SUCCESS.
57 3268 [INFO ][MQTT][32680] New MQTT connection 0x3ffc5e78 established.
58 3268 [INFO ][DEMO][32680] MQTT Connection Returned: 0
59 3268 Connected to broker.

Note that we also run the MQTT connect call twice on first connection as we are following JITP flow, so it takes twice as long for the user to connect.
To reproduce
Steps to reproduce the behavior:
Try any demo that requires an MQTT connection with the merged PR (probably from your master branch)
Code to reproduce the bug
See above
Additional context
I have not yet re-based on your master branch, as we were afraid of any breaking changes (are there any breaking changes?). So I took the snippet from your recent PR and implemented those on what we currently have (based on the commit posted above). Are the CMakeLists.txt file changes under the different directories the only required edits to apply this fix? I want to make sure I ported the fix correctly. Let me know if the TLS fix comes with additional changes other than the one just mentioned, so I can add those as well - or if it is required for the fix to re-base our code-base to the latest commit on master of the SDK altogether.
Thank you!

I took a few more samples this morning after soft reboots to the unit and these are some of the samples - note the 15+ second delays on these.
33 708 [INFO ][DEMO][7080] MQTT demo client identifier is <IoT-ThingName> (length 12).
34 2193 [INFO ][MQTT][21930] Establishing new MQTT connection.
35 2193 [INFO ][MQTT][21930] Anonymous metrics (SDK language, SDK version) will be provided to AWS IoT. Recompile with AWS_IOT_MQTT_ENABLE_METRICS set to 0 to disable.
36 2193 [INFO ][MQTT][21930] (MQTT connection 0x3ffb75a8, CONNECT operation 0x3ffb79b8) Waiting for operation completion.
37 2284 [INFO ][MQTT][22840] (MQTT connection 0x3ffb75a8, CONNECT operation 0x3ffb79b8) Wait complete with result SUCCESS.
38 2284 [INFO ][MQTT][22840] New MQTT connection 0x3ffc5e78 established.
39 2284 [INFO ][DEMO][22840] MQTT Connection Returned: 0
40 2284 Connected to broker.

31 326 [INFO ][DEMO][3260] MQTT demo client identifier is <IoT-ThingName> (length 12).
32 1808 [INFO ][MQTT][18080] Establishing new MQTT connection.
33 1808 [INFO ][MQTT][18080] Anonymous metrics (SDK language, SDK version) will be provided to AWS IoT. Recompile with AWS_IOT_MQTT_ENABLE_METRICS set to 0 to disable.
34 1808 [INFO ][MQTT][18080] (MQTT connection 0x3ffb7820, CONNECT operation 0x3ffb7160) Waiting for operation completion.
35 2008 [INFO ][MQTT][20080] (MQTT connection 0x3ffb7820, CONNECT operation 0x3ffb7160) Wait complete with result SUCCESS.
36 2008 [INFO ][MQTT][20080] New MQTT connection 0x3ffc5e78 established.
37 2008 [INFO ][DEMO][20080] MQTT Connection Returned: 0
38 2008 Connected to broker.

Hey,
I ran a test on our latest master branch (ba6e43bd7141d1c80f6e98d18bddde989b032b5f).
Here are the results I obtained:
cmake:
7 411 [iot_thread] [INFO ][DEMO][4090] MQTT demo client identifier is IOT_BLE_HUGUES (length 14).
8 857 [iot_thread] [INFO ][MQTT][8570] Establishing new MQTT connection.
makefile:
7 396 [iot_thread] [INFO ][DEMO][3960] MQTT demo client identifier is IOT_BLE_HUGUES (length 14).
8 809 [iot_thread] [INFO ][MQTT][8090] Establishing new MQTT connection.
Aproximatly ~4s for both. That is the time you should expect on our master branch. Again that time will depend on you application and thread priorities.
Hugues

Thank you for the answer Hugues.
I have ported it the way you suggested, copying the appropriate .txt files - thank you for the confirmation, that's helpful. I'll double check, run more tests with our application and also try to test your master branch to confirm we see the same timing and get back to you.
Again, thank you for the support.

I create that branch https://github.com/aws/amazon-freertos/tree/fix/bootIn4s
Based on an older commit you might be using.
Please check this commit:
https://github.com/aws/amazon-freertos/commit/b6348a915714250d57240e902d815ac5c94f8381
It should connect in 4s

Thanks Hugues, I'll try this as soon as possible. I am unable to run a CMake build on the master branch at the moment, so I can't test that yet. But I see that you are already working on a fix.
Let me know when that is available and I can test it. In the meantime, I'll try: https://github.com/aws/amazon-freertos/tree/fix/bootIn4s

You are right, sorry about that. It should work now, the fix has been pushed.
Note that that fix was for tests, demos was working.

Ah, interesting. I'll run CMake again from master once I'm done with this one. Not sure what could have gone wrong then. I'll get back to you soon, thanks!

Hi @rrivadeneira-rsc,
How did the test go ? Are you still having issues ?

Hi @ravibhagavandas
Tests are showing better results, thank you! We get ~6 seconds consistently trying the demos only on both branches with stable WiFi network, and ~7 seconds with our application on top. Though I definitely see it varies according to the network - so an unstable connection could take a lot longer.

Hi @rrivadeneira-rsc,
Thank you for sharing results , I am closing this issue now and please reopen if you have more questions.


mpi: 4.1.2 -> 4.1.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/openmpi/versions.
meta.description for mpi is: "Open source MPI-3 implementation"
meta.homepage for mpi is: "https://www.open-mpi.org/"
meta.changelog for mpi is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpifort had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpiCC had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/oshrun had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/ompi-server had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/oshcc had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/orted had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpiexec had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/shmemcxx had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/shmemc++ had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/shmemcc had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpif90 had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpirun had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/shmemfort had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/ompi-clean had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/ompi_info had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpif77 had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/opal_wrapper had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/orte-server had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/oshc++ had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/shmemCC had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/oshcxx had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/ortecc had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/oshmem_info had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpicxx had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpic++ had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/oshCC had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/orte-clean had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/orte-info had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/oshfort had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/mpicc had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/shmemrun had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin/orterun had a zero exit code or showed the expected version
0 of 32 passed binary check by having a zero exit code.
0 of 32 passed binary check by having the new version present in output.
found 4.1.3 with grep in /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3
found 4.1.3 in filename of file in /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3

Rebuild report (if merged into master) (click to expand)

346 total rebuild path(s)

195 package rebuild(s)

195 x86_64-linux rebuild(s)
151 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
EBTKS
apacheHttpdPackages.mod_tile
apacheHttpdPackages_2_4.mod_tile
bicgl
bicpl
cdo
cloudcompare
cntk
conglomerate
cp2k
dl-poly-classic-mpi
eccodes
elmerfem
elpa
ezminc
febio
freecad
gdal
gdal_2
getdp
globalarrays
gmt
gnudatalanguage
gplates
gpt2tc
grass
gromacsCudaMpi
gromacsDoubleMpi
gromacsMpi
haskellPackages.haskell-mpi
hdf5-mpi
highfive-mpi
hp2p
hpcg
hpl
inormalize
ior
lammps-mpi
libLAS
libminc
librsb
libtensorflow
mapcache
mapnik
mapproxy
mapserver
merkaartor
migrate
minc_tools
minc_widgets

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A mpi https://github.com/r-ryantm/nixpkgs/archive/426ec8974ec225efc81676cee00e213aa2fef5f0.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3
ls -la /nix/store/fs7d34dns3k0xwkvwy2jhrdjw3dhdhvn-openmpi-4.1.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @markuskowa for testing.

@GrahamcOfBorg test slurm


Remaining issues when merging federated users with native Cognito accounts in PreSignUp Trigger

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
18
Amplify CLI Version
12.1.1
What operating system are you using?
WSL2 on Windows
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
no
Describe the bug
I am using a setup very close to what the OP documented in this issue (although not in a Flutter, but an Angular application):
https://github.com/aws-amplify/amplify-flutter/issues/1716
Thanks to the work being done on that issue, we do not have to throw a custom exception and reinitiate the auth flow on the client-side any longer on successfully linking a social provider!
There are still a couple of issues remaining, though, leading to an overall painful developer experience when implementing account merging, which I am documenting here. All of them are focused around Cognito.
Anyone who ran into these issues, as well, please upvote to raise visibility.
List of Issues
1. Missing ability to map (or at least hardcode to true) the “email_verified” user attribute for Facebook (and apparently some other non-Google) IDPs
For Google, we can map the email_verified attribute to Cognito user attributes. For Facebook and some other IDPs, this is not possible, atm.

By default, mapped email addresses are unverified. You can't verify a mapped email address using a one-time code. Instead, map an attribute from your IdP to get the verification status. For example, Google and most OIDC providers include the email_verified attribute.

When a user signs in through an IdP, Amazon Cognito updates the mapped attributes with the latest information from the IdP. Amazon Cognito updates each mapped attribute, even if its current value already matches the latest information.

Source
Issue: Setting “email_verified” manually on signup won’t be enough. If there is no attribute mapping present, Cognito sets the attribute to false on each login. Users with an unverified email won't be able to use the forgot password flow, even though they have a native account.
Current workaround: Call adminUpdateUserAttributes to set  “email_verified” to true in the PreToken generation trigger as described here.
Why does it have to be the PreTokenGeneration trigger? Because it is the only one being called on the first and all subsequent social signings (see this doc)
Obviously, setting this attribute on each login is a sh**** workaround. And it is not straightforward to implement because of the next issue.
==================================================================================
2. Cyclic dependency for PreTokenGeneration lambda
The PreTokenGeneration  lambda now needs permissions on auth to call AdminUpdateUserAttributes. When trying to add it, though, there is a cyclic dependency error, similar to what’s documented here.
We've dealt with cyclic dependency issues in Cognito triggers a lot in the past, and I’m surprised that most issues around this topic are closed, even though issues persists. My workaround, which I also got from one of these older Github issues, is to rely on the UserPoolId to be exported from somewhere else by adding this to parameters.json (cognitoUserPoolId is the value from cli-inputs.json):
  "<cognitoUserPoolId>UserPoolId": {
    "Fn::GetAtt": ["<cognitoUserPoolId>", "Outputs.UserPoolId"]
  }

Along with this in custom-policies.json
[
  {
    "Effect": "Allow",
    "Action": ["cognito-idp:AdminUpdateUserAttributes"],
    "Resource": [
      {
        "Fn::Join": [
          "",
          [
            "arn:aws:cognito-idp:",
            {
              "Ref": "AWS::Region"
            },
            ":",
            {
              "Ref": "AWS::AccountId"
            },
            ":userpool/",
            {
              "Ref": "<cognitoUserPoolId>UserPoolId"
            }
          ]
        ]
      }
    ]
  }
]

==================================================================================
3. Calling AdminSetUserPassword confirms the user, but does not trigger the PostConfirmation hook
We create user resources in the PostConfirmation hook and need it called for every user, not just the ones creating a native Cognito account. We considered calling AdminConfirmSignUp as a workaround, which brings me to the next issue.
==================================================================================
4. AdminConfirmSignUp throws “user already confirmed” error
AdminConfirmSignUp according to Cognito docs would trigger the PostConfirmation hook when running successfully, but it throws a “user already confirmed” error when called after AdminSetUserPassword.
When calling AdminConfirmSignUp before AdminSetUserPassword it throws an error with an internal stacktrace saying it’s unable to JSON.stringify a cyclic object structure. (Sorry, forgot to copy the stacktrace here.)
According to a Stackoverflow post, AdminConfirmSignUp wouldn't even trigger the PostConfirmation hook, which, if true, contradicts the docs. I cannot confirm whether this is true, because at this point, I decided to revert to calling the PostConfirmation hook manually.
==================================================================================
5. AdminLinkProviderForUser randomly throws an InvalidParameterException
AdminLinkProviderForUser randomly throws this InvalidParameterException:
"Invalid SourceUser: Cognito users with a username/password may not be passed in as a SourceUser, only as a DestinationUser"

I double-checked a million times whether I had mixed up source and destination user, but I hadn’t. This came up for others, as there is a reference to it in this issue.
Apparently, some people were able to mitigate it by assigning more memory to the lambda function. This does not work reliably in my case. My current workaround is to catch and ignore InvalidParameterExceptions for the AdminLinkProviderForUser call. From what I see in the Cognito console, it still seems to successfully link social providers with native users. I don’t know if there are any side effects I’m unaware of.
Expected behavior
Better developer experience and tested documentation on how to implement merging social provider with native accounts.
Reproduction steps
Try implementing account merging as described here by the OP: https://github.com/aws-amplify/amplify-flutter/issues/1716
Project Identifier
809daeeb99aae0ff84c097e535188112
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Before submitting, please confirm:
I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
I have removed any sensitive information from my code snippets and submission.

I invested half my workday yesterday to compile this list of issues with suitable links to documentation. (Number 4 is a regression, btw., as we didn't have to deal with it in the past.) My intention is to raise awareness to the overall developer experience when implementing merging of social provider accounts with native Cognito accounts. I am disappointed and find it questionable that it was closed immediately without any further questions. A lot of people run into the same issues when implementing this. Furthermore, this issue could provide guidance with possible workarounds where the documentation is lacking.
As I mentioned in the reproduction steps, all you need to do is try to implement social account merging with the steps laid out in the linked issue, and you will automatically run into the issues mentioned above. With the amount of issues contained in this workflow, it would probably take me a week to construct a minimal, self-contained code example. I am willing to provide further details, though, if needed.

Okay, let me give a set of instructions, as best as I can:

Set up a new amplify app with Angular.
Choose Cognito userpool for authentication
Add Facebook as a social provider.
Use the Authenticator from the amplify angular-ui npm package.
Merge the Facebook federated identity with a native Cognito user in the PreSignup lambda. Use the code from the linked issue for this (meaning we create a native Cognito user if someone signs up with Facebook for the first time and link it with the Facebook identity. If a native account already existed, because the user created it before, we also link it.)
Try to get the forgot password flow for the native user working even after they signed in with Facebook, which set their email to unverified in the user pool.
Realize that you'll also run into the other issues mentioned above.

Don't hesitate to ask for clarification, if any of these steps are unclear or need more details.

Hi @hanna-becker  - this is an absolutely fantastic level of detail - thank you very much for taking the time to right these steps for us! Our support team is taking a look to reproduce this (With and without the Authenticator - this seems like it would impact non-Authenticator users as well). We will also validate these behaviors with the Cognito team.


Radio buttons not firing on change

Radio button name=gender with two radios (MALE/FEMALE) not updating model.
Using current prod release
http://jsfiddle.net/P8r4v/5/

Should be set. Thanks @bragradon.


ENH: Keyboard check function (even if TDT is input device)

Much like we have a quit key that is for the experimenter's use, it would be good to extend that functionality to an arbitrary key or set of keys and return a logical (rather than throw an error) if it had been pressed. This would allow for things like pausing the experiment by the experimenter.
Is the best way to do this to define a general "was key pressed" private function, then have the quit key checking function use that and make a new function that returns a logical?

@rkmaddox WDYT about just allowing more than one keyboard controller to be used, and keyboard polling functions check all devices? That greatly simplifies the code (I think), and gives the experimenter flexibility about what to call a different type of event. For example, in the booth the TDT button presses 1-8 could mean one thing, and "p" could be used by the experimenter to pause. Eventually we could also pass back what keyboard device gave the event, but I'd assume YAGNI for now.

I think that makes sense. Does that mean that 1-8 on the keyboard would also be hot? I don't see that as a major problem, I don't think.

yeah, they would both work

If that works for your use case, I can probably implement it fairly quickly

It should, thanks.

@Eric89GXL could you include in that PR a little cardboard warning sign
next to MARLO's outside-the-booth keyboard?
On May 19, 2015 12:40 AM, "rkmaddox"<EMAIL_ADDRESS>wrote:

It should, thanks.
—
Reply to this email directly or view it on GitHub
https://github.com/LABSN/expyfun/issues/183#issuecomment-103121841.

I'll let @rkmaddox add it as part of his protocol :) It will have to be enabled by any given experiment, the default (use button box only) will not change.

The ugly thing is that calls that are simply wait_for_button_press will
now need to specify buttons 1-8 in order to not have any bumped key on the
keyboard count. Since it is not the default to have both controllers
active, I think this is OK though.
--
Ross Maddox, Ph.D.
Postdoctoral Fellow
Institute for Learning & Brain Sciences
University of Washington
phone:<PHONE_NUMBER>
http://faculty.washington.edu/rkmaddox/
On Mon, May 18, 2015 at 8:08 PM, Eric Larson<EMAIL_ADDRESS>wrote:

I'll let @rkmaddox https://github.com/rkmaddox add it as part of his
protocol :) It will have to be enabled by any given experiment, the default
(use button box only) will not change.
—
Reply to this email directly or view it on GitHub
https://github.com/LABSN/expyfun/issues/183#issuecomment-103313694.

Yeah, I think putting users of the fancy functionality through a bit more pain / explicitness in their code is an acceptable side effect :)


Can't save notebooks: "No file system provider found for resource"

Version: 1.0.206106+f90ff415badc98a82c7db599658df94ad527328
I am unable to save my notebooks, I get the following error:
Failed to save 'xxx.ipynb': No file system provider found for resource 'vscode-notebook:/c%3A/Users/uuu/source/.../Notebooks/xxx.ipynb'
My only recourse seems to be to find the copy created in .../AppData/Roaming/code-insiders/... and copy it back to it's source location

I'm currently running into the same issue on VSCode 1.53.0-insider.
Attempting to close the editor through the file menu or CTRL-F4 brings up a save menu. Choosing Save or Don't save closes the dialog box but doesn't exit VSCode. Relaunching VSCode loads an auto saved copy and the issue persists.

@markjamesm Could you restart Code Insiders to make sure any pending automatic update has happened, then run #!about in a notebook and post the output here?
Thanks.

@markjamesm Could you restart Code Insiders to make sure any pending automatic update has happened, then run #!about in a notebook and post the output here?
Thanks.

No problem! I've restarted Code, and clicking on Help --> Check for updates says that "There are currently no updates available".
The output of #!about is:
.NET Interactive
© 2020 Microsoft Corporation
Version: 1.0.207203+f90ff415badc98a82c7db599658df94ad527328a
Build date: 2021-01-28T21:18:17.5764282Z
https://github.com/dotnet/interactive

Thanks. I'm still not able to repro this one, so a few more questions.
Does this affect all of your notebook files? How did you create the document that won't close? Are other documents open? If you create a new document (.NET Interactive: Create new blank notebook), can you now close the original one? What's the exact filename you're entering in the save dialog, and what do you have selected in the file extension dropdown?

Thanks. I'm still not able to repro this one, so a few more questions.
Does this affect all of your notebook files? How did you create the document that won't close? Are other documents open? If you create a new document (.NET Interactive: Create new blank notebook), can you now close the original one? What's the exact filename you're entering in the save dialog, and what do you have selected in the file extension dropdown?

I only recently downloaded .NET Interactive, and so far haven't created any other notebooks. The filename is "Analytics Test.ipynb". I would share the notebook, but unfortunately it contains sensitive information. Attempting to "Save as" returns the following message:
File system provider for vscode-notebook:/c%3A/Users/path/Analytics%20Test.ipynb is not available.
The notebook in question uses the .NET F# engine and opens and saves fine when opened in Jupyter (.NET F# kernel):
Server Information:
You are using Jupyter notebook.

The version of the notebook server is: 6.1.4
The server is running on this version of Python:
Python 3.8.5 (default, Sep  3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]

Please note that the kernel information section is blank.
In addition, I created a new notebook in VSCode and transferred my code into it. Saving was enabled for the new notebook (Testing.ipynb),  but I cannot close the old notebook tab. When I try closing the notebook (either by right clicking and selecting close, or by clicking the X), a dialog box pops up asking me to save. Choosing "Save" or "Do not save" closes the prompt without doing anything:

Upon some further inspection, it seems that this issue may be closely related:
https://github.com/dotnet/interactive/issues/1013

Am I correct that the problem only reproduces with this one specific notebook file? How did you create that file (which app, which command)?

Am I correct that the problem only reproduces with this one specific notebook file? How did you create that file (which app, which command)?

That's correct, although I haven't made very many notebooks yet.
To create the notebook, I opened VS Code Insiders and then pressed Ctrl-Shift-P and chose ".NET Interactive: Create New Blank Notebook." I then clicked on C# (.NET Interactive) in the right side of the notebook and switched it to F# (.NET Interactive).
I then began writing my code and saved the file at some point. I later opened VSCode again (the file was already present in the editor) and started to work on it again. This time when I tried saving, I ran into the error.

To create the notebook, I opened VS Code Insiders and then pressed Ctrl-Shift-P and chose ".NET Interactive: Create New Blank Notebook." I then clicked on C# (.NET Interactive) in the right side of the notebook and switched it to F# (.NET Interactive).

I created mine the same way, except C#.

This seems to be fixed for me now with the latest update to VSC and the extension that was downloaded this morning. (It's been a few weeks since I've tried the notebooks.)

I've upgraded this morning to the latest version but am still running into the error. My current VSCode version is:
Version: 1.53.0-insider (user setup)
Commit: e1c818a171168eedf78b62fdc7f4e3458d5dea7c
Date: 2021-02-03T08:23:41.329Z
Electron: 11.2.1
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19041

@markjamesm Can you also please reconfirm the .NET Interactive Notebooks extension version and the output of running #!about in the notebook?

@markjamesm Can you also please reconfirm the .NET Interactive Notebooks extension version and the output of running #!about in the notebook?

.NET Interactive Notebooks v1.0.207203
!#about
.NET Interactive
© 2020 Microsoft Corporation
Version: 1.0.207203+f90ff415badc98a82c7db599658df94ad527328a
Build date: 2021-01-28T21:18:17.5764282Z
https://github.com/dotnet/interactive

@thelazydogsback @markjamesm Are you still seeing this issue in either Code Insiders or VS Code stable?

@thelazydogsback @markjamesm Are you still seeing this issue in either Code Insiders or VS Code stable?

The issue seems to have resolved after installing one of the recent VS Code Insiders release. Have not tested on stable.

@thelazydogsback @markjamesm Are you still seeing this issue in either Code Insiders or VS Code stable?

The issue seems to have resolved after installing one of the recent VS Code Insiders release. Have not tested on stable.

How is it going for you with VS Code Stable release?

I think this one is resolved. @thelazydogsback feel free to reopen if it you see it again.


When using combined PDF, the page number are restarted for every article

We love the new page order as it respects nicely our nav structure, but we're seeing issues with the current page numbers. Page numbers are restarting for every section as it's probably considered to be multiple documents and page numbers are defined per document.
Anything we can do to do the opposite, where if I have 201 pages, I should see Page 1 of 201, 2 of 201, etc...?
Thanks!

It looks like it's working on my end! Thanks for taking the time to debug this one! It means a lot to us! Cheers!

Hi,
Thanks for the fix ! I was using the following construct to display the page number relative to the total :
      @bottom-right {
          content: counter(page) ' / ' counter(pages);

I replaced the counter(page) with counter(__pgnum__); But counter(pages) is always 1

pages works for me on single PDF. Your exact code works.


EAI_AGAIN error when trying to make a request

does this module  still conform to opencalais api standards? I get the following error,
"Uh oh, we got an error! : Error: getaddrinfo EAI_AGAIN"
Im behind a proxy but I have it configured in npm config(both http and https)

Yes I can confirm it still works. Do you have the same error when not running it behind a proxy? The manpage for getaddrinfo says:
EAI_AGAIN
The name server returned a temporary failure indication. Try again later.

Haven't heard a response, and I think this issue is specific to the given user's setup.


Playlist Contaier on Home

Play Pause integration is absolutely horrid when it comes to performance as each box is rerendered on single prop change - FIX IT!!!

It's all about the props
One prop that changes on ERY click for <Playlist /> render was being passed AS-IS causing the re-render. Passing a derived state makes sure the render is kept to 2 rather than the number of <Playlist />
playing and playingId props were the culprits


Does not apply completion code action when clicked on

VSCode Version: Code - Insiders 1.19.0-insider (c8c6b13528c03986b8dad654cb1d3e796e8dbe97, 2017-11-20T06:15:17.286Z)
OS Version: Linux x64 4.4.0-21-generic
Extensions: none

Steps to Reproduce:

Create a file b.d.ts containing export function foo(): void;.
Create a file a.ts and type fo, then ctrl-space for completions.
Arrow down to foo and hit enter. The completion is accepted and a code action creates an import.
Clear a.ts and start again. Type fo, ctrl-space for completions, then click on foo.
The completion is accepted but the import is not added.

/duplicate of #38636


Layout.pie: Division by zero when sum(values) is 0

When d3.sum(values) == 0, k should be 0

Merged into #2591 for 3.5.7.