Properly supporting semver, plus -DRAFT releases of packages

In the Wasmtime meeting today, we discussed some challenges around semver support for component model packages.
Specifically, we identified two issues:

Right now Wasmtime's semver support is overly permissive, in that it makes symbols available in all semver-compatible versions, not just starting with the version they were introduced in.
How do we support preview/draft releases of upcoming semver-compatible versions, including treating them as semver-compatible with the last stable version? (Assuming the draft version isn't semver breaking.)

During the meeting, I proposed an approach that'd involve maintaining a side-table of symbols to add to the linker under aliases, where for each minor version we'd add all current contents of the side table to the linker aliased for that version, and additionally add all symbols introduced by that version to the table (and the linker.)
I think we could abstract that away by introducing methods on the linker along the lines of

start_semver_range
add_to_semver_range (which would invoke add_to_linker)
end_semver_range

As a concrete example, say we want to support versions 0.2.0, 0.2.1-DRAFT, 0.2.1, and 0.2.2 of a package. (Setting aside the question of whether we'd ever want to support a -DRAFT version in parallel to the respective stable version or any higher minor versions.) This approach would have us follow these steps:

Call start_semver_range
Call add_to_semver_range for each symbol in 0.2.0
Call add_to_linker (❗) for symbol in 0.2.1-DRAFT
Call add_to_semver_range for each symbol in 0.2.1
Call add_to_semver_range for each symbol in 0.2.2

I'm not particularly familiar with the workings of Wasmtime's linker, so this might not work all that well in practice—but maybe it does?

At a high level one of the goals I'd like to have with our WASI support in Wasmtime is that we're not required to keep an ever-expanding list of copies of WASI APIs, e.g. 0.2.0, 0.2.1, 0.2.2, .... If we take this as a goal, however, I don't think that we can solve problem (1) listed above because WIT itself doesn't retain a version number of when a symbol was first defined. Personally I don't think this matters too much in the sense that you would have to really go out of your way to create a component that imports 0.2.1 APIs at an 0.2.0 version and there's not necessarily a big consequence.
Additionally with adding a symbol to each semver range, if we take the above goal as one to pursue, I'm not sure how we would do that. I'm not sure how we could enumerate all the semver versions that a symbol was known at.
Otherwise though in terms of how the Linker type works you can think of it as a glorified component instance. You get to define exports and each export can itself be an instance with its own exports, so you end up with a tree-like structure where you defined all the names in the tree and the values at the leaves. So today add_to_linker is basically building the part of the tree with WASI names, for example.
The semver compat stuff at this point is currently all built where for each component instance in the tree there's a table in that instance of "if you're looking for something semver compatible with 0.2.X then go load import 0.2.3" (or whatever the max registered version is). That's what gives rise to the behavior of if you import timezones at 0.2.0 then you'll get a "hit" on timezones at 0.2.1.
I explain the Linker bits because one issue with the per-symbol versioning is that it's not quite the layer where versioning happens. At the component layer what's happening is that a component is importing a versioned instance from the host, but then in the instance there are no versions. For example<EMAIL_ADDRESS>has a version but get-environment does not have a version. This means that there's really a concept of per-symbol versioning but instead you can think of a version as applying to an entire subtree (e.g. an instance). With that if a function were added to an interface then given the above scheme I think it gets a bit tricky.

Speaking again at a high level in terms of requirements, I think another requirement we'd like to have is to avoid the need to have lots of "implement this one WASI proposal in terms of this other one". For example in Wasmtime we don't want to manually implement all of 0.2.0 in terms of 0.2.1.
Now in terms of trying to propose a solution instead of just critiquing them: the best I can think of is to maintain the last stable WASI release and the next draft we're supporting. This would then look like:

The wasmtime-wasi crate would only have generated bindings for the latest draft that Wasmtime supports, for example 0.2.1-draft or whatever rc/date combo is currently being used.
A new macro is added to generate an add_to_linker for the last stable release, e.g. 0.2.0.

This new macro only generates add_to_linker, no types.
This new macro defines names at the 0.2.0 version but uses the 0.2.1 traits to implement the types. If the 0.2.0 traits are actually semver-compatible this'll compile just fine.

In the CLI by default we call the 0.2.0-based add_to_linker. If a CLI flag is passed then the 0.2.1-draft-based version would be called as well. (note that this is in addition to, not as a replacement of)

Then as part of the ecosystem we'd have an optional feature perhaps on the wasi crate for enabling 0.2.1-draft (or maybe a prerelease of the crate itself? unsure.). That would generate bindings alongside the existing 0.2.0 ones perhaps in a submodule or similar (depends on the publication process of the crate itself I think).

I'll note though that my proposed idea does not solve (1), it leaves it as an open problem to be solved in the future, if at all

I'm going to close this as I think it was addressed by https://github.com/bytecodealliance/wasmtime/pull/7994 and the remaining bits are covered by https://github.com/bytecodealliance/wasmtime/issues/8395


OS X + bash-it issue

Error: Error: Command failed: /Users/andriytyurnikov/.bash_it/lib/helpers.bash: line 76: `bash-it': not a valid identifier
is not ISeqable
at Error ()
at cljs.core.seq (file:///Applications/LightTable.app/Contents/Resources/app.nw/core/node_modules/lighttable/bootstrap.js:2833:11)
at cljs.core.empty_QMARK_ (file:///Applications/LightTable.app/Contents/Resources/app.nw/core/node_modules/lighttable/bootstrap.js:3693:62)
at eval (file:///Applications/LightTable.app/Contents/Resources/app.nw/core/node_modules/lighttable/bootstrap.js:30095:32)
at ChildProcess.exithandler (child_process.js:641:7)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at Socket.eval (child_process.js:950:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.eval [as close] (net.js:466:12)

@ndr-qef any reason to keep this issue open?

ping?

Comment if this should be re-opened.


Kernel died on Jupyter notebooks tutorials

Hello, I have some troubles with Jupyter notebooks tutorial 3b and 3c, at some point I get this error (please see pic).
I restarted the kernel, logged out and logged in again, but it does not work.
Tutorials n. 1, 2 and 3a are ok. Still have to try the others.
Thanks

(url)

Are you using a large node for this work?

NB 03b needs a medium container, and NB 03c needs a large container. That is probably the cause of the kernel issue. @silviapietroni  let us know if using a large kernel works for you?
As a side note, I can see that in the Firefly tab, the "RSP TAP Search" has been clicked, the view navigated away from the image display, and is now on the Portal query interface. It's not wrong but NB 03b does not instruct users to do this so, just in case this is useful: click "Add Chart" and then "OK" in the pop up to resume interactions with the Firefly display.

Also just the "Cancel" near the bottom center should return the user to the original image display.

Dear Melissa and dear all, I've tried to click "Add Chart" and then "OK" in the pop up ma it does not work anyway (I receive the message in the picture, so no possibility to click on "cancel").
About the kernel: I'm running the notebooks on the portal and not on my laptop, don't know if this could answer to your question. So I do not know the dimension of the kernel, is there a way to verify that?
Best

Thank you very much, it works now! (both).
Just to be sure: this is the image I get from the NB 03b, in a new tab

Then do I have to close the issue?


Deploy sample wasm.

After updating file deploy.yml (My PR), we will merge the main branch into deploy branch.

Close as CI needs update.


AVS authentication on AVS 1.7 or 1.7.1

Hi,
In case where APP already has refresh token which was provided by a companion APP. How can I send the token to SQLiteCBLAuthDelegateStorage if that pointer does not exist in context of Sample APP anymore.
SQLiteCBLAuthDelegateStorage unique pointer is moved to CBLAuthDelegate object during AVS initialization and CBLAuthDelegate class does not provide a private method to setRefreshToken.
Thank you,
Juliano Ribeiro
Briefly summarize your issue:
Not able to send REFRESH token manually to SQLiteCBLAuthDelegateStorage to use companion APP authentication process.
Tell us about your environment:
AVS 1.7.1
Tell us what hardware you're using:

[X ] Other - tell us more: Embedded device

Tell us about your OS (Type & version):

[X ] Linux

Hi @julianorqti,
Thanks for pointing this out! We will track this feature request internally.

Thank you, please keep this thread up to date once you have a resolution for that.

Hi @julianorqti,
We have recently released a document that explains how one can implement the various authorization methods in the SDK:
https://github.com/alexa/avs-device-sdk/wiki/Authorizing-AVS-Device-SDK-Software-with-AVS. There is a section for authorization using the Companion App.

Thanks for the response. In our case we would like to enable authentication for both ways CBL and Companion APP. Is that possible? or AVS is expecting one or another?
I will check how to implement our own component for authentication to do that.
As to CBL reference implementation can you tell me for how long the code is valid? For example,  if device is turned on and keeps waiting for authentication for 3 hours. Will code provided by CBL during initialization still be valid?
Thank you
Juliano Ribeiro

Hi @julianorqti,
It is possible to provide both implementations in the same application - but you will need to pick one or the other when you start the authorization process, and you will need to re-authorize if you want to switch between methods (unless you have already authorized with the alternate method and cached the info needed to skip re-authorization with that method).
Does that make sense / help?
-SWH

@julianorqti
Have you solved this problem? I have the same needs as you.

Hi @scotthea-amazon ,
It makes sense., utt we are looking for a solution where both ways can be used on first boot. After that authentication will be kept forever or until user sing out.
To do that AVS SDK is missing a public method on CBLAuthDelegate  to call m_storage->setRefreshToken(refreshToken) from SampleApllication in case Authentication Token is obtained in a different way, for example companionAPP.
I understand that Amazon is trying to move on with CBL method only as a reference code, so in that case I will change SDK on my side to accommodate that.
Last question, in case of CBL method for how long id CODE receive valid? I noticed that CODE expires after a while and the only way to get another code is to restart application. Is there a way to request a new code, without having to kill application?
Thank you,
Juliano Ribeiro
@mmabluesky I think answer above solves your problem

Hi @julianorqti,
Regarding setRefreshToken(), the application code (i.e. SampleApp) specifies the storage implementation passed in to CBLAuthDelegate.  So, the application can access the setRefreshToken() method directly before CBLAuthDelegate::create().
That said, if you have authorized with a companion app, the refresh token you have created should only be used with a companion app specific implementation of the AuthDelegateInterface  (i.e. not CBLAuthDelegate).  Also, in the companion app authorization flow the companion app is not supposed to end up with a refresh token - that is acquired from LWA by the device.  This makes me wonder if I still do not understand what you are trying to accomplish.
If you have AuthDelegateInterface implementations available for both of the authorization methods you want to provide, then upon first boot you can choose between them, and once chosen provide an instance of the appropriate derivation of AuthDelegateInterface to DefaultClient.  Is there something preventing that?
Regarding expiring user codes, there is code in CBLAuthDelegate to detect that timeout and restart the authorization automatically without restarting the application.  The timeout is detected here:
https://github.com/alexa/avs-device-sdk/blob/v1.8/Authorization/CBLAuthDelegate/src/CBLAuthDelegate.cpp#L497
Have you exercised this scenario and not had it present a new code to the user?  If so you may have uncovered a bug, and we would like to get logs to see if we can figure out what went wrong.
Have a great weekend,
-SWH

I am closing this issue due to inactivity. Please feel free to re-open it if it has been closed in error.


Implements feature for issue #120

This time hopefully with the correct changes...

Coverage increased (+0.02%) to 92.117% when pulling 74160a7c248220e793e3d23416ec56c9f268f8b4 on SoftwareBuildService:feature/disallow-custom-rules into 106f19aa80e07eadd00058408025097f9cf2a049 on Pablissimo:master.

Does this actually have all the requisite commits? I see the new property, I see the change that logs if the new property disallowing custom rules is set but you don't seem to abort out of that method so you're still always loading them irrespective of the setting? I may have missed something, haven't downloaded to run it yet!

You were correct, after logging the fact the processing should be aborted.

Coverage increased (+0.06%) to 92.154% when pulling 443d4ce4c847b745cc27022ac8272db1ca5fae59 on SoftwareBuildService:feature/disallow-custom-rules into 106f19aa80e07eadd00058408025097f9cf2a049 on Pablissimo:master.


Feature/primary nav pt2

Sub nav in mobile primary nav
This PR adds the sub-navigation to the mobile. It was a bit more tricky than anticipated because we have a mixture of buttons and links in the top-level navigation, unlike the GOV design system site.
I decided to move the navigation to its own test file as it's a complicated component that should be tested for every page.
Previously it was tested in home.test.ts
I also had to add some additional filters to test if a root has a current collection.

Seems to work well from a quick try!
Small problem seen on Chrome on Android – both levels of link have a double underline:

(If the desktop site is requested the seconday nav is okay, so you can compare the styles – it think it was explicitly removing the underline.)


Invoke-DSCResource not loaded in Powershell 7 rc2

Steps to reproduce
Invoke-DSCResource seems not to be loaded when opening Powershell 7 rc2. If you type it in for the first time it will autocomplete, but fail. Then the second time it will not autocomplete any longer.
Invoke-DSCResource -?

Expected behavior
Show Help
NAME
    Invoke-DscResource

SYNTAX
    Invoke-DscResource [-Name] <string> [[-ModuleName] <ModuleSpecification>] [-Method] {Get | Set | Test} [-Property]
    <hashtable> [<CommonParameters>]

ALIASES
    None

REMARKS
    Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help.
        -- To download and install Help files for the module that includes this cmdlet, use Update-Help.

Actual behavior
The CmdLet is does not get recognized.
Invoke-DscResource: The term 'Invoke-DscResource' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Environment
Name                           Value
----                           -----
PSVersion                      7.0.0-rc.2
PSEdition                      Core
GitCommitId                    7.0.0-rc.2
OS                             Microsoft Windows 10.0.17134
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Experimental Features were not turned on. If anybody comes to this:
Get-ExperimentalFeature | Enable-ExperimentalFeature

Restart Powershell and you're good to go.


Regorganization of services and software folders

It seems that at some point the services/software/docker folders got all mixed up. In reality these should have been all one folder. Reorganized and merged all of the folders

Should be a pretty easy PR, however have a few questions about the docker-compose.yml

The current state of the repository has two folders: software and services. services has two old folders that should have been deleted (services/deployment and services/wireguard, both related to my initial stab at ansible). The services/docker folder contains all of @wang701's Kafka stuff. software contains these exact  same files, plus my oada_upload stuff.
Both software and services/docker had a docker_compose.yml so I merged them
@abalmos long answer to a short question I guess is that it's just a reorg deleting redundant copies of the Kafka stuff

I see. That's interesting (sorry I didn't look closer before). Maybe a bad merge brought software back? I renamed software to services in https://github.com/OATS-Group/isoblue-avena/commit/1bc068b470fbadcb54c101d7f31bec745d0af7b9
I am in favor of deleting software, services/deployment, services/wireguard, and services/docker. I also think all docker-compose.yml files that are not services/*/docker-compose.yml should go. I suspect docker-compose.yml in a service directory will be in support of automated testing -- we still need to decide what container orchestration will be used on Avena (Docker-compose, k8s, microk8s, k3s, kubeedge). However, I suspect testing will be done with compose for ease.

Agreed. Will split up the docker-compose.yml into each folder and push it tonight or tommorow after some testing
Looks like the command to run it will be docker-compose -f folder1/docker-compose.yml -f folder2/docker-compose.yml ... up which is pretty clunky but okay if it's just for testing I guess

Why not just docker-compose up ? I would expect each service to come with
a docker-compose that brings up whatever is needed to run automated tests
against it? These docker-compose files won't be useful in the real deploy
to Avena, at least that what the guy thinks.
For example: gps2tsdb should start a tsdb instance, gps2tsdb service, a
gpsd service. The test uses gpsd's simulator to send simulated GPS and then
checks the database.  Or at least something like that.
On Sun, Jul 12, 2020 at 11:22 AM Aaron Neustedter<EMAIL_ADDRESS>wrote:

Agreed. Will split up the docker-compose.yml into each folder and push it
tonight or tommorow after some testing
Looks like the command to run it will be docker-compose -f
folder1/docker-compose.yml -f folder2/docker-compose.yml ... up which is
pretty clunky but okay if it's just for testing I guess
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OATS-Group/isoblue-avena/pull/42#issuecomment-657236430,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAOHLBK62SXATH7TZEXY2HTR3HIJ3ANCNFSM4OXOH7AA
.

If you are in the services folder, docker-compose up will not work (it will fail to find a docker-compose.yml). If you cd in a certain service's directory, docker-compose up will work fine. This is okay if you are only running one service at a time but if you are doing multiple services at once (ex: gps2tsdb and postgres and oada_upload for a full GPS -> oada sync test), I believe you have to use -f to specify each docker-compose.yml file

I guess I'm expecting the docker compose file in a specific service to be
complete. It should bring up whatever container that it needs to have a
fully working flow.
On Sun, Jul 12, 2020, 6:48 PM Aaron Neustedter<EMAIL_ADDRESS>wrote:

If you are in the services folder, docker-compose up will not work (it
will fail to find a docker-compose.yml). If you cd in a certain service's
directory, docker-compose up will work fine. This is okay if you are only
running one service at a time but if you are doing multiple services at
once (ex: gps2tsdb and postgres and oada_upload for a full GPS -> oada
sync test), I believe you have to use -f to specify each
docker-compose.yml file
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OATS-Group/isoblue-avena/pull/42#issuecomment-657286732,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAOHLBLMOT6RLLCI2TSW55LR3I4TZANCNFSM4OXOH7AA
.

Split up docker-compose.yml into each folder.
@abalmos I didn't have one for gps2tsdb. Was that perhaps lost somewhere? Will continue to look but since you developed that maybe you can find or recreate it faster?


use route for global hub api.

ref: https://github.com/stolostron/backlog/issues/26230
Signed-off-by: morvencao<EMAIL_ADDRESS>

/retest

/test test-e2e

/lgtm

/lgtm


Check in sass files

Awesome work, man!
I will definitely use this in my projects, though I do have a question. I use SASS & Webpack and while the plugin works great when my code is compiled down to CSS, it does not work in development as the styles are taken directly from the sass files. Is there a way to check sass files as well as css? Thanks again!

Question is, how does your framework inject the generated css into the DOM? You need to hijack that process and let ElementQueries.init() run directly after it.
As alternative, we could try to detect newly added


nvidia-container-cli fails to enable Vulkan in containers

I'm using lxc with the mount hook that calls nvidia-container-cli, and it works for running nvidia-smi and opengl applications in the container. However, vulkan applications, including vulkaninfo, vkcube, and games, all fail. For example:

$ vulkaninfo
Cannot create Vulkan instance.
/build/vulkan-tools-_xrZWD/vulkan-tools-<IP_ADDRESS>+dfsg1/vulkaninfo/vulkaninfo.c:884: failed with VK_ERROR_INCOMPATIBLE_DRIVER

Digging a little deeper with strace, I found that /usr/share/vulkan/icd.d/nvidia_icd.json is missing in the container. When I manually exported it to the container's filesystem, I got a new error:

$ vulkaninfo
The NVIDIA driver was unable to open 'libnvidia-glvkspirv.so.430.14'.  This library is required at run time.
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 0.  Skipping ICD.
Cannot create Vulkan instance.
/build/vulkan-tools-_xrZWD/vulkan-tools-<IP_ADDRESS>+dfsg1/vulkaninfo/vulkaninfo.c:884: failed with VK_ERROR_INCOMPATIBLE_DRIVER

Following the trail of errors, I tried manually exporting /usr/lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.430.14 into the container. At that point, vulkan applications started working.
So, it looks like nvidia-container-cli and/or its libraries are failing to expose at least these files to the container:
/usr/share/vulkan/icd.d/nvidia_icd.json
/usr/lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.*
/usr/lib/i386-linux-gnu/libnvidia-glvkspirv.so.*
Can you folks please fix this?

Hello!
Vulkan isn't supported in containers yet. One of the reasons is we haven't discussed with someone familiar with Vulkan.
Ideally I would be interested in having some confirmation that this is the only thing we need to do to enable Vulkan in nvidia containers.

Oh? That's surprising, since Vulkan is listed under nvidia-container-runtime's supported driver capabilities. Would it not make sense to expose those files now even if they're officially unsupported, since they're part of the same driver package whose other files are already exposed, and since I can confirm that their presence makes things work?
In any case, thanks for the info. I suppose I'll have to continue mounting those three files manually until support is added here.

It'd be great if the common files could at least get added as that's causing issues for our users who use LXD containers to run steam and other games.
(As can be seen in the linked LXD issue)

@stgraber we've started working on this and are hoping to enable it in the next few weeks :)
cc @guptaNswati

@stgraber thats the goal. Right now I am trying to find all the needed deps across different versions, so that we can make it generic. One of the libs it needs is libnvidia_GLX.so that libnvidia-container already exposes if the graphics option is used but not others. And icd_loader comes from nvidia_utils package that also needs to be added.

Excellent, thanks for working on this!

Getting the same error as the OP with libnvidia-container-tools 1.0.0, in EL7 on ppc64le:
$ nvidia-container-cli --version
version: 1.0.0
...
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
$ nvidia-container-cli info
NVRM version:   418.87.00
CUDA version:   10.1
...

Looks like 'libnvidia-glvkspirv' isn't being picked up by nvidia-container-cli
$ nvidia-container-cli list | grep libnvidia-glvkspirv | wc -l
0

@stgraber I don't think we wrote on this thread but @guptaNswati created an image a while back:

https://gitlab.com/nvidia/container-images/vulkan
https://hub.docker.com/r/nvidia/vulkan

@qhaas PPC packages are outdated and haven't been updated in a while (due to the lack of an actual machine) we are targeting publishing some in the current month.


Safe creation process improvements

Related to #1668 and Closes #1832

[x] Safe creation. The loader looks redundant in the presence of illustration, illustration was created before our design guidelines: https://prnt.sc/txnfi6. We could use an animated gif to indicate progress. 'Back' button should be styled like on load Safe and previous creation screens. https://zpl.io/2jDppE6
[x] Safe creation success. 'Click below' text is not needed: https://prnt.sc/txni3w. Illustration doesn't match our guidelines. We could combine 'Click below' and 'Continue' into one 'Get started' button and update illustration. https://zpl.io/2pE00zr
[x] Remove Back Button from step 1 (Safe Creation Process)
[x] @nicosampler found a problem when a Safe is created: the input width isn't enough to show the address complete. The container width must be 100% https://zpl.io/VY3zA1e

Travis automatic deployment:
https://pr1935--safereact.review.gnosisdev.com/rinkeby/app

Travis automatic deployment:
https://pr1935--safereact.review.gnosisdev.com/rinkeby/app

Travis automatic deployment:
https://pr1935--safereact.review.gnosisdev.com/rinkeby/app

Travis automatic deployment:
https://pr1935--safereact.review.gnosisdev.com/rinkeby/app

Travis automatic deployment:
https://pr1935--safereact.review.gnosisdev.com/rinkeby/app

It's looking good just two things:

In this step, the back button should not be visible, we need the user to accept o reject the tx.

Once the user accepts the safe creation, we should hide the back button until the user accepts or reject the tx.

Travis automatic deployment:
https://pr1935--safereact.review.gnosisdev.com/rinkeby/app

The changes are done and it looks fine.
I'm not a big fan o extending the blocks all the way to the right margin, but the texts only reaching the middle of all the space available

@posthnikova what do you think about the comment I made.

@francovenica Looks good, let's not extend the line of text, too long lines are hard to read.

@posthnikova Would it be an option to reduce the card-width?

Please remove the sentence in the first step "Most importantly ...". Legal requested a while back that it only says "By continuing you consent to the terms of use and privacy policy." below the input field.

The sentence was removed.
We still have to decide what to do with the white space.

@lukasschor @posthnikova Could we have a definitive answer regarding this? we have to merge the ticket soon.

Hi @lukasschor, I adjusted the container a bit and made it a little narrower. Do you think it's OK?
cc @francovenica

Yes, looks good!

Looks good to me
The width of the 2nd step, that we discussed a lot, to show the full address looks good


🚑  (navbar)-fix navbar render on single child

#213
Status :
Ready

Description :
Navbar error on mobile view passing single child.

Related Issues :
List related Issues against other branches :
#213
Todos

[x] Tests

Codecov Report

Merging #214 into development will not change coverage.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           development    #214   +/-   ##
===========================================
  Coverage         78.4%   78.4%
===========================================
  Files               27      27
  Lines              838     838
===========================================
  Hits               657     657
  Misses             181     181

Impacted Files
Coverage Δ

src/navbar/index.js
83.33% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Azure Bastion cli extension

Related command
az network bastion --create
az network bastion --update
az network bastion --list
az network bastion --show
az network bastion --delete
Resource Provider
Microsoft.network/bastionHosts
Description of Feature or Work Requested
bastion az cli commands are part of cli repo, we want to move to our own extension
This will help us plan features and releases going forward.
Minimum API Version Required
2022-05-01
Swagger PR link / SDK link
https://github.com/Azure/azure-rest-api-specs-pr/pull/9564
Request Example
No response
Target Date
2023-01-01
Additional context
bastion az cli commands are part of cli repo, we want to move to our own extension rather than be a part of the cli repo.

route to service team since these Bastion related commands are owned by service

route to service team since these Bastion related commands are owned by service

This is a request from service team. They want us to help move the commands into extension.


docs(contributing and examples): minor spelling corrections

Noticed a couple of spelling errors when reading contribution doc. Fixed
these along with some other I found when running them through and editor.

There were the following issues with your Pull Request

Commit: 0d741761449deb674929a15b4b5375becdbeea15
Your commit message body contains a line that is longer than 72 characters

Guidelines are available at https://github.com/thestonefox/SteamVR_Unity_Toolkit

This message was auto-generated by https://gitcop.com

I've had to apply this fix in this PR https://github.com/thestonefox/VRTK/pull/729 to prevent merge conflicts


Change version "beta" to "rc"

RenovateBot considers that version "6.0.0-next.9" is higher than "6.0.0-beta.1"
and suggests update [ 6.0.0-beta.1 -> 6.0.0-next.9 ],
Angular uses "rc", so I think it would be a good alternative to use it here too

I thought that was a cache issue, we'll switch to RC within 1 or 2 weeks so I think its not a big issue for now.
Thanks for the suggestion :+1:!


Yadcf + Ghost reset button in IE

Hi everyone, i've been using yadcf for a long time now without any issues. It's a great plugin and i've never had an issue with it.
However, one of my coworker told me that the reset button in IE doesn't work.
The fact is i've disabled them on the website so i was very surprised to see them appear on his browser.
There seems to be a ghost reset button that only appears in IE as you can see by opening this example :  http://yadcf-showcase.appspot.com/server_side_source.html
If you open it on chrome or FF there's only the gray cross at the far right of every filter but if you open it in IE there's also an another cross that appears at the right of the search filed and that just clears the text without redraw.
I've browsed the web quite a long itme without finding anything at all on the subject.
I'm currently looking for a way to either disable or hide this ghost button in IE or keep it (i don't really mind) but in that case i'd like it to trigger a redraw when clicked.
Is there a way to do it ?
Is it a problem of IE version ?
Do i need to come back at night, uninstall IE from every computer, install chrome and replace chrome icon with IE's on the desktop ?
Thanks in advance,
Raug

Solved.
In case anyone faces the same problem :
This problem is not really a yadcf problem, in fact this ghost cross appears in every IE input.
I chose to supress it altogether by adding these few lines of css code at the end of my personal css file as seen in this thread : http://stackoverflow.com/questions/14007655/remove-ie10s-clear-field-x-button-on-certain-inputs

.someinput::-ms-clear {
  width : 0;
  height: 0;
}

You can also use the following
.someinput::-ms-clear {
    display: none;
}


OpenCL CNN

I think just missing it. I can fin cnn with NEON acceleration, is there example on CNN acclerated with OpenCL as well?

You have several options:

You can start from the NEON example and use the CL functions instead (They should have matching signatures)
You can use the Graph API: https://github.com/ARM-software/ComputeLibrary/blob/master/examples/graph_lenet.cpp
You can have a look at the tests: https://github.com/ARM-software/ComputeLibrary/blob/master/tests/networks/LeNet5Network.h

Closing issue. Reopen if needed.


Where can i find new version of Microsoft Teams room?

It says in the article that the new version of Microsoft Teams room is pushed out to Microsoft Store, where can i find them, Windows IoT dont have microsoft store included

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

ID: 1365f9b8-001c-daa7-592e-d88b9bb3a10e
Version Independent ID: ffba1b4d-1f19-4dac-0b55-053d98fe26b7
Content: Release notes - Microsoft Teams
Content Source: Teams/rooms/rooms-release-note.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@tness Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Update key_vault.tf

Describe your changes
Issue number
#000
Checklist before requesting a review

[ ] The pr title can be used to describe what this pr did in CHANGELOG.md file
[ ] I have executed pre-commit on my machine
[ ] I have passed pr-check on my machine

Thanks for your cooperation!

Thanks @rb-cloud-guru for opening this pr! Would you please give us a hint on why should we add this Read permission? Thanks!

I'm closing this pr since no response from the user. Please feel free to reopen it @rb-cloud-guru !


context.config() returns [ 'object Object' ] instead of the object when testing the app

Bug Report
Current Behavior
I am writing tests for my Github app which was built on Probot. Using nock to mock the http requests to github api.
To test whether my context.config() is returning correct config yml, I am returning sample-config.yml in fixtures directory as a reply in mock.
In index.test.js:
const configYml = fs.readFileSync(
  path.join(__dirname, "fixtures/sample-config.yml"),
);

const buf = Buffer.from(configYml)
const encodedConfigYml = buf.toString("base64");

const mock = nock("https://api.github.com")
       .get("/repos/test-owner/test-repo/contents/.github\%2Fissue-assigner.yml")
      .reply(200, {
        type: 'file',
        encoding: 'base64',
        size: encodedConfigYml.length,
        name: 'issue-assigner.yml',
        path: '.github/contents/.github/issue-assigner.yml',
        content: encodedConfigYml
      })

In config.js: (Trying to read the sent config json content):
const config = await context.config("issue-assigner.yml");
console.log(config);

Output:
[ 'object Object' ]

My sample-config.yml:
name: issue-assigner
assign-prompt: "@{name} claim"

Expected behavior/code
config.context() should have returned the object. But it is returning the [ 'object Object' ] when replied by mock. (in file src/utils/config.js)
const config = await context.config("issue-assigner.yml");
console.log("CONFIG ", config);

Output on npm test

Whereas when tested on real GitHub repo, it is returning the object perfectly.
My repo for referring full code: Repo
Environment

Probot version(s): v13.0.1
Node/npm version: Node v20.10.0/Npm v10.8.0
OS: Windows 11

Hi! This is not a bug in Probot, but https://github.com/Varun-Kolanu/issue-assigner/pull/2 should help you.


I am planning to implement Auto Validation

Related issue(but stale): #3167
I am planning to implement such feature.
Is your feature request related to a problem? Please describe.
Current auto validation rules is not enough.
Describe the solution you'd like
Imitating Gin's validator implementation.
There is a tag "binding", once you add that tag to the struct, when you call Bind()-like function(in go-zero, it is httpx.Parse()), it will automatically validate the struct's fields.
Gin underlying using the go-playground's validator, it has many validation rules, and also support custom validation rule.
Describe alternatives you've considered
Currently I have no alternatives for auto validation
Additional context
In Gin's implementation, the validation's interface has such function: Validate(obj any) error, and in go-zero, the validation interface's function is Validate() error, I not sure which I should use

reference:
func init() {
	uni := ut.New(zh.New())
	trans, _ := uni.GetTranslator("zh")

	v := validator.New()
	logx.Must(zh_translations.RegisterDefaultTranslations(v, trans))

	httpx.SetValidator(&validate{validate: v})
}

type validate struct {
	validate *validator.Validate
}

func (v *validate) Validate(r *http.Request, data any) error {
	return v.validate.StructCtx(r.Context(), data)
}

Is the code you provided a suggestion for implementation?
I noticed that there are two interface methods:

Validate(r *http.Request, data any) error in the httpx package.
Validate() error in the validation package.

I’m curious about why there are two different interfaces. Could you please explain?

Just choose one of the two
https://github.com/zeromicro/go-zero/blob/01bbc78baca219655b9618ca5b6df70c9662a29b/rest/httpx/requests.go#L55-L59

It may be necessary to verify the path or header content.
Show your code and discuss it further.

It may be necessary to verify the path or header content.

For a struct, you can use a tag to register validation rules:
type SignUpReq struct{
	Email string `json:"email" binding:"required,email"`
	Password string `json:"password" binding:"required,complexpassword"`
}

What would be the way to register a validation rule for path or header?

Show your code and discuss it further.

https://github.com/Linde7777/go-zero/tree/auto_validation/rest/httpx
I have finished the part of validating struct and the lazy initialization

It may be necessary to verify the path or header content.

For a struct, you can use a tag to register validation rules:
type SignUpReq struct{
	Email string `json:"email" binding:"required,email"`
	Password string `json:"password" binding:"required,complexpassword"`
}

But what would be the way to register a validation rule for path or header?

for example:
https://github.com/zeromicro/go-zero/blob/4a62d084a93fb50cb85ca62bc8620b041cdc1a4a/rest/httpx/requests_test.go#L509-L514

Show your code and discuss it further.

https://github.com/Linde7777/go-zero/tree/auto_validation/rest/httpx
I have finished the part of validating struct and the lazy initialization

Yes, you can.

https://github.com/zeromicro/go-zero/blob/4a62d084a93fb50cb85ca62bc8620b041cdc1a4a/rest/httpx/requests_test.go#L509-L514
It seems that the code you provide didn't answer "how to register validation rules for http.Request?"
For register validation rule of http.Request, I have figured out two method:
method 1: define the validation rule for http.Request in the struct
type SignUpReq struct{
	Email string `json:"email" binding:"required,email" rv:"xxrequestvalidationrule"`
	Password string `json:"password" binding:"required,complexpassword"`
}

The tag "rv" is for "Request Validation".
The user need to define the rule in the first field of struct.
method 2: using a middleware
We don't need to validate request in the interface Validator

go-zero provides validation.Validator interface and validator Validator to help users customize validation capabilities, you can choose according to the business background and personal preferences of the appropriate way to extend the validation capabilities.  There is no need to modify the go-zero source code.
validation.Validator :
https://github.com/zeromicro/go-zero/blob/4a62d084a93fb50cb85ca62bc8620b041cdc1a4a/core/validation/validator.go#L3-L7
validator:
https://github.com/zeromicro/go-zero/blob/4a62d084a93fb50cb85ca62bc8620b041cdc1a4a/rest/httpx/requests.go#L28
https://github.com/zeromicro/go-zero/blob/4a62d084a93fb50cb85ca62bc8620b041cdc1a4a/rest/httpx/requests.go#L126-L128
I hope this answer answers your initial question.

I got it, what about setting go-playground's validator as a default validator? I think many people would like to use it. The implementation will be lazy initialization.

Hello, I don't think it's necessary, because go-zero already provides the ability to extend validation. But you can launch a PR to allow more people to see your code to further discuss the need for a merger.

ok, thank you!


Disable keyboard navgiation by default on mobile devices

I recently run into a bug in my app, when the .remove() of a leaflet map was not called. Then the keyboard listeners where still capturing chars like "6" and "-" even when on the new screen an input field had the focus. Since those keydown events are prevented by leaflet to bubble up, the keys never reached the focused input field and users where unable to type in "6" and "-".
This bug only manifested itself on iOS 10. It did not happen on iOS 9 and Android. I guess they changed something in the may removed DOM nodes and events are handled.
I then wondered why the keyboard option defaults to true regardless of the device. How much sense does it make have keyboard handling enabled on mobile devices in the first place? Can this even be used without the softkeyboard being visible?
Since leaflet has mobile device checks for some rendering options would you accept a PR to default keyboard=false on mobile devices?

@pke I guess this is a simple matter of editing src/map/handler/Map.Keyboard.js and replacing
keyboard: true

with
keyboard: !L.Browser.mobile

Could you make a PR for that, and see if it solves your use case? I don't think we've got an iOS 10 device laying around to test this :-(

Sure, I can provide such PR.

Wouldn't it be better to properly fix so that the handlers are removed properly?
I'm not sure how exact the test for mobile actually is, but given the array of weird units out there, I'd be surprised if there isn't one with a hardware keyboard and the ability rotate the screen (which is a criteria for setting L.Browser.mobile).

@perliedman yes the source of the bug described was fixed by properly removing the map as a whole (which removes the listeners). But in favour of not wasting resources the keyboard listeners should not even be enabled on mobile devices.
L.Browser.mobile is sufficient for so many other places in leaflet, why not use it here also (as the default). If you experience issues with that on particular devices, one could always enable keyboard handling on this device. But the default is to disable it for all mobile devices.

@perliedman L.Browser.mobile relies on user-agent sniffing. And, at least in mobile chrome and mobile FFX, the end-user can hit an option called "request desktop site" which will just change the UA temporarily.
Also, when a map is remove()d:

L.Map._clearHandlers() is called
That calls this._handlers[i].disable()
That calls L.Map.KeyboardHandler.removeHooks()
That calls L.Map.KeyboardHandler._removeHooks()
That calls L.DomEvent.off(document, 'keydown', this._onKeyDown, this);

So I fail to see why the event handler for the document is not removed.
@pke I don't think that a keyboard event handler will be much overhead for a mobile browser, anyway. Are there any benchmarks about that?

@IvanSanchez I have no numbers to support my claim. Although I think less pollution with useless even listeners is not a bad thing.

Mobile devices can have keyboards. You can connect a bluetooth keyboard to an ipad as an example.
Not sure this would be a common use case however.

@IvanSanchez mobile mode will also always be enabled if window.orientation is defined: https://github.com/Leaflet/Leaflet/blob/master/src/core/Browser.js#L31, but also via user agent sniffing.
I think this is really an edge case and it probably doesn't matter what we do. My thinking is that if we change to disable keyboard on mobile, we will instead end up with another issue like "Keyboard doesn't work in browser X och platform Y".

@perliedman Maybe you are right. If its that difficult to detect a keyboard. Could I instead decide not even compile/include the keyboard plugin for my particular app where I don't want to have any keyboard support in leaflet. Just to reduce the apps deploy/runtime size

@pke not sure about keyboard support in particular, but things like that might be possible when we switch to ES6 modules and rollup, that could at least in theory remove code you don't use.


How to expand FAB horizontally instead of vertically?

I have a FAB button with 2 other FAB buttons inside.. Ho can I expand the horizontally? Thanks.

Hello,
Do you have any idea about how can we do this ? @peppe130

@ibrahim132 Hi, nope.

hi i know this is 2 years ago but i managed it here https://github.com/martipello/FloatingActionButton/edit/master/README.md


DOC: add literature reference for apply_inverse_cov

This PR adds a reference for the recently introduced apply_inverse_covfunction.
cc @agramfort

@larsoner I saw that some in some other places footcite has not been used either. While I'm at it shall I fix it in other places?
Also @larsoner @agramfort while this ref gives credit to the Sabbagh paper whose original research code went into the initial contribution, probably the idea of apply MNE operators to covariances may be older. If you are aware of other references that would deserve credit here I'd be very happy to add them here.

@larsoner I saw that some in some other places footcite has not been used either. While I'm at it shall I fix it in other places?

There are a lot of places it hasn't been updated, in general I update them in whatever function/file I happen to be working on at a given time.

@larsoner I saw that some in some other places footcite has not been used either. While I'm at it shall I fix it in other places?

There are a lot of places it hasn't been updated, in general I update them in whatever function/file I happen to be working on at a given time.

Ok I'll fix a few I saw jn the cov documentation

@larsoner @larsoner I have addressed your concerns and fixed a few more footcite cases on the fly.
I also dropped an e-mail to John Mosher to see if there is any important paper to be cited for the general idea of projecting the data cov, beyond this implementation that comes from our work with @DavidSabbagh

I think we do not necessarily have to wait for a reply from John Mosher.
Once we have more info, we can amend.
If you do not have other concerns @larsoner @drammock I'm happy to merge in principle.
I see some CI's have been failing. Do you think this is related to the changes proposed?

Looks like one Travis failure was a timeout when trying to download conda, and the other was a "total time exceeded" error which is probably not due to this PR. But the CircleCI failure is relevant:
/home/circleci/project/mne/cov.py:docstring of mne.compute_covariance:43: WARNING: Unknown target name: "1".

I have not heard from John Mosher yet. I suggest we move on and improve refs once we have new insights. Good to go from my end @larsoner @drammock

See @drammock's comment above:

/home/circleci/project/mne/cov.py:docstring of mne.compute_covariance:43: WARNING: Unknown target name: "1".

I think it's up on line 722

I think it's up on line 722

Oopsy. I did not have not fully digested the implications. Let me investigate.

@larsoner @drammock squashed commits and (hopefully) fixed the error.

Thanks @dengemann !


re-render swiper

Hi!
How can i re-render Swiper ( with Image childs)
Ths

Not enough description


[Feature] Move DECISIONLOG to main folder and document it's existence in README

Is there an existing feature request for this?

[X] I have searched the existing issues

Describe the Feature
Currently there is a DECISIONLOG within the models folder. However, this DECISIONLOG information is not documented in the README and can be hard to identify when reading through the use case of this data model.
We should move this file to the main folder and document in the in the README to ensure users are able to reference this document and use it to better understand how to leverage the ServiceNow data models.
Describe alternatives you've considered
Make no changes but then users are not aware that this documentation exists.
Are you interested in contributing this feature?

[ ] Yes.
[ ] Yes, but I will need assistance and will schedule time during your office hours for guidance.
[ ] No.

Anything else?
No response

Testing a comment on a closed issue.


Clang wrapper for Windows isn't working

These are some of the issues of our Clang wrapper for Windows:
% julia --compile=min -e 'using BinaryBuilderBase; BinaryBuilderBase.runshell(Platform("x86_64", "windows"))'
sandbox:${WORKSPACE} # echo 'int main(){return 0;}' | clang -x c -
clang-13: warning: argument unused during compilation: '--gcc-toolchain=/opt/x86_64-w64-mingw32' [-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-stdlib=libstdc++' [-Wunused-command-line-argument]
/opt/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/opt/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_eh
/opt/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/opt/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_eh
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
sandbox:${WORKSPACE} # echo -e '#include <limits>\nint main(){return 0;}' | clang -x c++ -
clang-13: warning: argument unused during compilation: '--gcc-toolchain=/opt/x86_64-w64-mingw32' [-Wunused-command-line-argument]
<stdin>:1:10: fatal error: 'limits' file not found
#include <limits>
         ^~~~~~~~
1 error generated.

We actually already do https://github.com/JuliaPackaging/BinaryBuilderBase.jl/blob/4b21cde2105830e287271c323d909b9ee8a64c5e/src/Runner.jl#L318-L319 to make Clang find the GCC toolchain, but it doesn't seem to be effective on Windows, maybe Clang expects a different tree structure, or maybe it's just ignored (why?), given the warning about the argument being unused.
I tried to address this issue in #247, but it's a horrible ad-hoc kludge.  I opened this issue because I feel like we should be able to make this work more nicely than putting a bunch of random -I... and -L... arguments.

I believe this is somewhat related to #262, where clang libdirs for arm-linux-musleabihf weren't set correctly (fixed by https://github.com/JuliaPackaging/Yggdrasil/pull/5387), but with the difference that here we also get the warning
clang-13: warning: argument unused during compilation: '--gcc-toolchain=/opt/x86_64-w64-mingw32' [-Wunused-command-line-argument]

which is rather suspicious (unless that's not supposed to be used with MinGW?)


Add nonblocking RNG trait

As discussed in #45, this is a nonblocking variant of an RNG interface.

You could take a hint from std::io::Read and have the function return the number of bytes written to the buffer to support RNG devices that can generate >1 byte at a time.
/// Pull some bytes from this source into the specified buffer,
/// returning how many bytes were read.
///
/// If an object needs to block for a read but cannot it will return
/// an `Err(nb::Error::WouldBlock)` return value.
///
/// If the return value of this method is `Ok(n)`, then it must be
/// guaranteed that `0 <= n <= buf.len()`. A nonzero `n` value
/// indicates that the buffer buf has been filled in with `n` bytes
/// of data from this source.
fn read(&mut self, buf: &mut [u8]) -> nb::Result<usize, Self::Error>

In fact, it seems like embedded-hal should include some sort of core Read and Write traits similar to the std::io ones, then RNG devices could just implement those instead of having to have their own dedicated traits.

Looking a bit wider, it seems https://github.com/rust-lang-nursery/rand is no_std compatible. I haven't looked into whether it is actually suitable for implementing on microcontrollers, but it seems like integrating that might be a good way to have embedded RNG's work better with the wider ecosystem.

fn read(&mut self, buf: &mut [u8]) -> nb::Result<usize, Self::Error>

Well, one could do this but would it be very user friendly? I have some doubts about that. If you need 3 bytes and only get 1 per call, what would you do? Slice'n'dice the buffer and call again until the 3 bytes are complete?

Looking a bit wider, it seems https://github.com/rust-lang-nursery/rand is no_std compatible. I haven't looked into whether it is actually suitable for implementing on microcontrollers, but it seems like integrating that might be a good way to have embedded RNG's work better with the wider ecosystem.

I'm using that and my proposed blocking version to seed it in an microbit crate example: https://github.com/therealprof/microbit/blob/master/examples/rng_hal_printrandserial.rs
And I fully agree that Read/Write implementations would be nice for some things, like Serial (as you can also see from the mentioned example 😉).

Well, one could do this but would it be very user friendly? I have some doubts about that. If you need 3 bytes and only get 1 per call, what would you do? Slice'n'dice the buffer and call again until the 3 bytes are complete?

Yep, but there could be more ergonomic APIs provided built on top of this low-level API. For example in the tokio ecosystem there is tokio_io::read_exact that will handle the slicing and re-invoking until you finish reading the buffer from a non-blocking std::io::Read and represents that as a single future.

Taking a look at the implementation of rand 0.5 (as of yet unreleased, but nearly release candidate) it definitely cannot support non-blocking RNG sources. It allows sources to return NotReady while they prepare, but isn't designed so that sources can return something like WouldBlock in between generating bytes. Once they're ready they need to be able to return a continuous stream of data.

@Nemo157 Not sure I follow. I definitely have no interest using rand backed directly from a TRNG on an MCU. The application would do little more than wait for more random bits to be spit out all the time. Those TRNGs are really more meant to seed a PRNG, maybe even continuously...

I was hoping it would be possible to use something like the ReseedingRng trait by providing a non-blocking RngCore implementation using hardware RNG as the reseeder. As I said above though, the rand crate just doesn't really support having a non-blocking RngCore implementation.
I guess what it could do is have an internal buffer that is filled via interrupts, then when a new seed is requested it's only returned if the buffer has been refilled enough. That seems a bit annoying to do though.

Yeah, but then again most of the non-blocking stuff is rather wasteful if you don't have a trigger.
Re reseeding the documentation even says:

Reseeding is never strictly necessary. Cryptographic PRNGs don't have a limited number of bytes they can output, or at least not a limit reachable in any practical way. There is no such thing as 'running out of entropy'.

So why not do it as I do and just seed the RNG once in a blocking fashion during initialisation with TRNG data and let that be?

So why not do it as I do and just seed the RNG once in a blocking fashion during initialisation with TRNG data and let that be?

For my usecase I want to be generating the seed in parallel to other setup tasks and some radio communication to minimize wake time. I think avoiding RngCore for the TRNG and having some non-blocking API like this is fine for that, then once the seed is ready I can just create a PRNG from that. So basically like you're doing, but with a non-blocking TRNG.

For comparison I've thrown up a quick implementation of an nb compatible Read trait and read_exact method: https://github.com/Nemo157/embedded-hal/compare/master...read-trait

@Nemo157 I'm happy to modify the trait interface if you think there'd be a cleaner way to go about it. I think I'm with @therealprof in that an unknown-till-return data size won't work very well. But what about taking a page out of the spi traits, and having a variable word-size, that matches the underlying RNG?
pub trait Read<Word> {
    type Error;

    fn read(&mut self) -> nb::Result<Word, Self::Error>;
}

@Nemo157 Regardless of what we discuss here, those seem like hugely valuable traits to have available -- especially if they're implemented for serial interfaces and the like

But what about taking a page out of the spi traits, and having a variable word-size, that matches the underlying RNG?
pub trait Read<Word> {
    type Error;

    fn read(&mut self) -> nb::Result<Word, Self::Error>;
}

First reaction, that could be really annoying if you use a library that requires an rng::Read<u8> but your system's HAL only provides rng::Read<u16>. There could be adaptor structs for transforming them, but that's a lot of boilerplate code.

Thinking about it some more, having the implementation on a non-u8 providing device simply store some state and shift out a byte at a time wouldn't be too bad (which, re-reading the blocking RNG PR I see you actually mentioned, https://github.com/japaric/embedded-hal/pull/45#issuecomment-370096314).
So, afterall I'm pretty happy with this implementation, and it should be pretty trivial to write an adaptor from this trait to a generic io::Read trait like I'm proposing.

Cool! I love the idea of adapters to io-esque Read/Write

pub trait Read<Word> {

You could have an Unsize<[u8]> bound on Word which basically means that Word is some array [u8; N]. Unsize is kind of a hack until we get proper const generics but with that in place it would be possible to provide a default implemantion of the blocking::Rng trait proposed in #45 on top of this trait:
warning untested; may contain errors
#![feature(unsize)]
#![no_std]

#[macro_use(block)]
extern crate nb;

use core::marker::Unsize;

pub trait Read {
    type Bytes: Unsize<[u8]>; // poor man's [u8; N]
    type Error;

    fn read(&mut self) -> nb::Result<Self::Bytes, Self::Error>;
}

mod blocking {
    pub trait ReadExact {
        type Error;

        fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Self::Error>;
    }

    mod read_exact {
        use core::cmp;

        pub trait Default {}

        impl<RNG, E> super::ReadExact for RNG
        where
            RNG: ::Read<Error = E> + Default,
        {
            type Error = E;

            fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), E> {
                let mut i = 0;
                while i < buf.len() {
                    let bytes = block!(self.read())?;
                    let slice: &[u8] = &bytes;

                    let n = cmp::min(slice.len(), buf.len() - i);
                    buf[i..i + n].copy_from_slice(&slice[..n]);
                    i += n;
                }

                Ok(())
            }
        }
    }
}

So an impl of this trait might look like the following?
impl rng::Read for SomeHardwareRng {
    type Bytes = [u8; 4];
    type Error = SomeError;

    // ...
}

It does seem like doing this otherwise would violate the "no stored state" aspect of nb::Result

So an impl of this trait might look like the following?

Yes

It does seem like doing this otherwise would violate the "no stored state" aspect of nb::Result

How so? Bytes is to be picked to match the number of random bytes the interface can generate "in one go", or rather it matches the internal buffer of the hardware interface. So the implementer doesn't have to store anything in the program state; it will always read out the whole RNG buffer.
This is no different than the Rng<Word> where Word = {u8,u16,u32} that was mentioned before; the difference is that [u8; N] is easier to copy into a bigger buffer (pool) in a generic fashion.

@japaric I think I was unclear in my comment before -- I was in fact saying that some of the previous suggestions (giving out a byte at a time, and holding onto the rest of the data) would violate the "no stored state" aspect, while your suggestion looks ergonomic while not doing so.
I like it; I'll update the pull request. Any objection to me amending/force pushing to this branch vs. adding another commit?

@austinglaser Thanks for updating the PR. As of the upcoming v0.2.0 release we are not going to add dependencies to unstable features because we want this crate to compile on the beta and stable channels.
Could you try replacing Unsized with GenericArray. japaric/l3gd20#4 should give you an idea of the required changes.

Totally! I'll try to get to this over the weekend.

@austinglaser Are you still interested in updating this PR?

Yes, though I'm not sure when I'll be able to get to it. My available free time has been quickly swallowed by other things.
With that said, the changes should be fairly minimal. I'll try to get it done within two weeks -- does that sound reasonable?

@austinglaser That sounds great, thank you. Take as much time as you need!

@therealprof Still around, still busy. I do still want to update this -- I'll try to make time soon™. Thanks for the ping to get this back on my radar

OK, I updated this to use GenericArray and be based off the current master. I'm going to take a stab at the default blocking implementation this evening or tomorrow!

Okay, so we need to decide how to go forward here. To recap: The current approached (based on feedback previously provided on this pull request) doesn't seem viable (see my comment). Now we need to decide which interface we want to go forward with.
The options:

Single-byte:

fn read(&mut self) -> nb::Result<u8, Self::Error>

Slice-based:

fn read(&mut self, buf: &mut [u8]) -> nb::Result<usize, Self::Error>

I prefer option 2, but I'm fine with option 1.
My reasons for preferring option 2:

It's simple, takes full advantage of hardware capabilities, and it's straight-forward to write a (blocking or non-blocking) read_all wrapper, that provides as many bytes as the user wants.

Any other views?

Any other views?

Slices seem to be the most versatile to me, although I'm not sure how an implementation would signal to the user how many bytes will be put into the buffer. Is that even necessary? Should the user have to check the length of the buffer after it's written to? I think I've seen some other Rust embedded APIs that return the number of bytes read/received/whatever like this:
let num_recvd = TheRandomThing::read(&mut buf);

which would make sense.

Thanks for the comment, @jamwaffles.

Slices seem to be the most versatile to me, although I'm not sure how an implementation would signal to the user how many bytes will be put into the buffer.

The method signature from my comment includes a usize return value, so it would work exactly as you proposed.

Is that even necessary? Should the user have to check the length of the buffer after it's written to?

It is necessary, as this is a non-blocking API which might not be able to fill the buffer in one call.
Aside: It might be nicer, if the method returned a slice with all the bytes written instead of a number. I'm not sure if that plays well with all use cases, however, and right now it would lead straight into lifetime hell anyway, I think (NLL should help with this though, once it arrives on stable). In any case, it's a topic for later.

The method signature from my comment includes a usize return value, so it would work exactly as you proposed.

Ah, I should've skimmed the PR more slowly. In that case, this looks fine to me :)

OK @hannobraun, I'm sold. The clincher is that a simple implementation of option 1 is easy to make in terms of option 2, and that option 2 makes it easier to take full advantage of the hardware.
Will try to update this PR again (and drop in the default blocking implementation while I'm at it) over the weekend.

OK @hannobraun, I'm sold. The clincher is that a simple implementation of option 1 is easy to make in terms of option 2, and that option 2 makes it easier to take full advantage of the hardware.
Will try to update this PR again (and drop in the default blocking implementation while I'm at it) over the weekend.

@austinglaser Any progress on this?

@hannobraun @Disasm Apologies for the year-late update, but this should be up-to-date based on all the discussions.
I removed the unproven gate on the rng mod, since that appears to be the pattern elsewhere. Please let me know if that was the wrong way to do it.

@austinglaser Thanks, this is great! Unfortunately, I no longer have the power to merge anything, so let's hope someone else will take a look soon :-)

It's lgtm.

@austinglaser sorry for the late response and thanks for the contribution! Could you apply the change above and add a CHANGELOG entry?

Added the changelog entry, and rebased on master

Thanks!
@therealprof could you review this?

bors r+


Update installation notes

Note config.py is a local module initialized from a copy of config.py.template.

@servilla Perhaps this is obvious and doesn't need to be listed with the installation notes, but thought I'd send a PR anyway.


Fix X offset not applied on IOS

Fix to match usage of 'start' instead of 'left', which apparently caused issue with application of offset on IOS (https://github.com/SrBrahma/react-native-shadow-2/issues/67)

@SrBrahma You get the chance to review this yet?

Yes, I need this fix too :D

Me too, looking forward! Thank you :)

Hi, I am sorry for the delay. I have been away from the programming but I am now coming back!
This should be fixed in 7.0.7. Please, do try it!
While I made this change slightly different in the code, I merged this so you show up as a contributor to the repo ;)

Thank you, works flawlessly now!


hpctoolkit: read in helper metric-db files

Correctly parse HPCToolkit data whether or not helper threads are used to
generate files

@bhatele Can you take a look at this PR to correctly handle helper data?

Oops, nice catch. Added the metric-db files and xml file back.


Add rule in pg_hba.conf to forbid self-replication

Hello,
Thanks for this role!
As explained in PAF's documentation you should add a rule in pg_hba.conf to forbid self-replication :

Moreover, if you rely on Pacemaker to move an IP resource on the node hosting the master role of PostgreSQL, make sure to add rules on the pg_hba.conf file of each instance to forbid self-replication.

Regards,

You're right.
Is it sufficient to forbid the localhost from connecting using the replication user?
Thanks.
Jan

Following quick start you should put the vip and the hostname :
host replication postgres <IP_ADDRESS>/32 reject
host replication postgres $(hostname -s) reject

Well, this means it cannot be generic and pg_hba.conf needs to be altered on every host on every sync. Do I understand it correctly?
That's complicates things quite a lot.

Humm I don't understand, you can put theses rules in all pg_hba.conf. You only have to change it when VIP address change.

The pg_hba.conf file gets replicated to all slaves. So it needs to be altered afterwards to reflect new $(hostname -s).

Therefore it applies also to resync of a failed master.

You are right.

How about this?
After initial basebackup, the pg_hba.conf is altered to forbid self replication.
And at the end of the role, a customized shell script is generated that can be used to do manual basebackup when needed. The script itself will take care of the fixing pg_hba.conf downloaded from the master.
I don't like half-automated things ;)
Jan


[WIP] Adding Qobject tests for simulators

Summary
This PR adds tests for simulators supporting Qobject. They compare remote execution with a local reference.

Put on hold until the ibmq_qasm_simulator inform about the Qobject support correctly (now is returning that Qobject is not supported).

I had to submit a PR against @delapuente's  branch as I did not have contributor access

What I propose we do:

_get_credentials returns a list of all discovered credentials.

If USE_ALTERNATE_ENV_CREDENTIALS is set:
- A list of credentials is populated from the environment variable IBMQ_CREDENTIALS. This
is a string of the form "url_1:token_1,url_2:token_2,...".

Rename requires_qe_credentials -> requires_ibm_experience
requires_ibm_experience  calls _get_credentials

Converts credentials to lists of urls and tokens
Calls decorated function with additional kwargs of urls and tokens.

requires_qe_access is  a decorator and its wrapper function is decorated by requires_ibm_access. requires_qe_access looks for the quantum experience credentials by its known url. If found it passes the quantum experience url and token as keyword arguments to the function it wraps.

Then to write tests that run over multiple backends I propose using a decorator as shown below:
def once_per_qobj_backend(test):
    """
    Test Qobj support on all backends claiming to support Qobj.
    This way VCR creates a single cassette for each test.
    """

    @requires_qe_access
    @functools.wraps(test)
    def _wrapper(self, *args, qe_tokens=None, qe_urls=None, **kwargs):

        for qe_token, qe_url in zip(qe_tokens, qe_urls):
            IBMQ.enable_account(qe_token, qe_url)
        for backend in IBMQ.backends():
            if not backend.configuration()['allow_q_object']:
                if backend.configuration()['simulator']:
                    test = slow_test(test)
                with self.subTest(backend=backend):
                    test(self, backend, *args, **kwargs)
    return _wrapper

This layout should:

Not change any existing tests that use requires_qe_access.
Allow multiple credentials to be passed to tests with minimal code duplication.
Allow VCR to track tests with multiple accounts.
Make writing of tests over multiple backends simple with the use of once_per_qobj_backend.

It will require:

Changing the environment variables from which the credentials are read.

I had to submit a PR against @delapuente's branch as I did not have contributor access

You should have access now.

For the reasons stated
I would not worry about VCR. VCR was introduced as an experimental feature that should accomodate our use-cases, not the other way around. Talk to @1ucian0 to see how we can improve the use of VCR to also enable a comfy way of doing multi-backend tests.

For some context and other issues with the proposed implementation, see https://github.com/delapuente/qiskit-terra/pull/17#pullrequestreview-162764005.
The requires_qe_access decorator uses the discovering credentials mechanism of IBMQ credentials so changing the environment variables names would effectively change the IBMQ provider API.
Since this is only to stress our backends and it is unlikely that regular users will ever run this test suite, I would put special effort into avoiding this test-specific change bleeds to the public API.
If you're worried about code repetition, here is a proposal that implements both decorators without repeating code:
def requires_qe_access(func):

    @_online_test
    @functools.wraps(func)
    def _wrapper(self, *args, **kwargs):
        credentials = _get_credentials(self, TEST_OPTIONS)
        self.using_ibmq_credentials = credentials.is_ibmq()
        kwargs.update({'qe_token': credentials.token, 'qe_url': credentials.url})
        return func(self, *args, **kwargs)

    return _wrapper

def require_multiple_credentials(func):
    """Parses IBMQ_CREDENTIALS and passes it to the tests as a list of
    tuples (url, token)."""

    @_online_test
    @functools.wraps(func)
    def _wrapper(self, *args, **kwargs):
        credentials = os.getenv('IBMQ_CREDENTIALS', '')
        credentials = [
            entry.split(':') for entry in credentials.split(',')] if credentials else []
        kwargs.update({'credentials': credentials})
        return func(self, *args, **kwargs)

    return _wrapper

def _online_test(func):

    @functools.wraps(func)
    def _wrapper(self):
        if TEST_OPTIONS['skip_online']:
            raise unittest.SkipTest('Skipping online tests')

        decorated_func = func
        if TEST_OPTIONS['rec'] or TEST_OPTIONS['mock_online']:
            # For recording or for replaying existing cassettes, the test should be decorated with
            # use_cassette.
            decorated_func = VCR.use_cassette()(decorated_func)

        return decorated_func(self)

    return _wrapper

I would not worry about VCR. VCR was introduced as an experimental feature that should accomodate our use-cases, not the other way around. Talk to @1ucian0 to see how we can improve the use of VCR to also enable a comfy way of doing multi-backend tests.
Perhaps the testing environment requires a broader rethink and this can be part of it but without previous discussion, it is hard to know what we need and I'll try not to introduce a lot of changes with this PR. As explained in the review, this use-case, in particular, seems very specific to me to justify a change in our testing infrastructure.
I would ask for a second opinion here, @diego-plan9 do you mind to take a look and share your thoughts about the implementation?

Without being fully up to date with the inner-most details, looking at the issue from a general point of view  I also think @delapuente's last comment proposes a more sensible trade-off than the proposal at https://github.com/delapuente/qiskit-terra/pull/17.
I think it boils down to weighing how "central" the tests on this PR are compared to the rest of the test suite, and if I'm reading it correctly, they do seem to conform to a very specific use case (specially if they are to be marked as slow tests and mostly used as a mechanism for "manually" controlling the adoption of qobj by the backends) and maybe short-lived depending on the strategy (ie. ideally, we would reach a stage where all backends support qobj, so the rest of the tests take over).
If that is the case, I think updating the general test "api" ("api" might be too big a word here) and as a result transferring the complexity to the rest of the test writers and maintainers seems too taxing - I would indeed recommend being conservative: treat them as a special case via a custom decorator trying to minimize the impact on the rest of the tests, and if eventually we see the need for evolving the test suite, reevaluate the decision. Would that make sense? Actually pinging @ajavadia as he has been more involved in this particular issue.

Let me clarify the purpose of these tests a bit. They are meant for checking the functionality of the experiments. They will continue to exist in some form or another (eventually in the IBMQProvider standalone repo). The experiment-side codes continually change (in the near term for supporting qobj, and for other features in the long run). We need integration tests that exercise different circuits on different IBMQ devices.
So I modify my original statement. This is more than just testing qobj. We need tests that run on every device once (but don't duplicate if a single device is accessible through multiple accounts). Currently we do not have such a test. I would actually put it in test/python/ibmq/test_ibmq_devices.py.
Since these tests will soon live in another repo, I agree with a minimally invasive approach that doesn't change Terra's tests much. If a custom decorator achieves this, then great.

Just a friendly ping. Is this still a WIP?

@taalexander please, do you mind to fix the style problem?

test/python/ibmq/test_ibmq_qobj.py:61:1: E302 expected 2 blank lines, found 1
make[3]: *** [style] Error 1
make[2]: *** [CMakeFiles/style.dir/all] Error 2
make[1]: *** [CMakeFiles/style.dir/rule] Error 2
make: *** [style] Error 2
The command "make style VERBOSE="" && make lint VERBOSE=""" exited with 2.

This is blocking on #1279

This looks great to me but I can not approve the PR because I open the PR. Can someone else do it for me once #1279 is done? @diego-plan9, @atilag?

@ajavadia I fixed the names myself. Would you mind to try the branch locally, with a list of valid credentials, and grant the r+ if everything is OK? I don't have any further comments.

I will revisit this after #1279 where we can process hex results.

Removing the on hold label. Once @taalexander pushes his changes and confirms that everything passes, we can finally merge.


Could not find booster-task-resource-deredundancy.jar

Please provide the following informations.

System version win10

Java version 1.8.0_60

Gradle version  gradle-5.4.1-all.zip

Android Gradle plugin version  com.android.tools.build:gradle:3.5.0

Booster version  4.3.0

Stack traces

Could not resolve all artifacts for configuration ':classpath'.

Could not find booster-task-resource-deredundancy.jar (com.didiglobal.booster:booster-task-resource-deredundancy:4.3.0).
Searched in the following locations:
https://maven.aliyun.com/repository/jcenter/com/didiglobal/booster/booster-task-resource-deredundancy/4.3.0/booster-task-resource-deredundancy-4.3.0.jar
Could not find booster-aapt2.jar (com.didiglobal.booster:booster-aapt2:4.3.0).
Searched in the following locations:
https://maven.aliyun.com/repository/jcenter/com/didiglobal/booster/booster-aapt2/4.3.0/booster-aapt2-4.3.0.jar

Possible solution:

Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

please use mavenCentral()


Libra submodule configured with ssh access

As per the title, being both projects (this and Libra) public repositories I believe it would make more sense to use HTTP access to link LIbra as submodule.

could you be more specific? I don't understand your request.

this should point to the https URL of the repository, IMHO.
Otherwise, developers need to have an ssh-key configured in GitHub and loaded in their ssh-agent to be able to fetch the submodule.

thanks, will updated

resolved by https://github.com/libra/libra-client-sdk-go/pull/30


Add status indicators tray to top bar

The indicator is nice, but it's not ideal from a troubleshooting point of view. If the focus is on a select element and the user is wondering why there's no sound they're left in the dark unless they saw the indicator before and remember what it said.
The indicator is less useful on mobile as most smart phones don't have a physical keyboard. I would hide it on small screens.

Requested changes deferred to #299


.Net: Update JsonSchemaMapper to incorporate the .NET 9 shim

Updates JsonSchemaMapper to include the changes from https://github.com/eiriktsarpalis/stj-schema-mapper/pull/5. The changes reimplement the component as a shim over the built-in schema exporter available in System.Text.Json v9, for targets that support it. This should give SK built-in schema generation for free simply by upgrading its dependencies to STJ version 9.0.x once generally available.
cc @stephentoub @markwallace-microsoft

@eiriktsarpalis Thanks for creating this PR. I plan to get it merged next week.


Shows generator proposal for LLMs (#19)

This PR shows the before and after code of the API we're proposing to support:

def data_set() -> Parallel[ TYPE]:
def data_set() -> Sequential[ TYPE]:  (not shown in this PR)
def results(parsed_data: Collect[TYPE]) -> ...

This effectively removes "for loops" from "batch" functions, in favor of having the framework handle this.
Problem this addresses
If you have a list of things to parse/hit an API with. You end up needing a for-loop to do it. This means that the internals of the function can become complex and hard to test.
Changes

changes to LLM KR example

How I tested this

N/A

Notes

This PR is for demonstration purposes.

This has been implemented I believe. So no need for this PR.


billing - STRIPE - Delete payent method

Add the ability to delete a payment method to the mobile app.

Do it using the new endpoints (which are already used by the dashboard)
So far the dashboard only activated the "delete" button when the PM is not the default one. From a legal perspective this is not correct. The end-user should be allowed to detach/delete the default PM as well. This is maybe not possible today (some changes back-end side might be necessary to support it).

Zenhub bug! - Issue created twice - closing this one


bug: open two vscode editor automatically

VSCode Version: 1.9.1
OS Version: win7 64bit

when i just select the file and right click it, and select the item "open with code". it is confused that it open two or even more vscode editor at the same time.

@linhaiwei123 can you share a screenshot how it looks like?


How to make it to support conversation memories?

I followed the example from readme but i found that the chat didn't remember the previous conversation, how should I do it?

Hi @eric2788 , I don't believe that functionality exists by itself in the current gpt-3 APIs.
If you are referencing the way that ChatGPT works and remembers previous comments, I believe that is specific behavior to ChatGPT which is built on top of gpt-3, but not just purely using gpt-3 APIs
One way to achieve this type of behavior would be using "prompt engineering" and pass some of the previous inputs/outputs at the start of your prompt to give it some "memory", but this would be outside of the scope of this library which is meant to just be a Go interface to the APIs, so I will close this issue. Although if you are referencing something else that you can do with the API or playground but doesn't work here, then feel free to reopen.

I have already found that kind of library, thank you anyways


AP-1616 Make continue link styled as button accessible

What
Link to story
On application_confirmations/show.html.erb, the 'Back to your application' link has been styled as a button but does not have a role of button assigned or a keyboard event handler to allow keyboard-only users to activate the element with the space bar.
This change adds a role of button to the link and create an event handler to allow a user to activate the button with the space bar.
It also fixes a couple of issues with the similar event handler for start buttons,

an error is firing an error on all pages where there is no start button. Fix this by adding a check for nulls
the default space bar behaviour of scrolling is firing when a user uses the keyboard to activate the button, which looks a bit strange. Add a preventDefault to stop this happening

Checklist
Before you ask people to review this PR:

[x] Tests and rubocop should be passing: bundle exec rake
[x] Github should not be reporting conflicts; you should have recently run git rebase master.
[x] There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
[x] The PR description should say what you changed and why, with a link to the JIRA story.
[x] You should have looked at the diff against master and ensured that nothing unexpected is included in your changes.
[x] You should have checked that the commit messages say why the change was made.

I knew someone was going to mention that @colinbruce 😁 I did try to DRY them out earlier but my javascript skills possibly aren't good enough and I couldn't get it to work properly...
I might hold off merging this for now and take another look at it later.

I really don't think it's that urgent.  It's a minor code smell and something that a FE dev will fix in two minutes rather than us sweating and swearing over it!

Ok, I'm going to put it into UAT and let our mythical FE dev fix it instead 🦄


Nevergrad Installation Failure - Option 1

Project Robyn
Describe issue
Describe your issue and provide warnings and error messages.
Provide reproducible example
Issues are often related to custom input data that is difficult to debug without. If necessary, please modify your data to mask real values and share a dataset that is able to reproduce the issue. Please also share your model configuration and exported JSON files if available.
Environment & Robyn version
Make sure you're using the latest Robyn version before you post an issue.

Check and share Robyn version: packageVersion("Robyn")
R version (Please, check and share: sessionInfo() or R.version$version.string)

=================
packageVersion("Robyn") - ‘3.9.0’
R.version$version.string - "R version 4.2.1 (2022-06-23 ucrt)"
Hello!
My team is having trouble in installing nevergrad to be able to run Robyn.
Used nevergrad installation via PIP (option 1) lifted from the site:

there was an error regarding what python path to use, Then I used the path "C:/Users/johaloda/Documents/.virtualenvs/r-reticulate/Scripts/python.exe")

Another error saying that the module can't be found,
Downloaded and installed Python, then i used another path where the python.exe is located in "C:/Program Files/Python39"

Is nevergrad successfully installed? But numpy says [NOT FOUND]. just in case I run Robyn (Demo.R) (which i will save, rename, and attach later). The below issue where shown where nevergrad wasn't successfully installed:

Then I restarted R and then ran the second part in the installation guide, this happens:

same as the first part where numpy was not found
I still reran the Robyn program, it still says to install nevergrad.
Please advise on what to do or what I may be doing wrong?
Thank you

I can't seem to upload *.R file :(

Closing this task now. Feel free to reach back anytime.


filter_temporal - Adapting to meteorology use cases

A user often want to filter at two or more dimensions. Example: a user wants to filter a specific bounding box / polygon and the time dimension.
Two examples from meteorology, with datasets with 4 or more dimensions:

Example: forecast dataset with 4 dimensions: lat, lon, time, forecast step*
A user might be interested in retrieving a subselection of the forecast steps (e.g. hour 240 to 360) for a specific forecast run time

*Forecast step means the number of hours / days the forecast is valid for, e.g. 6 hours in advance

Example: forecast dataset with 5 dimensions: lat, lon, time, forecast step, ensemble member
A user would like to get for one specific forecast run time a subselection fo the forecast steps and ensemble members

**Ensemble member: In order to make the forecast more accurate, the forecast is run 51 times with different initial conditions. The spread of the 51 forecast members gives a more detailed picture of the “realiability” of the forecast

Thanks for porting this over from our discussion. Here's also my ported response:
It is not a problem to filter by multiple dimensions if the conditions are combined with "and". In this case it's simply a sequence of filters applied after each other. Simple "or" conditions could be achieved by two filters and a merge of two data cubes. If you have a whole list of criteria to filter on that feels a bit too cumbersome though.
We need to check whether the filters allow to achieve the examples. For examples, we don't have date/time operations on the back-end yet and expect that the clients generate intervals for aggregate_temporal (or use multiple filter_temporal). If aggregate_temporal works well with client libraries, we may just extend filter_temporal to also passing more then one interval. Or we need specific processes for date/time handling, but that's often quite complex (see how many functions any major date/time library has).

Discussed today a bit on the den meeting: We have aggregate_temporal_period, which is quite similar and could be used as a start for a filter_temporal_period. Nevertheless, we figured out that most use cases only really need the aggregate process at the moment and a filter variant of that is not so important at the moment, so pushing to "future work".


Centaur redirecting to wrong place

centaur keeps redirect to /dashboard when it's suppose to be redirecting to /admin. What should i change?

Hello!   Sorry I missed this.   Once you have published the controllers you should be able to specify where you want the redirection to go.   Were you able to solve the problem?

Yes i was. I created an alternative guest middleware


[poly2tri] Fix consuming the library due to incorrectly encoded header

sweep.h was in ANSI codepage and some characters were illegal in utf-8
Actual build error when building assimp 5.1.1:
sweep.h(1): error C2220: the following warning is treated as an error
sweep.h(1): warning C4828: The file contains a character starting at offset 0x773 that is illegal in the current source character set (codepage 65001).
sweep.h(1): warning C4828: The file contains a character starting at offset 0x776 that is illegal in the current source character set (codepage 65001).

Tested build with x86-windows and x64-linux.

Since the replacement also contains mojibake would it be a good idea to remove the name entirely (leaving 'Thomas' and the email address?)

I sent the original author this message and want to give them a bit of time to respond before landing this. If we get no response in 1.5 weeks we should merge this as is.

I got a reply OK-ing removing the surname.

@BillyONeal about that mojibake, I think it was misinterpreted by github. New line in diff looks fine if opened as UTF8. Still, I prefer your change, thanks!

@BillyONeal about that mojibake, I think it was misinterpreted by github. New line in diff looks fine if opened as UTF8. Still, I prefer your change, thanks!

Right, but compilers are likely to not assume UTF-8 :/

Thanks for the fix!


allows to defined deferent routes for GET, POST, PUT and DELETE

cc @juanignaciosl

Frontend tests were OK :+1: (details)

cc @viddo please, take a look

Code wise looks ok I guess, something in particular you want me to review?

I've added a couple of comments, and it will collide with #3194 because of function change.

Frontend tests were OK :+1: (details)


CAMEL-8578 - May double encode uri when using HTTP_URI or HTTP_QUERY

HTTPHelper#createURI now uses raw queries instead of encoding them with UnsafeCharacterEncoder.
Queries should already be in encoded form so no encoding is needed.

Thanks for this PR. Do you mind checking if the same problem is in camel-http4, and if so create a new PR for that?

If you run the tests of camel-jetty9 you get 2 errors now due this change
Failed tests:
  HttpProducerQueryParamTest.testQueryParametersWithHeader:57->Assert.assertEquals:144->Assert.assertEquals:118->Assert.failNotEquals:743->Assert.fail:88 expected:<Bye World> but was:<null>
  JettyHttpProducerQueryParamTest.testQueryParametersWithHeader:70->Assert.assertEquals:144->Assert.assertEquals:118->Assert.failNotEquals:743->Assert.fail:88 expected:<Bye World> but was:<null>

Tests run: 304, Failures: 2, Errors: 0, Skipped: 9

It may be that the unit test needs to be adjusted as well.

Those failed tests in camel-jetty9 seems to assume that Exchange.HTTP_QUERY parameter for the HTTP-component will be URL encoded by the HTTP component. So tests can set
 exchange.getIn().setHeader(Exchange.HTTP_QUERY, "quote=Camel rocks");

Documentation (http://camel.apache.org/http.html) says
Exhange.HTTP_QUERY =  "URI parameters. Will override existing URI parameters set directly on the endpoint.". It is unclear what encoding of the Exhange.HTTP_QUERY should be.
Current master branch of HTTP component encodes HTTP_QUERY in some extent, but not completely.
for example if  HTTP_QUERY = "a=&"
"&" is not encoded by UnsafeUriCharactersEncoder with unsafeCharacters="unsafeCharactersHttp",
so the result is "a=&"(should be "a=%26")
If HTTP_QUERY = "a= " result will be "a=%20".
I can change so that Exchange.HTTP_QUERY will be encoded as before.

Now query parameters given in Exchange.HTTP_URI will not be first decoded by java.net.URI and then encoded with UnsafeUriCharactersEncoder which doesn't support UTF-8(thus causing the problem with euro character).
Camel jetty* tests now pass.

Thanks for this PR and your continued work. The code has been merged do you mind closing this.
And you are welcome to look at camel-http4 and work on a similar fix and create a new PR.

Thanks. I'll check that camel-http4.


[BUG] default wash context not respected in windows?

Describe the bug
A new test may have exposed a bug in windows where the default context is not correctly written/read. We should ensure all
To Reproduce
Steps to reproduce the behavior:

On windows, remove the #[cfg(not(target_family = "windows"))] from test_lattice_prefix
Run cargo test test_lattice_prefix and notice the test fails on the last assert

Expected behavior
Writing to/reading from the default context should work on windows
Additional context
See the failed test output in CI here: https://github.com/wasmCloud/wasmCloud/actions/runs/6791345626/job/18462674072

I would like to start working on this.

That sounds great @rimbi ! Assigned to you for now to avoid duplicate efforts

I don't have the proper windows env. I am stopping working on this issue.

No problem @rimbi thanks for taking a look 👍🏻


LocalGit Deployment to Azure Functions app (Linux Consumption Plan) fails

Repro steps:

Create an Azure Functions App (Python, Linux Consumption Plan)
Configure it for LocalGit deployment
Try to deploy using VSCode

Action: azureFunctions.deploy
Error type: Error
Error Message: fatal: repository 'https://$foo-functions:***@foo-functions.scm.azurewebsites.net:443/foo-functions.git/' not found
Version: 0.18.0
OS: darwin
Product: Visual Studio Code
Product Version: 1.37.1
Language: en

Call Stack
Object.<anonymous> extension.bundle.js:331:354725
a extension.bundle.js:331:354365

@rcarmo yeah I'm honestly not sure if Linux Consumption supports local git deployment

Yeah the portal doesn't even let you change deployment type to local git. We should probably just create a better error message for this until Azure supports it


🎮 Game Request
tambola/bingo is a very popular game played in multiple countries in which each player is given a ticket with x random numbers, theres 1 person called the 'caller' who is supposed to say random numbers in each round. every player who has the number that the caller has announced is supposed to strike that number off their tickets. the first person who strikes all of his numbers down wins. my code will do the same and instead turn it into a virtual game.
Point down the features
Game points

one feature will be dedicated to generating tickets for each player with x digits
and one feature will be the "caller" and generate random numbers in each round
there will be another feature that would record the score board of each player

Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @barkhaaroraa !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hello @barkhaaroraa, Time's Uppp!⏰
Sorry for closing your issue!
But it's more than a week since we haven't received anything from your side 😢 .
Come up with new ideas, create a new issue and make sure you finish it within a week! 🔥
All the best! 🚀
Happy Hacking! 💗

Hey @barkhaaroraa ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


How can I install this without Composer?

Composer isn't available to me and our ITS department won't install it. I've uploaded all the files to the server but I don't know which ones to include in my script.
Thanks!

@iamdave210 that's sad to hear...
But installing it without composer is easy as well (this works for all composer based packages the same, if they can be used standalone)
You just need to define a custom autoloader http://php.net/manual/en/function.spl-autoload-register.php
The Namespace you find here https://github.com/WhichBrowser/Parser/blob/master/composer.json#L23

Running this library without Composer is unsupported, but you could try including the bootstrap.php file.


Timestamps (again)

Tricky topic. So, I realized that probably a lot of people run their instruments on e.g. EST, Eastern time zone -0500 without any adjustment for daylight savings. This means that when we convert to "America/New_York" (i) some illegal times (during the daylight savings change) are dropped, (ii) the daylight savings season timestamps are an hour off. Ugh.
The easiest fix here is to register the instrument as in e.g. "America/Jamaica", which is -0500 with no d.s. adjustment, and convert to "America/New_York". The only downside is it may be confusing to casual readers of the DESCRIPTION file.

Scott datasets have lots of invalid timestamps.

csr_table(all_data, "diagnostics") %>%
 select(CSR_DATASET, CSR_RECORDS_REMOVED_TIMESTAMP, CSR_EXAMPLE_BAD_TIMESTAMPS) %>%
 print(x, n=50)


Implement autocomplete

OK this is not perfect but I would like a review for what was already done if possible.
I am also a bit tired at the moment so maybe there's something horribly wrong, I don't know.
What is missing:

Automatic autocomplete (you have to press tab right now)
Autocomplete on commands in the active directory

It works like this:

Press tab to enter autocomplete mode
Press tab again to cycle to the next suggestion
Press right to accept it and leave autocomplete mode
Press left to leave autocomplete mode (without accepting the suggestion)

I made the required corrections and implemented the following things:

Autocomplete on commands from the active directory
You can now accept an autocomplete suggestion with the return key (in addition to the right key), and refuse an autocomplete suggestion with the backspace key or delete key (in addition to the left key)