Update outlook-quickstart.md

Use the same name 'John Doe' as in the other examples, less confusing than 'Northwind Traders'.

Docs Build status updates of commit 6ee878b:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

docs/develop/referencing-the-javascript-api-for-office-library-from-its-cdn.md
:x:Error

Details

docs/develop/referencing-the-javascript-api-for-office-library-from-its-cdn.md

[Error-include-not-found] Invalid include link: '../../includes/using-preview-apis-host.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@doterik Thanks for making this change! We'll merge it soon.
Thanks.

Docs Build status updates of commit 77f4bd7:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

docs/develop/referencing-the-javascript-api-for-office-library-from-its-cdn.md
:x:Error

Details

docs/develop/referencing-the-javascript-api-for-office-library-from-its-cdn.md

[Error-include-not-found] Invalid include link: '../../includes/using-preview-apis-host.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Adjust random variable bias strength

The random seed bias is adjusted to be in range (-100, 100).
Fixes  #2480

@shaomeng I'm not sure how your weighting algorithm works, but I'm still not able get the desired results. See the attached images generated with VAPOR2 and VAPOR3, both of which have set the bias to the maximum.
VAPOR2:

VAPOR3:

@shaomeng I'm not sure how your weighting algorithm works, but I'm still not able get the desired results. See the attached images generated with VAPOR2 and VAPOR3, both of which have set the bias to the maximum.

@clyne  It works this way:

when you specify a number of seeds to generate (say 50) and a bias strength (say 100), then there will be 50 x 100 = 5000 random locations generated in the entire domain. Note that these 5K locations are uniform in the domain.
Then each of these 5K locations are assigned a weight based on the selected weight variable, and they're sorted based on their weight.
In the sorted location list, either the first 50 or the last 50 locations are used as seeds to generate flow lines.

VAPOR2:

VAPOR3:

VAPOR2:
VAPOR3:

I used sphere rendering to only render the seeds but not actual stream lines, and then got the following images. It's a Leigh Orf tornado data.

@shaomeng I'd forgotten that the range of the slider could be adjusted by right clicking on it. Once I cranked it up to 100,000 I got results similar to VAPOR2. The good news is that it can be made to work. The bad news is that from a usability standpoint having to fiddle around so much with the slider control is pretty onerous for such a common use case. I'd suggest applying a multiplier so that small changes with the slider have a more visible impact (as opposed to say changing the default maximum value of the slider to 100,000 :-)

@shaomeng I'd forgotten that the range of the slider could be adjusted by right clicking on it. Once I cranked it up to 100,000 I got results similar to VAPOR2. The good news is that it can be made to work. The bad news is that from a usability standpoint having to fiddle around so much with the slider control is pretty onerous for such a common use case. I'd suggest applying a multiplier so that small changes with the slider have a more visible impact (as opposed to say changing the default maximum value of the slider to 100,000 :-)

Well, I was thinking that if you know that well where you want your seeds, why don't you use the regular rake or list of seeds mode?
Nevertheless, I changed the internal knob to be 10X stronger: 2acbac856

@shaomeng I'd forgotten that the range of the slider could be adjusted by right clicking on it. Once I cranked it up to 100,000 I got results similar to VAPOR2. The good news is that it can be made to work. The bad news is that from a usability standpoint having to fiddle around so much with the slider control is pretty onerous for such a common use case. I'd suggest applying a multiplier so that small changes with the slider have a more visible impact (as opposed to say changing the default maximum value of the slider to 100,000 :-)

Well, I was thinking that if you know that well where you want your seeds, why don't you use the regular rake or list of seeds mode?

The example I gave you is contrived: there is single structure. There could be multiple regions with extreme values.

Nevertheless, I changed the internal knob to be 10X stronger: 2acbac8

Hmm. That doesn't seem like enough since I had to crank up the value to 100,000. Did you try it for yourself and verify you can get results as shown with VAPOR2?

Hmm. That doesn't seem like enough since I had to crank up the value to 100,000. Did you try it for yourself and verify you can get results as shown with VAPOR2?

Honestly the image you showed looks like a core in the middle and nothing surrounding it. I'd definitely use a small rake to specify where that core is. And in case of multiple cores in a data set, then I'll use a list of seeds to specify all those cores.
I imagine the use case of "Random w/ Bias" is to generate images like I showed here. You're getting more seeds in certain areas but not excluding other areas, as the "Random" word in the name suggests.
That being said, I'm happy to keep cranking up the internal multiplier while keeping the GUI to display a (-100, 100) range. Right now it's varying in a range of (-1000, 1000) internally.

Hmm. That doesn't seem like enough since I had to crank up the value to 100,000. Did you try it for yourself and verify you can get results as shown with VAPOR2?

@clyne
Honestly the image you showed looks like a core in the middle and nothing surrounding it. I'd definitely use a small rake to specify where that core is. And in case of multiple cores in a data set, then I'll use a list of seeds to specify all those cores.

The whole point of these changes is usability (i.e. ease of use). How would you suggest a user identify multiple cores, then get the coordinates for the regions surrounding, and then randomly inject points into those regions? Does that sound easy to you?

I imagine the use case of "Random w/ Bias" is to generate images like I showed here. You're getting more seeds in certain areas but not excluding other areas, as the "Random" word in the name suggests.

That's one use case. I've given you another.

That being said, I'm happy to keep cranking up the internal multiplier while keeping the GUI to display a (-100, 100) range. Right now it's varying in a range of (-1000, 1000) internally.

Keep cranking until you can reproduce the image I showed you.

@clyne
It seems a hack to me to skew a "random" process to an extreme degree in order to produces a highly predictable and very well defined outcome.
Commit ec7b01a cranks the internal multiplier to 1000 though, so the combined effect is 100,000 which was reported to be big enough.

@clyne
It seems a hack to me to skew a "random" process to an extreme degree in order to produce a highly predictable and very well defined outcome.

I think you are assuming that all random process are uniform. They are not. See https://en.wikipedia.org/wiki/Probability_distribution#Common_probability_distributions_and_their_applications

Commit ec7b01a cranks the internal multiplier to 1000 though, so the combined effect is 100,000 which was reported to be big enough.

@clyne
It seems a hack to me to skew a "random" process to an extreme degree in order to produce a highly predictable and very well defined outcome.

I think you are assuming that all random process are uniform. They are not. See https://en.wikipedia.org/wiki/Probability_distribution#Common_probability_distributions_and_their_applications

I guess I meant that if you want a step function, then use a step function. If you want a step function, but use a probability process to simulate, and insist tweaking the parameters so the probability process looks quite sharp on the edge but still not as sharp as a step function, well, it's a hack after all and why not simply use a step function?

Think of it this way: we want a smooth, parameterized probability function that maps field magnitude to probability that has the property that it can vary smoothly from a uniform distribution to a dirac delta function (a spike). I.e. if parameterized by lambda, a value of 0.0 gives a uniform distribution, and lamdba=1.0 gives a spike at the extreme value of the data. If it were me I would consider modeling this as a half gaussian with the gaussian "mean" at the extreme magnitude and the tail of the gaussian over the min, and lambda proportional to sigma. (if lamba is negative, reverse min and max).

Think of it this way: we want a smooth, parameterized probability function that maps field magnitude to probability that has the property that it can vary smoothly from a uniform distribution to a dirac delta function (a spike). I.e. if parameterized by lambda, a value of 0.0 gives a uniform distribution, and lambda=1.0 gives a spike at the extreme value of the data (the use case I identified above needs lambda=1.0, but other use cases will want different values). If it were me I would consider modeling this as a half gaussian with the gaussian "mean" at the extreme magnitude and the tail of the gaussian over the min, and lambda proportional to sigma. (if lambda is negative, reverse min and max).

I see. I think your use case is valid, and the process you described shouldn't have "random" in it's name. Something like "Probability Process" sounds more appropriate to me ;)

From wikipedia: "A random variable has a probability distribution, which specifies the probability of Borel subsets of its range". Later, "The realizations of a random variable, that is, the results of randomly choosing values according to the variable's probability distribution function, are called random variates."
I think "random" is indeed the correct terminology :-)

That's interesting. In that case, let's keep the random name there!
On Thu, Mar 4, 2021 at 6:45 AM clyne<EMAIL_ADDRESS>wrote:

From wikipedia: "A random variable has a probability distribution, which
specifies the probability of Borel subsets of its range". Later, "The
realizations of a random variable, that is, the results of randomly
choosing values according to the variable's probability distribution
function, are called random variates."
I think "random" is indeed the correct terminology :-)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/VAPOR/pull/2633#issuecomment-790628032, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGG6JIFTGTZJZRGDHFQRIDTB6FGZANCNFSM4YN4UUMA
.

Hi @StasJ , a quick question about the variable selector:
Some instances of the variable selector, for example the color mapping variable selector, automatically chooses the 1st variable in the variable list to be it's value. Is it possible to achieve the same for a generic variable selector that's created by calling new PVariableSelector()?
Thanks!

@shaomeng no, that is handled by the params rather than the variable selector GUI.

@shaomeng no, that is handled by the params rather than the variable selector GUI.

I got what you mean, thanks!

@sgpearse your concern is addressed in 6dd7d84.


Can you explain why the label just a black picture ?

in link you share there is a folder named mask, why that all the picture there just a black picture ?

one again, how do you get a predicted mask ?

Hi, the black color is just due to the problem of display. If you print the matrix out in matlab you will find that they are values.


all: remove internalError (5xx HTTP errors)

apitest sometimes returns errors about being unable to parse responses
from paygate. I think this is due to 5xx HTTP errors and the go-client
parsing logic.
Since we want consumers to use go-client all responses need to be
parsable, so let's convert these to 4xx errors with json responses.

Codecov Report

Merging #233 into master will decrease coverage by 3.7%.
The diff coverage is 46.77%.

@@            Coverage Diff             @@
##           master     #233      +/-   ##
==========================================
- Coverage   58.54%   54.84%   -3.71%
==========================================
  Files          31       31
  Lines        4287     4272      -15
==========================================
- Hits         2510     2343     -167
- Misses       1282     1470     +188
+ Partials      495      459      -36

Impacted Files
Coverage Δ

http.go
78.72% <ø> (-2.41%)
:arrow_down:

depositories.go
61.14% <0%> (-0.18%)
:arrow_down:

receivers.go
48.92% <16.66%> (+0.87%)
:arrow_up:

originators.go
55.26% <40%> (+1.86%)
:arrow_up:

gateways.go
40.94% <50%> (+2.01%)
:arrow_up:

events.go
46.66% <50%> (+3.04%)
:arrow_up:

transfers.go
61.06% <73.07%> (+1.9%)
:arrow_up:

accounts.go
10.95% <0%> (-69.87%)
:arrow_down:

internal/database/mysql.go
10.66% <0%> (-50.67%)
:arrow_down:

ofac.go
38.65% <0%> (-35.3%)
:arrow_down:

... and 2 more

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 05a3e70...1d01c27. Read the comment docs.


Reminder about  #1709

Two months ago in issue #1709 (Solving a fractional linear boolean problem) I reported what looks like serious bugs in the SCIP and CBC interfaces.   I don't think anyone has looked at this yet.   I have a workaround (namely, restricting myself to GLPK_MI), but for the sake of the rest of the cvxpy community, I think these need fixing.
(Reminder: SCIP prints repeated warning messages on every iteration, and CBC returns non-boolean solution vectors.)

Thanks for following up, @keithbriggs. You're correct that the cvxpy community deserves to have these fixed.
PR #1739 handles SCIP. Note that part of the SCIP issue was cvxpy's SCIP interface, while another part was SCIP itself.
When you say SCS, I think you mean CBC. @SteveDiamond @phschiele @akshayka could you look into CBC? The script that @keithbriggs provided in #1709 is very nice and clearly shows that CBC isn't respecting integrality constraints. This might be a problem in CBC, but it might also be a problem in how the CBC interface is interacting with DQCP (I don't know if that's possible because I don't know anything about the DQCP canonicalization code path). We should figure out the CBC issue ASAP and then release CVXPY 1.3.1 and the next version of 1.2.X.

I installed cvxpy from source and Cbc via pip install cylp. The code in #1709 worked fine for me. This is on mac with Python 3.10.

Thanks @keithbriggs for the nice testing script!
CBC also works for me under Python 3.8, Ubuntu 20.04, CVXPY master, and cylp==0.91.5

Thanks everyone for checking this.   I did pip install --upgrade cylp and the non-boolean problem went away, but was replaced by
  File "/home/kbriggs/.local/lib/python3.8/site-packages/cvxpy/reductions/solvers/conic_solvers/cbc_conif.py", line 184, in solve_via_data
    solution["status"] = self.STATUS_MAP_MIP[status]
KeyError: 'problem proven infeasible'

However, reinstalling cvxpy from source fixed everything!    In fact, on my problems, GLPK_MI is about 20 times faster than CBC, and 10 times faster than SCIP.  So I don't really need CBC.

@rileyjmurray could we deploy a new patch? I'm not sure how the process works at this point...

@SteveDiamond I'll create a GitHub Discussion for the next patch releases (1.1.20 and 1.2.1) and tag you. I just finished updating the release/1.1.x and release/1.2.x branches so you should just be able to follow the directions in PROCEDURES.md.

All related issues are addressed in the latest patch (deployed to pypi).


Add FiftyOne datamodule

What does this PR do?
Add a new datamodule that loads FiftyOne datasets. This implementation let MART delegate the data handling to FiftyOne, where the user can do data curation tasks.
This data handling would be agnostic to MART, because at the end here is adapted a torchvision dataset.
I set this implementation to be optional. The user can install the fiftyone dependencies by running:
pip install -e .[fiftyone]

Important:

To create a dataset in FiftyOne, it's recommended to use the CLI feature: https://docs.voxel51.com/cli/index.html#create-datasets
To launch the FiftyOne app: https://docs.voxel51.com/cli/index.html#launch-the-app

Type of change
Please check all relevant options.

[ ] Improvement (non-breaking)
[ ] Bug fix (non-breaking)
[x] New feature (non-breaking)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Testing
Please describe the tests that you ran to verify your changes. Consider listing any relevant details of your test configuration.

[x] pytest
[ ] CUDA_VISIBLE_DEVICES=0 python -m mart experiment=CIFAR10_CNN_Adv trainer=gpu trainer.precision=16 reports 70% (21 sec/epoch).
[ ] CUDA_VISIBLE_DEVICES=0,1 python -m mart experiment=CIFAR10_CNN_Adv trainer=ddp trainer.precision=16 trainer.devices=2 model.optimizer.lr=0.2 trainer.max_steps=2925 datamodule.ims_per_batch=256 datamodule.world_size=2 reports 70% (14 sec/epoch).

Before submitting

[x] The title is self-explanatory and the description concisely explains the PR
[x] My PR does only one thing, instead of bundling different changes together
[ ] I list all the breaking changes introduced by this pull request
[x] I have commented my code
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have run pre-commit hooks with pre-commit run -a command without errors

Did you have fun?
Make sure you had fun coding 🙃

FiftyOne commands to load (index) datasets.
Use COCO-2017 as an example. Unfortunately, FiftyOne does not support person-keypoints annotations yet.

Use COCO-2017 as an example. Unfortunately, FiftyOne does not support person-keypoints annotations yet.


OSS-Fuzz #46886: Out-of-bounds write in SipHash_Final

Reproducer:
#include <openssl/evp.h>
#include <openssl/core_names.h>

#define CF_CHECK_EQ(expr, res) if ( (expr) != (res) ) { goto end; }

int main(void)
{
    size_t macSize;
    uint8_t* out = NULL;

    EVP_MAC* siphash = NULL;
    EVP_MAC_CTX *ctx = NULL;
    OSSL_PARAM params[3], *p = params;

    /* Initialize */
    {
        macSize = 8;
        siphash = EVP_MAC_fetch(NULL, "SIPHASH", NULL);
        ctx = EVP_MAC_CTX_new(siphash);

        unsigned int macSize_ui = macSize;
        *p++ = OSSL_PARAM_construct_uint(OSSL_MAC_PARAM_SIZE, &macSize_ui);

        *p = OSSL_PARAM_construct_end();

        CF_CHECK_EQ(EVP_MAC_init(ctx, NULL, 0, params), 1);

        out = malloc(macSize);
    }

    /* Finalize */
    CF_CHECK_EQ(EVP_MAC_final(ctx, out, &macSize, macSize), 1);

end:
    free(out);

    EVP_MAC_CTX_free(ctx);
    EVP_MAC_free(siphash);
    return 0;
}

Regression range according to OSS-Fuzz: https://github.com/openssl/openssl/compare/e915c3f5381cd38ebdc1824c3ba9896ea7160103...f5f288bdba3d2ca6f2ad4b39225b42f06ef28638
Documentation states:

If key is NULL, the key must be set via params either as part of this call or separately using EVP_MAC_CTX_set_params().

Here, the key is NULL, but the key size (8) is set in the params. Additionally it is passed to EVP_MAC_final. Yet it attempts to write 16 bytes instead of 8, causing the OOB write.

Anyway, I suppose the EVP_MAC_init (or rather the provider implementation) should check and fail in this situation.

Whether it's properly set up or not, EVP_MAC_final seems to be passed an output bound of macSize, and is documented to honor that output bound:

EVP_MAC_final() does the final computation and stores the result in the memory pointed at by out of size outsize, and sets the number of bytes written in *outl at. If out is NULL or outsize is too small, then no computation is made. To figure out what the output length will be and allocate space for it dynamically, simply call with out being NULL and outl pointing at a valid location, then allocate space and make a second call with out pointing at the allocated space.

https://www.openssl.org/docs/man3.0/man3/EVP_MAC_final.html

True, however it should actually fail outright because the initialization was not properly completed.


⚠ Samsung has degraded performance

In 7a1f643, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2399 ms

Resolved: Samsung performance has improved in a9f1482.


Feature/3/implement anchors

Introduction
Begin the implementation of anchors and epsilon transitions in the runtime.
Linked Issues
resolves #3
Dependencies
Test

[ ] Tested Locally
[ ] Documented

Review

[ ] Ready for review
[ ] Ready to merge

Deployment

This is nowhere near ready. Closing for now.


Add an option to loop videos from a certain start frame

Use case:
This is more related to osu! tournaments, but graphics designers could then implement certain effects inside the video for a segment of frames and then have a second segment loop infinitely.
Example:
0 - 300 frames -> segment that will be played once
301 - 600 frames -> segment that will repeat

Other applications that utilize the osu-framework will also be able to utilize this for video backgrounds etc.
Will likely require https://github.com/ppy/osu-framework/issues/3519 to be fixed first before this can be reliably used.

So something like Track's RestartPoint?

It's more like a loop point than a restart point.
I'd check to see if this is achievable by a custom clock first, and evaluate the issues from there if it's not. Video and Animation should be kept simple since their clock logic is already quite complex.
One thing that may be an issue is buffering since you have to seek back in time, but I'd have to see how it looks first.


Huge code-block size

Hi,
I just installed the plugin which looks to be amazing. However, I've run into an issue where the blocks are huge compared to the rest of the text.

I'm running the latest obsidian 0.13.14 with the Minimal Theme, disabling my custom snippets does not change anything with regard to the code blocks.
Any idea of how I can make them smaller? Or does it require a fix of the plugin?
Thank you!

Thought I fixed it by exchanging font size: var(--editor-font-size) to var(--font-normal) which it's called in the Minimal Theme. But this only solves it for code with no programming language specified. As soon as I specify a programming language it becomes huge again. Removing the name requires a restart of obsidian to go back to small code size.


When including the suk in the response the client produces a malformed link

When the client makes an ident request and has an option of "suk" (Asking for the server unlock key), providing the key in the response causes the client (reference Windows client 0.0.5998.63) to append it to the nut query parameter. Investigate if this is an issue with my code or the client.

Ended up being due to needing to use CLRF for the response object


[EX-3607] Complete filter tests scenarios

Pull request template
The aim of this PR is to add and refactor filter related tests. Changes:

All .feature and .spec.ts files are now under filters folder.
Test scenarios added in clear-filters, and moved to an independent .feature.
multi-select.feature includes an extra step checking that multiple filters from different facets can be selected.
sliced-filters.feature includes an extra step checking filters remain selected when pressing show-more / show-less buttons.
simple-filters.feature includes extra steps for hierarchical filters behavior.

Type of change

New feature (non-breaking change that adds functionality)

What is the destination branch of this PR?

Main

How has this been tested?
As usual, you can modify cypress.json in order to execute tests independently.
Tests performed according to testing guidelines:

The build is failing apparently


ExactValue to provide declarative ways

Hi I'm interested in this cool project!
Current Exact implementation can cover many use cases but it can't express what it imposes constraints before we are looking its constructor code.
So I thought that how about exposing constraints using types and I made a simple examples
Please feel free to give me any feedbacks
thanks!

What is the use-case for exposing them as types? It seems to me that it makes the library more complicated, and I don't really understand what benefits it provides. Can you clarify?

Thank you for your feedback!
I intended this to support for refined type more expressive and reusable.
we can infer what constraints of ExactValue from just type signature and we can get refined type just defining ExactValue type with less boilerplate code (e.g. writing constructor logic that checks raw value is valid)
I also agree with you that it makes the library more complicated but I thought that it's hard to avoid complexity to compose constrains more flexible 🤔 (Regardless of whether this is necessary as of now)


Fix: "ProcessException: %1 is not a valid Win32 application."

Description
Add quoted strings to indicate where the file name ends and the arguments begin otherwise, the file name is ambiguous. https://github.com/dart-lang/sdk/issues/37751
Related Issues
https://github.com/flutter/flutter/issues/19359
https://github.com/flutter/flutter/issues/33972
Tests
Unit tests in process_test.dart
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

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

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

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

is this fix for #33972 too? or related?

Should this also handle wrap the injected implementation of process manager?

:/ this needs to be fixed in https://github.com/google/process.dart instead.

So that we have a trail of breadcrumbs that folks can follow, could you explain a bit why this has to be fixed there? Thanks!

I found that the process manager also checks if the executable exists. Therefore, the check fails if the quotes are added in flutter_tools/lib/src/base/process.dart.
The process manager is what calls Process.runSync and Process.run.


Implement test copier

There should be a tool, act-tester-cp, which takes a single-machine plan file and copies it and its referenced files over to the other machine.
This’ll need a degree of care to work out what to do with eg absolute directories.  We’ll probably need to forbid them.

Done, though it's part of the director and not a separate tool (yet).


Include information about the swarm node a container is on.

@JustAdam I think you might need to update docker/docker to the same ref that fsouza/go-dockerclient has in order to fix that Travis failure.

Thanks @md5 got that fixed with the latest commit from Docker.

:+1:

Thanks!


ignore l2cap signal

I am running a custom service for BLE device. While trying to connect my mobile app with GATT server, it throws following log:
ignore l2cap signal:[ 06 00 05 00 13 02 02 00 00 00 ]

No communication is further carried out after this log message appears.

I believe this is likely to be data of some kind that results from the specific devices/usecases you are trying to use this gatt library to emulate (i'm working with basically the same devices, Concept2 indoor rowing machines and their bluetooth-capable, PM5 model monitors)
I  suspect this is something that happens during/prior to the connection process as I got this error when trying to use the official app against your emulator.  I was also able to replicate this with my own custom-made app, although i still have yet to narrow down specifically what is causing this signal.
More research definitely needs to be done to definitively place blame on this gatt library as opposed to either a higher, application level issue, or some lower level l2cap dependency or something

further investigation reveals im wrong in a number of ways.

packet analysis (using

do you have a fix that you implemented on your local machine that you could push to a fork? id be curious to see how you solved it.
I also noticed the lack of activity around this library, so I've been working on my own fork that merges in the open PR's on this repo


feat: adds ability to serve a digest email

Ticket #19
Description
This PR does a few things:

Adds the grants digest email
Re-uses components across multiple emails
Ensures all emails have consistent styling
Ensures there's a placeholder for the notification management changes in the front-end

Screenshots / Demo Video
Demoed during show and tell
https://www.notion.so/usdr/Show-Tell-d4ba5e125d2b49df844eda046d298fd3
Testing

Added unit tests and integration tests

Checklist

[x] Provided ticket and description
[x] Your PR title contains the ISSUE ticket number e.g "86: ..."
[x] Provided screenshots/demo
[x] Provided testing information
[x] Provided adequate test coverage for all new code
[x] Run automated tests (docker compose exec app yarn test)
[x] Added PR reviewers
[ ] Ensure at least 1 review before merging

@TylerHendrickson I added 3 main changes:

Simple plaintext parser using regex. This isn't great and I added a TODO to revisit this in the next PR. But for now its trending in the right direction.
Added important event logs
Ensured that we retrieve grant totals in a single query so we aren't overloading application memory with unnecessary grants data.


mat vs md ???

do we have to change from md to mat, everything?
scss is already not working with md
in templates/ng2 i moved everything from md to mat but it is not working, only scss is everything
what is the status? how can i check it on it?

I know.. It's so confusing...md is for angular-cli and mat is for using any other sass compiler.
I gave up on material 2.

what are you using for gui? bootstrap?
it is getting like java, slow, big and just getting worse time to time.
jqueryui was better 10 years ago then this now.
i already thinking of forget ng2/typescript, i need js...

I agree. It's too much work to configure now. I spent two weekends just trying to get a project set up.
Angular 2 and material 2 are no where near ready for production use imo.  Having to constantly transpile typescript is also no good.

what would you choose? right now i am creating a new project just use angular 1? it is mature, isnt it?

Yes use angular 1. I forked my angular 2 project and converted to angular 1.
You can also use typescript or es6 in angular 1 now.

yes i guess for angular 2 to be cool will be 5 years later, right now angular 1 is the time when it is mature. this is to create something for it. angular 2 will be in years later.
plus i dont want typescript, i want speed . JS.
thanks dude!
and what about material 1? is that you would choose?
material 1 vs ng1 bootsrap? or you know something better?
ciao!

i guess it will be hard to found out, i


:bar_chart: Adding UN HCR & Unicef data on migration

Part II of owid/owid-issues#606
This pull request includes:

[x]  Import the following from UN HCR

[x] Refugees by origin and destination (country of asylum)
[x] + calculate rate per 1,000 people
[x] + 5 year rolling average
[x] Asylum seekers by origin and destination (country of asylum)
[x] + rate per 100,000 people
[x] + 5 year rolling average
[x] Resettled refugees by origin and destination (country of asylum)
[x] + calculate rate per 100,000 people
[x] + 5 year rolling average
[x] Additional values not directly relevant for the explorer like internally displaced people, stateless people and returned and naturalized refugees.

[x] Import the following from Unicef

[x] Number of refugees per origin/ asylum country under 18
[x] + rate per 1,000 people
[x] Number of immigrants under 18
[x] + rate per 1,000 people
[x] Total Internally displaced people under 18 (by disaster/ violence and conflict)
[x] + newly displaced people under 18 (by disaster/ violence and conflict)
[x] Refugees under 18 under UNRWA mandate

The processing steps are relatively straightforward, but there is a lot of metadata 😅  Feel free to let me know if anything is unclear!

Thanks for the review @paarriagadap! I incorporated your comments and will merge this now :)


[docs] Learning template

An experimentation
Preview https://deploy-preview-28525--material-ui.netlify.app/learn/basics/overview/

The Hackathon is over, closing.


Can't install mediapipe in python 3.7.9

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
None
OS Platform and Distribution
Windows 7
Mobile device if the issue happens on mobile device
No response
Browser and version if the issue happens on browser
No response
Programming Language and version
Python 3.7.9
MediaPipe version
Any mediapipe version
Bazel version
No response
Solution
None
Android Studio, NDK, SDK versions (if issue is related to building in Android environment)
No response
Xcode & Tulsi version (if issue is related to building for iOS)
No response
Describe the actual behavior
ERROR: Could not find a version that satisfies the requirement mediapipe (from versions: none) ERROR: No matching distribution found for mediapipe
Describe the expected behaviour
Install mediapipe correctly
Standalone code/steps you may have used to try to get what you need
I have tried installing mediapipe using Python 3.7.9, 3.8.10 and 3.8.0. None of this versions worked.
Other info / Complete Logs
Hi. Im trying to install mediapipe to try a YT project, but mediapipe installation is not working at all:

(.venv) PS C:\Users\USUARIO\OneDrive\Desktop\lenguaje_señas_2> pip install mediapipe
ERROR: Could not find a version that satisfies the requirement mediapipe (from versions: none)
ERROR: No matching distribution found for mediapipe
(.venv) PS C:\Users\USUARIO\OneDrive\Desktop\lenguaje_señas_2> py --version
Python 3.7.9

Excuse me, its an install problem. Im sorry for addressing it incorrectly.


Add Jenkinsfile

Jenkins 2 builds using a Jenkinsfile.

Immediately after merging I'll need to set the build number for the master branch to tag.


Bug report in computing log-likelihood

During our test, the released warplda prints out abnormal log-likelihood values when we run it on large dataset.
At the line 60 of warplda.hpp, the 'log_likelihood' variable, which stores the local log-likehood value, is declared as float variable. When the log-likelihood becomes large, it fails to manage the value properly. It should be declared as double variable.

Thanks!
PR merged: #8


[Microsoft] Store resourcePath and standardize internalIds

Description
This PR

stores the path of a resource, so that given a row from MicrosoftRootModel we have the data to query it via microsoft's graph api;
standardize internal ids:

add a provider suffix like for other connectors
ensure that we can compute internal id from row, and vice versa that given solely the internal id we can also query the api

For review: best  to start by L111 of graph_api.ts introducing MicrosoftNodeData <-> InternalId conversion functions
Also starts the code of the full-sync activity (still a no-op at the time)
Risk & deploy
na (gated)

As discussed IRL, we also delete nodeId from the model, already contained in itemApiPath (but not carrying enough info by itself)

Approved !


Fastlink connection issues

Fastlink does not receive the connected status from the nodelink server if the nodelink server is already online and awaiting for connections.
If the fastlink connection is open before the nodelink server starts, it works normally.

Could you be more specific and send us logs?

I explained the demonstration.

Issues related with WebSocket connection could have been fixed with https://github.com/PerformanC/FastLink/commit/84987bf3c1a3410f2878d8e4f49b5a9c6bde8305, could you try it out and let me know the results?


[BUG] Unsupported YUM repo 'EA4-c$releasever'

Describe the bug
Notice that using the name for ea4 yum repo show as unsupported
* 2023-09-06 20:49:23 (1653) [INFO] Unsupported YUM repo enabled 'EA4-c$releasever' without packages installed from /etc/yum.repos.d/EA4.repo, these will be disabled before ELevation

probably fine to simply add EA4-c$releasever to the vetted list

That's happening because we aren't evaluating YUM/DNF variables when we parse the repo ID. It shouldn't be too hard to do this, in principle.


V2 feature  - orientation indicator in the top-right corner

Expected Behavior
A way to know orientation when object covers XYZ axis lines
Actual Behavior
no additional indicator
Steps to Reproduce the Problem

open web
add a sphere
try to guess where you are after rotating

Specifications
example fusion360

exmaple freecad

I would be a nice thing to have, even without posibility to interact with it.

Version: V2
Platform: all
Environment: browser

FYI, there are now keyboard shortcuts.

Yes, I am aware of those. I am follwing th amailing list. I have already forgottne most of them, and I cant find in the help section the list of shortcuts :). Still, an indicator is very useful.

posibly useful from stacko
https://stackoverflow.com/questions/60245700/three-js-rotate-group-with-same-orientation-as-camera-for-view-cube-orientation

Yes, I am aware of those. I am follwing th amailing list. I have already forgottne most of them, and I cant find in the help section the list of shortcuts :). Still, an indicator is very useful.

See the settings. The shortcuts can be changed.


[Snyk] Upgrade: @storybook/addons, @storybook/client-api

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade multiple dependencies.
👯♂ The following dependencies are linked and will therefore be updated together.

:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

Name
Versions
Released on

@storybook/addonsfrom 7.0.8 to 7.0.22
14 versions ahead of your current version
25 days agoon 2023-06-17

@storybook/client-apifrom 7.0.8 to 7.0.22
14 versions ahead of your current version
25 days agoon 2023-06-17

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Check out a preview of your pull request here: https://alphasite-appservice-dev-pr-preview-1431762552.azurewebsites.net


Fix Utils::json*() for native \JSON_THROW_ON_ERROR option

If a user passes the native \JSON_THROW_ON_ERROR option, these functions would throw a \JsonException instead of the expected \InvalidArgumentException.

Oh, this only exists as of PHP 7.3. Would you consider it appropriate to drop support for PHP 7.2? It's at 1.8% for Guzzle 7 as per: https://packagist.org/packages/guzzlehttp/guzzle/php-stats#7

We can consider this for Guzzle 8. AWS and others need Guzzle 7 to retain PHP 7.2 support. We're also still fighting to get people to upgrade from Guzzle 5 and 6, so dropping more PHP versions is just gonna make it harder, or give us two 7.x lines to provide security fixes for.


Two more parameters added in UserSchema

Description
Two more parameters added in UserSchema i.e. Score(number) and IsAdmin(boolean) for mentors. This will help us in differentiating b/w mentors and students. And Score will help in the student rating system.
Type of Change:

[x] Code
[x] New Feature

How Has This Been Tested?
This change passes all tests.
Additional Info (OPTIONAL)

Checklist

[x] My code follows the code style of this project.
[ ] My UI is responsive
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] My changes generate no new warnings
[x] The title of my pull request is a short description of the requested changes.

Screenshots

Original
Updated

** original screenshot **
** updated screenshot **

@Abhishek-kumar09 Please Review this, I will be happy to implement changes😄

Looks useful, thanks @shivambhatia5432


Add Tokio support

Similar to #24, but without duplicated functionality and more carefully thought out, although there might still be mistakes. This one does not change existing code at all, only adds new module named tokio_support. It works by calling functions from the root of the crate in thread where blocking is acceptable and communicates with this thread using channels, thus implementing Read and Write in terms of AsyncRead and AsyncWrite. This allows to use the library in applications that are based on Tokio, mainly in client/servers. A usage example named async_uncompress_service is provided, along with it sync version uncompress_service for comparison.

Pull Request Test Coverage Report for Build 230297220

14 of 22 (63.64%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+20.4%) to 74.233%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/error.rs
0
2
0.0%

src/tokio_support.rs
14
20
70.0%

Files with Coverage Reduction
New Missed Lines
%

src/error.rs
1
40.74%

Totals

Change from base Build 229395968:
20.4%

Covered Lines:
121

Relevant Lines:
163

💛  - Coveralls

@afdw first I'd like to thank you for this great work.
I think this goes in the right direction and solves the concerns we had regarding code duplication. There are a couple of things I'd like to ask if we could rework on this PR prior merging it.
First is to spinoff the code which is independent and which we could merge right away. Here I am referring to the uncompress_service which could be added in a specific PR for it.
Next, I'd like to explore the possibility of making this independent of tokio and base it on top of futures-io and let the runtime choice for the app. What do you think about it?

First is to spinoff the code which is independent and which we could merge right away. Here I am referring to the uncompress_service which could be added in a specific PR for it.

#28

Next, I'd like to explore the possibility of making this independent of tokio and base it on top of futures-io and let the runtime choice for the app. What do you think about it?

There is a couple of problems with that:

The AsyncRead and AsyncWrite traits in tokio and futures-rs are incompatible (there are not just reexports of one another, they are just completely separate definition).
There is no standardized way of executing blocking code (no generic tokio::task::spawn_blocking).

This is a good idea, I want it be independent of Tokio too, but at the current stage of the async infrastructure I don't think that's possible. Or do you have any ideas of how to solve the problems mentioned above?

1. The `AsyncRead` and `AsyncWrite` traits in `tokio` and `futures-rs` are incompatible (they are not just reexports of one another, they are just completely separate definitions).

Sure and tokio users can still use the futures-rs ones if use tokio-util's compat method.

2. There is no standardized way of executing blocking code (no generic `tokio::task::spawn_blocking`).

For this, we can use blocking. What do you think?

1. The `AsyncRead` and `AsyncWrite` traits in `tokio` and `futures-rs` are incompatible (they are not just reexports of one another, they are just completely separate definitions).

Sure and tokio users can still use the futures-rs ones if use tokio-util's compat method.

Thank, I have not seen that. Yes, this is indeed possible.

2. There is no standardized way of executing blocking code (no generic `tokio::task::spawn_blocking`).

For this, we can use blocking. What do you think?

That is one of the options. The problem is that a separate (from Tokio's one) thread pool will be used, which is may or may not be desirable. What do you think can be done with that? I think offering 2 modules (tokio_support and futures_support, each offering the 4 library function) might be the easiest solution.

What about offering a single async module which has the async-std and tokio implementations and user choose which one to use with a feature for each one?
This could basically use the runtime specific spawn_blocking.

The problem with using a single module is that than it will not be possible to, for example, run cargo test --all-features, as both both support modes could not be meaningfully enabled at once.

The problem with using a single module is that than it will not be possible to, for example, run cargo test --all-features, as both both support modes could not be meaningfully enabled at once.

Indeed.
So, in that case, we need to decide. I'd be Ok in using blocking and would be fine in having two implementations. What I think we ought to consider is if it is worth adding two implementations to save a thread pool.
What is your preference?

I do not think that having 2 implementations is problematic, they are just very thin and simple wrappers. So I have implemented them. But reducing repetitiveness would be good. The problem is that they have many things in common, but have some subtle differences, so generating them with a macro is not that straightforward, but actually could still be done.

Also, please rebase the changes.

I think we need to document the features so people can make the right choices.

There is some documentation already:

What do you think needs additional clarifications?

Also, can you squash the commits and add the examples as later commits so we isolate the changes in logical units?
Also, please rebase the changes.

I will tidy up the commit history as soon as everything else would be resolved.

I would also like to change the flags and module names of tokio_support and futures_support to just tokio and futures, I think this would be just as much meaningful. As for the async_support I'm fine with it since async is a keyworld and can't be a module name.

The problem is that it is impossible to have a dependency and a feature with the same name.

I would also like to change the flags and module names of tokio_support and futures_support to just tokio and futures, I think this would be just as much meaningful. As for the async_support I'm fine with it since async is a keyworld and can't be a module name.

The problem is that it is impossible to have a dependency and a feature with the same name.

Yes and for this, we can map the package internally, so we can expose the feature name.

I would also like to change the flags and module names of tokio_support and futures_support to just tokio and futures, I think this would be just as much meaningful. As for the async_support I'm fine with it since async is a keyworld and can't be a module name.

The problem is that it is impossible to have a dependency and a feature with the same name.

Yes and for this, we can map the package internally, so we can expose the feature name.

I am not really sure that would be better. This maybe confusing, as someone may think this are reexports of tokio and futures. Also, I kind of like the symmetry that current names have.
Do you have any alternative ideas on how to make the module naming better?

@afdw it is a fair justification. I was discussing with @Jonathas-Conceicao and we agreed it is a good way to go.
Could you rebase the tree and prepare the commits for review/merging?

@afdw just made 0.7.0 release. Thanks for all your help :-) awesome!


SPOGroup additional attributes

Please add the ability to set the all of the following attributes, Group Owner (OwnerTitle) attribute would my highest priority, but all of them would be helpful.
AllowMembersEditMembership     : False
AllowRequestToJoinLeave        : False
AutoAcceptRequestToJoinLeave   : False
CanCurrentUserEditMembership   :
CanCurrentUserManageGroup      :
CanCurrentUserViewMembership   :
Description                    : Members of this group can view pages, list items, and documents.  If the document has a server rendering available, they can only view the document using the server rendering.
OnlyAllowMembersViewMembership : True
OwnerTitle

CanCurrentUserEditMemberhip, CanCurrentUserManageGroup, CanCurrentUserViewMembership and OwnerTitle are not properties that can be set, only properties that can be retrieved/queried. Those values are evaluated at runtime based upon the current user that executes the session.
I added the missing attributes to both New-SPOGroup and Set-SPOGroup in PR #1055.
Closing this issue now.


I want to use NOW() and DATE_SUB() function in mysql

but they seem not be provided.
I want to execute statement like
select ..., NOW() as db_time, ....from ...

or
select * from ... where ..., tb.field < DATE_SUB(NOW, INTERVAL xx SECOND)

You can use things like
insert_into(tabDateTime)
      .set(tabDateTime.colTimePoint = std::chrono::system_clock::now());

And do date/time calculations in C++ instead of SQL.
Adding DATE_SUB to the library would be possible, but quite tedious.

I know, but programs may be running in many machine, It's hard to make sure the consistency of time, which lead some problem.
the database is only running on one machine, that is why I want to use NOW()

I would argue that your machines should be using a time server. And network latency will make consistency of time an illusion anyway.
But if you really want to use NOW() then sqlpp::verbatim might be your friend.


Sdk auto/@azure arm cdn

I dont see any net changes in this PR other than api version being added as a query parameter for few of the apis. Are we sure that this is all that is needed for https://github.com/Azure/azure-rest-api-specs/pull/11655?

@colawwj should be able to help you with that @jorinmejia

It has been updated.

@ramya-rao-a / @colawwj can we merge this PR or do we need to make updates?

@jorinmejia
Since we do not have permission to change swagger file,could you help us to correct problem of subscriptionId and apiversion in cdnwebapplicationfirewall.json and afdx.json,cdn.json before merge?

@colawwj, I have a PR to fix this : https://github.com/Azure/azure-rest-api-specs/pull/12159
Will update here when it is checked in.


exclude reward delivery from standard device validation

Attempts to address #674

I'd prefer to solve this by removing the device_type field from RewardDelivery (since it's not a device) and adding name that can have a default value of "Reward Delivery"

@saskiad does this look ok? device_type appears to be required by STIMULUS_DEVICES which uses it as a discriminator.

If you exclude delivery you won't be able to include reward delivery devices in the DAQ, e.g. the bottom of this:
https://github.com/AllenNeuralDynamics/aind-data-schema/pull/702

I think we need to rework the validator so that stimulus devices isn't listed in standard devices and is handles separately.

@saskiad If you exclude delivery from validation you won't be able to include reward delivery subdevices (spouts, solenoids) in the DAQ, e.g. the bottom of this:
#702

Agreed, removing it completely from validation is not an option. We can rework the validation to handle it better though.


JSDOM sets the default value of window.onhashchange to undefined which breaks feature detection.

Not possible to use feature detection of onhashchange in jsdom 7.2.1 like so:
if ("onhashchange" in window) {
    console.log("The browser supports the hashchange event!");
}

The message does not print from the code above. However, this is my work-a-round for now:
// HACK: When in a browser, the default value for onhashchange is null, but jsdom sets it to undefined.
window.onhashchange = null;
if ("onhashchange" in window) {
    console.log("The browser supports the hashchange event!");
}

This should be fixed in master, will test and get back to you...

@Sebmaster this looks to be not fixed and also the current situation is confusing. WindowEventHandlers does not have an implementation at all, so won't that break the onxyzs on body? It also isn't mixed in to Window. (Nor is GlobalEventHandlers.)
A quick fix might be to comment out all of the contents of WindowEventHandlers.idl and GlobalEventHandlers.idl as TODOs. What do you think?

To clarify in this issue: There is no change to this in master and this should behave as it did in 7.2.x. To solve this we'll need to properly implement inline event handlers. It's a change that will come soon, but probably not before the next major release.

Fixed in 5f3cbd6.


WIP: VTOL roll trim

This adds a roll trim param to combat roll produced by the inertia of the pusher prop.
Also, the scaling was removed for roll and pitch during transition in order to correctly apply these values.
With this param, and the already existing pitch trim the climbing and rolling during transition can be corrected. The roll trim will have to be set depending on the rotation direction of the pusher / puller. In SITL the following values produce a stable result;
VT_FW_PITCH_TRIM: -0.25
VT_FW_ROLL_TRIM: 0.25
The MC, during transition blending does not have enough authority to correct roll and pitch and the FW is not yet in control to apply these corrections.
Setting the above values fixes https://github.com/PX4/Firmware/issues/4079
Airframes should independently be analyzed for correct values.
Roll should be set positive CCW pusher prop and negative with a CW pusher prop
Pitch (in all the logs i have seen) always seems to angle up and therefor needs a negative value
I'm not sure if this is a permanent solution or if we should revisit the control authority of MC/FW during transitions.
@AndreasAntener @tumbili @LorenzMeier

Sorry for the interruption, but in my opinion controlling the aircraft with fixed trims during flight for level transition or just flight, is totally in contrast with having so many sensors and ways to stabilize the machine during all phases of flight including transition. In my opinion this transition becomes a behemoth already with so many aspects to twitch and set so many combinations of parameters that at some point it will become unmanageable.
We have a VERY VERY simple task to do. From Stabilized flight MC we go in stabilized Forward Flight. During the acceleration phase (until lift is produced) is the quad is capable to give perfect stabilization! Then the airspeed trigers clean FW flight once we have lift, and from that point on we have stabilization done by the plane.
We need simple solution for simple things. This functionality is basic functionality it should be fast robust and clean.
As I mentioned before we created KK2 VTOL with our pixhawk VTOL.
To the KK2 system we added this:
http://www.rcgroups.com/forums/showthread.php?t=2417656
http://www.rc-levneji.cz/user/related_files/flybarless_system_manual.pdf
It is very very simple controller but ROCK SOLID. It has a GPS only for RTL. Does not have any air speed sensors etc.
SO now with this system we just transfer the throttle from the quad to the plane with a Taranis timing and delay procedure pre programmed. It is simple one start the pusher, stop the quad in 3 seconds.
We had NO transition failures nor crashes!
Also this controller does not allow us to STALL the plane. It somehow understands (probably with the GPS)  that we are slowing and slowing and it starts cut our pitch up roll commands. When we continue to slow down and pitch up at some point the plane stalls but this little controller is able to control e very managable parachuting with just a little lest and right leaf movement. It does not go in roll spiral nothing. Just give a little throttle and it picks up from there...
Getting in mind the KK2 control of the quad it starts to appear to me that sometimes simpler is better. And also not a bad idea to chanllenge yourself and revising your initial ideas and concepts.
BTW we did very very good PID for the quad of our VTOL with PX4 and it almost hadles like the KK. Still we have problems with the Z axis, and the quad dips on strong yaw and on sharp consequitive roll commands left and right. On strong pitch front and back it is perfect.
Surprising to me was the numbers we have got:
MC_PITCHRATE_D	0.0052
MC_PITCHRATE_FF	0.0
MC_PITCHRATE_I	0.0
MC_PITCHRATE_MAX	220.0
MC_PITCHRATE_P	0.22
MC_PITCH_P	8.28
MC_ROLLRATE_D	0.0056999996
MC_ROLLRATE_FF	0.0
MC_ROLLRATE_I	0.0
MC_ROLLRATE_MAX	220.0
MC_ROLLRATE_P	0.26
MC_ROLL_P	8.0
We used rotary knobs this time to change the params in real time.
BTW the interface for real time param change with rotary knob in QGC should be revised.

We cant see what is the default assignments of param knobs to params.
We cannot see in real time the value we change! we have to refresh and read it from the FC after we have changed the value.

@tubeme all fixed wing vehicles require trim for stable flight, whats wrong with that?
And you KK board doesnt navigate autonomous, under those circumstances a transition is indeed VERY VERY simple.
Thanks for tuning your vehicle, a PR with the params for that model would be great!

@sanderux If by trim you mean the heading orientation trim, or the reflex we put sometimes to the plane then I agree. But in my opinion in all modes other than acro modes the autopilot does the job of some sort of trimming. In the GPS guided modes the trimming the computer does is even more while keeping a certain course. So nothing wrong with the trim but I see at as manual override and and it is like an exception. So the trim in most cases is applicable to certain conditions. For a different conditions you will need different trim settings. While if the computer does its gob it will dynamically apply the necessary trimming in order to follow its dynamic characteristics.
Indeed the KK transition is very very simple. But I don't see any difference between making transition in Manual mode in PX4 and making transition from KK to the Bigaole BGL-6G-AP. Of course for the GPS guided modes the story is different. But why make a more complex the transition and implement a guided mode in it? The matter of fact is that if you start navigating during transition and apply roll and pitch it will most likely fail because the VTOL is heavier than regular quad and more inertial while in hover and during transition without lift the plane is heavy aerodynamicaly. So by presumption we have to guarantee that during transition we have a perfect level flight. On the basis of the aircraft properties we can easily calculate the length of the vector we need for transition so we need to just orient correctly the VTOL with the quad in the right direction and at the right altitude when in autonomous mission. With manual transition the orientation is done by the pilot. So in this scenarios the transition is not guided procedure which is not necessary to be complex. As you mentioned I remember you had a very good results while you experimented in the beginning letting the quad to do more stabilization during transition.
Listen the PX4 transition is the best! We have never had such a smooth transition with the parallel KK system. The problem is we have had many failures during transition with the PX4. All sorts of problems stalling, roll spins, cutting the throttle of the quad earlier, or not cutting it at all. We understand that it is in the development curve so we continue working on it. Perfecting more and more the reliability. I read in another issue by you that there is a problem with keeping altitude during transition:
https://github.com/PX4/Firmware/issues/4079
And we are working on the VTOL here in BG together for a while and we will try the transition with a master I loaded 2 weeks ago. So We are kind of afraid what is going to happen. And that is not a good sign you know. We just want 100/100 successful transitions not 70/100. For now the reason for this is ours most likely bad PIDs other probloems etc. Soon we will have the perfect PIDs and then we will report again on transitions.
Thank you very much for dealing with the airspeed gust problems during transition.
Here are some logs.
http://logs.uaventure.com/view/2GuqDJnBQ42CvCVsFu4npd
http://logs.uaventure.com/view/emytXPBxnJKBvr5HUXC7Vf

@tubeme in order to support autonomous transitions we need a lot more then simply mixing over some throttle. This indeed impacts manual transitions. We are now looking in to dealing with the altitude problem and it is likely this "fix" will not be the final solution. I can guarantee you that it is all not as simple as you make it sound but it will be fixed, just sit tight.
On your failures i have something pending that will make your flights safer, i'm working on a "parachute" function for the quad. It will basically monitor the attitude of the plane and "catch" it by enabling quad motors when things go wrong (falling, stalling, etc). That should make tuning your model safer.

 It's reading 10m/s constantly. This could be a cause of your stalls.
Your quad seems very underpowered, i would suggest different motor/prop combo or different voltage if your drive can handle it.
Your quad does not seem to be on the CG, this makes a lot of difference.

 For reference, this is what a "normal" graph would look like on a vtol: http://logs.uaventure.com/view/djVcLjJZChq3QsUmoBsrWh#Actuators_PLOT
Trying to tune your vtol based on these issues will probably not work

@sanderux Thanks a lot. We sit very tightly :) I know you guys are working on the issues and I know that it is a complex matter. But I try to challenge the concepts I'm working on all the time. It is good for the health of the project to have voices like mine.
I follow the PRs and know about the parachuting and we are waiting to test it.

Thanks for the log you provided me. It is very good example. BTW I will try to place some examples in the users manual in the PID tuning guides. Because it is much more easier to explain things with graph examples.
for the issues we have:
Your airspeed sensor is not correctly calibrated or it is too close to other things like radio module. It's reading 10m/s constantly. This could be a cause of your stalls.
I know this and I've seen it but because now we are flying only the quad we did not re-calibrate our airspeed and we did not pay attention to its readings. I saw this in the graphs though. Thanks
Your quad seems very under-powered, i would suggest different motor/prop combo or different voltage if your drive can handle it.
We are using a classical config for the combo tested simonK ESC (Afro) and tested and robust NTM motors, we use BLheli as well but this logs i sent were with SimonK. Truly tested combo in all conditions. With the KK we have very adequate throttle responses with this same combo. We can shoot very very fast climbs. Somehow with the PX4 we don't have this response. The throttle response is lagy, especially if the plane starts dipping, when we apply full throttle to compensate for the dip, it starts with 0.5-1 second delay until it applies the throttle. This way the quad recovers but it looses about 3-4-5 meters before it does so. Probably the Logs I gave are from a little drained battery. But the same problem is occurring when the batteries are full just it does it a little less amplitude. When the batteries drain the problem becomes more and more obvious.
Actually the problem is not that we don,t have a good throttle. It is like the throttle is on alcohol :) it responds with delay in Auto and in Manual. And pretty obvious delay.
Your quad does not seem to be on the CG, this makes a lot of difference.
The Quad is perfectly on the CG. We discovered this rule 4 years ago. So we are very cautious double checking this. In our case we had 9.5 degrees Y offset to the heading of the FC (it is how it is mounted now) and 0.5 degrees offset to X as well. It is set by multiple measurements with level tools including many event horizon calibrations. Final tuning was done in the air with rotary knobs on the X and Y sens offset until the quad stays perfectly still in the air in manual. So you have to apply some offset in flight plot to see the real tracking.
Thanks again a lot for helping me with this.

@tumbili Can you review / comment here?

Ada and i are working on the underlying problem. The issue is that the MV attitude setpoints are published and there seems to be problem with pitch and tecs.
The issue also exists in sitl and is very consistent. It does not seem to be mechanical or airframe specific.
Seting the trims is indeed fighting symptoms but the underlying problem is quite complex, this will allow a temp solution untill we have addressed the other issues.
The pitch trim param is already there, having a roll trim sounds logical from that point of view. It could also be used for quadplanes that have a different sense of level for quad and plane flight.

Working on many projects I learned something from my experience. It is never good practice to implement temporary patches during development. Better loose some time dealing fundamentally with the problem and solve it once and for all, than patch work. Patch work usually generates problems at other places and the final verdict is - you loose more time finally to deal with not one but many more generated problems.
I will gladly wait a 1 month or even 2 months for the right solution patiently if I know it will disappear.
Reading Simon Wilks comments I realized we've made a FUNDAMENTAL mistake.
BY this:
**
If it is only during the initial transition period that you lack roll/pitch authority have you tried increasing the blending threshold so it doesn't start reducing MC input until a higher airspeed is reached? If you feel MC control isn't powerful enough to correct during transition (is your setup still underpowered?) perhaps we need to address how blending works (ie: nonlinear; full FW control surface when transition starts; decouple MC/FW actuator blending).**
I understand that the beyond blending speed threshold, the MC is diminishing its control over the craft in some sort of fade off.
If this is correct we made a huge mistake. Our blending speed is 2 m/s because we want elevons control right away. In this case as soon as possible. This way the quad diminishes its control very soon and the plane levons does not play huge role in stabilization until lift is produced. This way we had weightless machine during transition. So perfect transition in dead weather and problems in strong weather.
Now there is very important detail about the VTOLs in general that I will share with you. During hover mode we want both stabilization to work! The quad should does its job of main stabilization, but at the same time to have a full elevon or other control surfaces to move and do their work like in forward flight. Something like the permanent stabilization in forward flight but all the time even in hover flight.
This gives tremendous stabilization in strong weather. because if the wind is about 5 m/s the gusts produce lift and then the elevons start helping the quad in stabilization. Given that the VTOL is not the best flying MC, given that in most cases it is under-powered quad it is very important to allow both aircraft to do the stabilization simultaneously. The quad is under powered because we want performance in term of time of flight and we have to put the lightest possible combo. We have a huge penalty for the weight of motors and esc's
So if we have a full totally permanent FW stabilization and quad stabilization during the whole transition period we will produce perfect results. If both work to stabilize the craft during transition and then after trans airspeed threshold just fade out the quad for a 1-1.5 seconds will be the best for us. The timing I give is an example don't get on it.
As I told you we are flying our VTOL for many years. We experimented almost anything. To give you an example with our simple KK system. Because with KK and manual direct drive plane you can turn on both throttles we had flown the Siniger with quad on 50% throttle ie hovering in the air and then with the pusher motor controlling the forward flight. The plane flew very very interesting but stable in all means. Like we had put a gyro on the plane. It just felt like ice skating making very slippery turns but in full control and the most important level flight. The moment you release the pitch/roll it just stabilized perfect and this was done by the quad because we did not have FC for the FW flight.
So the conclusion is that if physically things are OK like the CG to be at the same spot for both, both vehicles should behave and fly with almost the same characteristic in terms of stabilization, both vehicles should not have any trims especially a difference in the alpha during flight - stabilizing both at the same time is not a problem even it brings better results.

@tubeme this should solve it: https://github.com/PX4/Firmware/issues/4091


Set window titles

None of the windows have titles right now. Set them to something appropriate for each in the following windows:

StartWindow
Dataset Creator
Dataset Viewer
Export dialog

Delivered to master.
I added titles for each window and made the dataset viewer title be the name of the dataset.
Commit.
commit f9d7e7feedc1ee16b672b870286558d91cee6d7f (HEAD -> master, origin/master)
Author: Alex Hunt<EMAIL_ADDRESS>Date:   Thu Mar 17 00:47:05 2022 -0400
Issue20: Set window titles.

Testing

Checked that all the titles were expected in the 4 windows.


Fix flickering when too many unique animations are on-screen

I noticed some briefly-flickering animations in the palette when more than 20 animated assets were visible at once.
This PR fixes the problem by allowing the GFX loader to bypass an exhausted frame load allocation if the requested frame is part of an animation that is already partially loaded.

Given that all of the animation frames are in the same image anyway, I'd probably want to just load all four frames at once on the first call.


set up a search box

USER STORY: As a user, I want to enter a value in to a text field and click a submit button to initiate my search.
Acceptance Criteria:
GIVEN: I want to search for recipes
WHEN: The page loads
THEN: I see a text field and button on the page


[Feature] Support custom jsonnet libaries to dashboards

Is your feature request related to a problem? Please describe.
There is a community around custom libaries/versions of jsonnet.
It would be nice to be able to support inject custom versions of jsonnet in to the operator.
(If applicable)If your feature request solves a bug please provide a link to the community issue

https://github.com/grafana-operator/grafana-operator/issues/888

Describe the solution you'd like
As a jsonnet user I would like to make it possible to load custom libies in to grafana-operator.
Describe alternatives you've considered
N/A

I think this should be solved through https://github.com/grafana-operator/grafana-operator/pull/1212
Or what do you think @vchirikov ?
I will close this issue, if you don't agree we can reopen it again.

@NissesSenap I didn't upgrade to v5 (still on v4), and yes as for me https://github.com/grafana-operator/grafana-operator/pull/1212 looks good


Error when building an SSH connection to a remote Host

Hi, i got the following error when trying to load a new DAG(logs from the scheduler ):
 [2016-11-16 10:44:39,687] {jobs.py:680} INFO - Starting the scheduler [2016-11-16 10:44:39,687] {models.py:154} INFO - Filling up the DagBag from /usr/local/airflow/dags [2016-11-16 10:44:39,794] {base_hook.py:53} INFO - Using connection to: <IP_ADDRESS> [2016-11-16 10:44:39,794] {models.py:250} ERROR - Failed to import: /usr/local/airflow/dags/osf_dag_v3.py Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 247, in process_file m = imp.load_source(mod_name, filepath) File "/usr/local/airflow/dags/osf_dag_v3.py", line 29, in <module> ssh_hook = SSHHook(conn_id='ssh_conn') File "/usr/local/lib/python2.7/dist-packages/airflow/contrib/hooks/ssh_hook.py", line 55, in\__init\__ self.key_file = conn.extra_dejson.get('key_file', None) File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 590, in extra_dejson if self.extra: File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py", line 293, in\__get\__ return self.descriptor.\__get\__(instance, owner) File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 534, in get_extra return FERNET.decrypt(bytes(self._extra, 'utf-8')).decode() File "/usr/local/lib/python2.7/dist-packages/cryptography/fernet.py", line 103, in decrypt raise InvalidToken InvalidToken

Hi,
With CeleryExecutor ?

@puckel yes !

Did you've set the environment variable FERNET_KEY ?

    environment:
        # - LOAD_EX=n
        # - FERNET_KEY=9IoTgQ_EJ0hCsamBU3Mctc7F9OkODnndOKCwkwXCAA

i have set it only in the webserver,scheduler and the worker service

Can you confirm it's the same key in airflow.cfg for each container ?

@puckel  you have a point here ! No  it is not the same,
Here is my docker file:
version: '2'
services:
rabbitmq:
image: rabbitmq:3-management
restart: always
ports:
- "15672:15672"
- "5672:5672"
environment:
- RABBITMQ_DEFAULT_USER=airflow
- RABBITMQ_DEFAULT_PASS=airflow
- RABBITMQ_DEFAULT_VHOST=airflow
postgres:
    image: postgres
    environment:
        - POSTGRES_USER=airflow
        - POSTGRES_PASSWORD=airflow
        - POSTGRES_DB=airflow
    volumes:
        - /stor/OSF_Tracking/tmp/postgresql:/var/lib/postgresql/data

webserver:
    image: puckel/docker-airflow
    restart: always
    depends_on:
        - postgres
        - rabbitmq
    environment:
        # - LOAD_EX=n
        - EXECUTOR=Celery
        - FERNET_KEY=9IoTgQ_EJ0hCsamBU3Mctc7F9OkODnndOKCwkwXCAA
    volumes:
        - /stor/OSF_Tracking/airflow_docker/dags_folder:/usr/local/airflow/dags
        - /stor/OSF_Tracking/airflow_docker/logs:/usr/local/airflow/logs
        - /stor/OSF_Tracking/airflow_docker/.ssh:/usr/local/airflow/.ssh
    ports:
        - "9595:9595"
    command: webserver

flower:
    image: puckel/docker-airflow
    restart: always
    depends_on:
        - rabbitmq
    environment:
        - EXECUTOR=Celery
    ports:
        - "5555:5555"
    command: flower

scheduler:
    image: puckel/docker-airflow
    restart: always
    depends_on:
        - webserver
    volumes:
        - /stor/OSF_Tracking/airflow_docker/dags_folder:/usr/local/airflow/dags
        - /stor/OSF_Tracking/airflow_docker/logs:/usr/local/airflow/logs
        - /stor/OSF_Tracking/airflow_docker/.ssh:/usr/local/airflow/.ssh
    environment:
        # - LOAD_EX=n
        - EXECUTOR=Celery
        - FERNET_KEY=9IoTgQ_EJ0hCsamBU3Mctc7F9OkODnndOKCwkwXCAA
    command: scheduler -n 5

worker:
    image: puckel/docker-airflow
    restart: always
    depends_on:
        - scheduler
    volumes:
        - /stor/OSF_Tracking/airflow_docker/dags_folder:/usr/local/airflow/dags
        - /stor/OSF_Tracking/airflow_docker/logs:/usr/local/airflow/logs
        - /stor/OSF_Tracking/airflow_docker/.ssh:/usr/local/airflow/.ssh
    environment:
        - EXECUTOR=Celery
        - FERNET_KEY=9IoTgQ_EJ0hCsamBU3Mctc7F9OkODnndOKCwkwXCAA
    command: worker

and the following is the fernet_key in each container:
Scheduler:
fernet_key = qtdVEfy3meGHSoHe7YsPoED5xY_lQUG6PWwkSZ70yaE=
Worker:
fernet_key = czEGU8lvxThAJ5JVVRm_NxD9S1_QhoiALYDthJubQg0=
Webserver:
fernet_key = 39XvKcNy16agkhw96c-Xc4YgRHa5xMqeREP0V764R8U=

could the problem be with the entrypoint.sh ?

I check

So, I ran both docker-compose executor file and I've the good fernet_key inside each container (I've just pushed docker-compose file with fernet_key enabled)

Do you have some some suggestions how do i fix this problem?

Could you try to ran my example file from last commit ?

@puckel yes, i only have more volumes in my example but everything else is the same. Or should i rebuild the containers before ?

Which version are you using of docker & docker-compose ?

@puckel fixed! but i don't know how. i deleted all the volumes, networks images and did this
docker-compose -f docker-compose-CeleryExecutor.yml up -d
and i now it is fxed. Thank you

No problem. Thanks


"Choose an option" instead of just a blank option

Address field
Dropdown blank option

doing this in the styled select javascript instead.


Bolder bigger headings

This PR:

Increases heading (h1, h2, h3, etc) font weight from 400 to 600

Why? To make headings stand out better from the body text

Increases h1 and h2 font size, slightly decreases h6 size

Why? Brings the headings into better alignment with standard typographic scales. See https://github.com/Quansight-Labs/czi-scientific-python-mgmt/issues/97.

Closes https://github.com/Quansight-Labs/czi-scientific-python-mgmt/issues/97.
Before/after screenshots

Before
After

Thank you @gabalafou this all looks good to me so have approved this PR and unless there are objections in the next couple of days I will merge right then


fails if no git user/token found in $HOME/git/credentials

we get this error which is not very helpful:
error: failed to validate options: failed to create ScmClient: failed to find git token: could not find git token for git server https://github.com

we should prompt the user for a git user/token (or at least give better help).
Workaround
a workaround is either:

supply  --git-user myuser --git-token <bot_git_token>

populate git credentials by hand...

mkdir -p $HOME/git
echo<EMAIL_ADDRESS>>> $HOME/git/credentials

@jstrachan this now has changed from --git-user to --git-username


Type combination test

fix #556

The following warning message will occur in my environment.
RuntimeWarning: invalid value encountered in remainder
I think that it can be resolved by adding invalid='ignore' to argument of NumpyError in mod and imod tests.

LGTM!


Aliasing of argument buffers on breaks padding in some cases

I have been following very closely the development of the Argument Buffer Aliasing pull request, which has already been merged to the main branch, and while experimenting with all kinds of test scenarios I could come up with, I found a bug.
Let's take the following code for example:
layout(binding = 0) uniform texture2D textures2D[];
layout(binding = 0) uniform texture2D otherTextures2D[];
layout(binding = 0) uniform texture3D textures3D[];

layout(binding = 1, rgba8) uniform image2D float8Images2D[];
layout(binding = 1, rg8i) uniform iimage2D int8Images2D[];
layout(binding = 1, r8ui) uniform uimage3D uint8Images3D[];

layout(binding = 2) uniform sampler samplers[];

layout(location = 0) out vec4 Out;
void main()
{
    Out = vec4(1.0f)
        * texture(sampler2D(textures2D[0], samplers[0]), vec2(0.0f, 0.0f))
        * texture(sampler2D(otherTextures2D[0], samplers[0]), vec2(0.0f, 0.0f))
        * texture(sampler3D(textures3D[0], samplers[0]), vec3(0.0f, 0.0f, 0.0f))
        * imageLoad(float8Images2D[index], ivec2(0, 0)).r
        * imageLoad(int8Images2D[0], ivec2(0, 0)).r
        * imageLoad(uint8Images3D[0], ivec3(0, 0, 0)).r
    ;
}

It compiles under default settings, however, enablingspirv_cross::CompilerMSL::Optionspad_argument_buffer_resources (which, realistically, is essential when porting a bindless design to Metal) causes the (previously) common error:
Argument buffer resource base type could not be determined. When padding argument buffer elements, all descriptor set resources must be supplied with a base type by the app.

My padding setup is the following:
constexpr uint32 RESERVED_SET                   = 0;
constexpr uint32 UNIFORM_BUFFER_BINDING         = 0;
constexpr uint32 STORAGE_BUFFER_BINDING         = 1;
constexpr uint32 SAMPLED_IMAGE_BINDING          = 2;
constexpr uint32 STORAGE_IMAGE_BINDING          = 3;
constexpr uint32 SAMPLER_BINDING                = 4;

/* === Reference: https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf === */
constexpr static uint32 UNIFORM_BUFFER_CAPACITY         = 500'000;
constexpr static uint32 STORAGE_BUFFER_CAPACITY         = 500'000;
constexpr static uint32 SAMPLED_IMAGE_CAPACITY          = 500'000;
constexpr static uint32 STORAGE_IMAGE_CAPACITY          = 500'000;
constexpr static uint32 SAMPLER_CAPACITY                = 1024;

constexpr std::array<spirv_cross::MSLResourceBinding, 5> BINDINGS
{
    spirv_cross::MSLResourceBinding {
        .basetype = spirv_cross::SPIRType::Void,
        .desc_set = RESERVED_SET,
        .binding = UNIFORM_BUFFER_BINDING,
        .count = UNIFORM_BUFFER_CAPACITY
    },
    spirv_cross::MSLResourceBinding {
        .basetype = spirv_cross::SPIRType::Void,
        .desc_set = RESERVED_SET,
        .binding = STORAGE_BUFFER_BINDING,
        .count = STORAGE_BUFFER_CAPACITY
    },
    spirv_cross::MSLResourceBinding {
        .basetype = spirv_cross::SPIRType::SampledImage,
        .desc_set = RESERVED_SET,
        .binding = SAMPLED_IMAGE_BINDING,
        .count = SAMPLED_IMAGE_CAPACITY
    },
    spirv_cross::MSLResourceBinding {
        .basetype = spirv_cross::SPIRType::Image,
        .desc_set = RESERVED_SET,
        .binding = STORAGE_IMAGE_BINDING,
        .count = STORAGE_IMAGE_CAPACITY
    },
    spirv_cross::MSLResourceBinding {
        .basetype = spirv_cross::SPIRType::Sampler,
        .desc_set = RESERVED_SET,
        .binding = SAMPLER_BINDING,
        .count = SAMPLER_CAPACITY
    }
};

It seems the error only occurs when you have more than 2 sampled image aliases and/or more than 2 storage image aliases (commenting out at least 1 sampled image and at least 1 storage image allows for padded compilation). I am not sure as to why this could be happening, and, yes, though a niche use-case, it is a legal one, and should be supported.

This fix should be merged now on master right? @billhollings

Nvm, this is probably something else.

misclick

I applied this diff:
diff --git a/main.cpp b/main.cpp
index 9e768ef0..a8f6ffbf 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1259,7 +1259,50 @@ static string compile_iteration(const CLIArguments &args, std::vector<uint32_t>
         msl_opts.replace_recursive_inputs = args.msl_replace_recursive_inputs;
         msl_opts.readwrite_texture_fences = args.msl_readwrite_texture_fences;
         msl_opts.agx_manual_cube_grad_fixup = args.msl_agx_manual_cube_grad_fixup;
+        msl_opts.pad_argument_buffer_resources = true;
+
         msl_comp->set_msl_options(msl_opts);
+
+        {
+            constexpr uint32_t RESERVED_SET                   = 0;
+            constexpr uint32_t SAMPLED_IMAGE_BINDING          = 0;
+            constexpr uint32_t STORAGE_IMAGE_BINDING          = 1;
+            constexpr uint32_t SAMPLER_BINDING                = 2;
+            constexpr uint32_t UBO_BINDING                    = 3;
+
+            constexpr static uint32_t SAMPLED_IMAGE_CAPACITY          = 5000;
+            constexpr static uint32_t STORAGE_IMAGE_CAPACITY          = 5000;
+            constexpr static uint32_t SAMPLER_CAPACITY                = 1024;
+            constexpr static uint32_t UBO_CAPACITY                    = 16;
+
+            MSLResourceBinding bindings[4] = {};
+            for (auto &b : bindings)
+            {
+                b.stage = ExecutionModelFragment;
+                b.desc_set = RESERVED_SET;
+            }
+
+            bindings[0].basetype = SPIRType::Image; // Sampled image and storage image use Image.
+            bindings[0].binding = SAMPLED_IMAGE_BINDING;
+            bindings[0].count = SAMPLED_IMAGE_CAPACITY;
+            bindings[0].msl_texture = 0;
+            bindings[1].basetype = SPIRType::Image;
+            bindings[1].binding = STORAGE_IMAGE_BINDING;
+            bindings[1].count = STORAGE_IMAGE_CAPACITY;
+            bindings[1].msl_texture = 5000;
+            bindings[2].basetype = SPIRType::Sampler;
+            bindings[2].binding = SAMPLER_BINDING;
+            bindings[2].count = SAMPLER_CAPACITY;
+            bindings[2].msl_sampler = 10000;
+            bindings[3].basetype = SPIRType::Void;
+            bindings[3].binding = UBO_BINDING;
+            bindings[3].count = UBO_CAPACITY;
+            bindings[3].msl_buffer = 10000 + SAMPLER_CAPACITY;
+
+            for (auto &b : bindings)
+                msl_comp->add_msl_resource_binding(b);
+        }
+
         for (auto &v : args.msl_discrete_descriptor_sets)
             msl_comp->add_discrete_descriptor_set(v);
         for (auto &v : args.msl_device_argument_buffers)

With this shader:
#version 450
#extension GL_EXT_nonuniform_qualifier : require
layout(binding = 0) uniform texture2D textures2D[];
layout(binding = 0) uniform texture2D otherTextures2D[];
layout(binding = 0) uniform texture3D textures3D[];

layout(binding = 1, rgba8) uniform image2D float8Images2D[];
layout(binding = 1, rg8i) uniform iimage2D int8Images2D[];
layout(binding = 1, r8ui) uniform uimage3D uint8Images3D[];

layout(binding = 2) uniform sampler samplers[];

layout(binding = 3) uniform UBO { vec4 v; } vs[];
layout(binding = 3) uniform UBO2 { float v; } vs2[];

layout(location = 0) out vec4 Out;
layout(location = 1) flat in int index;

vec4 in_func()
{
    return vec4(1.0f)
        * texture(sampler2D(textures2D[0], samplers[0]), vec2(0.0f, 0.0f))
        * texture(sampler2D(otherTextures2D[1], samplers[0]), vec2(0.0f, 0.0f))
        * texture(sampler3D(textures3D[2], samplers[0]), vec3(0.0f, 0.0f, 0.0f))
        * imageLoad(float8Images2D[index], ivec2(0, 0)).r
        * imageLoad(int8Images2D[0], ivec2(0, 0)).r
        * imageLoad(uint8Images3D[0], ivec3(0, 0, 0)).r + vs[index].v + vs2[0].v;
}

void main()
{
	Out = in_func();
}

./spirv-cross /tmp/test.spv --msl --msl-argument-buffers --msl-version 30000
#pragma clang diagnostic ignored "-Wmissing-prototypes"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types-discards-qualifiers"

#include <metal_stdlib>
#include <simd/simd.h>

using namespace metal;

struct UBO
{
    float4 v;
};

struct UBO2
{
    float v;
};

struct spvDescriptorSetBuffer0
{
    array<texture2d<float>, 5000> textures2D [[id(0)]];
    // Overlapping binding: array<texture2d<float>, 5000> otherTextures2D [[id(0)]];
    // Overlapping binding: array<texture3d<float>, 5000> textures3D [[id(0)]];
    array<texture2d<float>, 5000> float8Images2D [[id(5000)]];
    // Overlapping binding: array<texture2d<int>, 5000> int8Images2D [[id(5000)]];
    // Overlapping binding: array<texture3d<uint>, 5000> uint8Images3D [[id(5000)]];
    array<sampler, 1024> samplers [[id(10000)]];
    constant UBO* vs [[id(11024)]][16];
    // Overlapping binding: constant UBO2* vs2 [[id(11024)]][16];
};

struct main0_out
{
    float4 Out [[color(0)]];
};

struct main0_in
{
    int index [[user(locn1)]];
};

static inline __attribute__((always_inline))
float4 in_func(constant array<texture2d<float>, 5000>& textures2D, constant array<sampler, 1024>& samplers, constant array<texture2d<float>, 5000>& otherTextures2D, constant array<texture3d<float>, 5000>& textures3D, constant array<texture2d<float>, 5000>& float8Images2D, thread int& index, constant array<texture2d<int>, 5000>& int8Images2D, constant array<texture3d<uint>, 5000>& uint8Images3D, constant UBO* constant (&vs)[16], constant UBO2* constant (&vs2)[16])
{
    return (((((((float4(1.0) * textures2D[0].sample(samplers[0], float2(0.0))) * otherTextures2D[1].sample(samplers[0], float2(0.0))) * textures3D[2].sample(samplers[0], float3(0.0))) * float8Images2D[index].read(uint2(int2(0))).x) * float(int8Images2D[0].read(uint2(int2(0))).x)) * float(uint8Images3D[0].read(uint3(int3(0))).x)) + vs[index]->v) + float4(vs2[0]->v);
}

fragment main0_out main0(main0_in in [[stage_in]], constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0)]])
{
    main0_out out = {};
    constant auto &otherTextures2D = reinterpret_cast<constant array<texture2d<float>, 5000> &>(spvDescriptorSet0.textures2D);
    constant auto &textures3D = reinterpret_cast<constant array<texture3d<float>, 5000> &>(spvDescriptorSet0.textures2D);
    constant auto &int8Images2D = reinterpret_cast<constant array<texture2d<int>, 5000> &>(spvDescriptorSet0.float8Images2D);
    constant auto &uint8Images3D = reinterpret_cast<constant array<texture3d<uint>, 5000> &>(spvDescriptorSet0.float8Images2D);
    constant auto &vs2 = reinterpret_cast<constant UBO2* constant (&)[16]>(spvDescriptorSet0.vs);
    out.Out = in_func(spvDescriptorSet0.textures2D, spvDescriptorSet0.samplers, otherTextures2D, textures3D, spvDescriptorSet0.float8Images2D, in.index, int8Images2D, uint8Images3D, spvDescriptorSet0.vs, vs2);
    return out;
}


{"unsealed":true,"error":"The role requested does not exist."}

I am trying to solve this but not able to get any help.
i have the policy in place as per the documentation.
btw not able to proceed futher because of this.
curl -X POST -d"{"task_id":"n.9bc5088a-9e0f-11e9-a6d9-024258bea194"}" 'http://localhost:9201/token'
{"unsealed":true,"error":"The role requested does not exist."}

I'm getting this too but can't remember if I had a workaround that fixed it or not a few months back when I tested things out, or perhaps it's environmental.... idk.
Hopefully someone bumps this and if I figure out in the meantime will do so.

If you are getting ErrNoSuchRole, that means the AppRole you are trying to use doesn't exist. Let's say in your vault config you have { roles: ["test"] } - you should have created an approle of the same name:
vault write auth/approle/role/test \
    secret_id_ttl=10m \
    secret_id_num_uses=1 \
    policies=default \
    token_ttl=60m \
    period=60m

Gatekeeper leverages approles, so the ACLs you need should be tied the AppRole. You should take a look at the Getting Started guide if you are having trouble.

Thanks for the response! I'll have some time later today to jump back on this and will post what I find.


Behaviour when invoked without any options

Seems like when vmdfmt is invoked without any options or files, it gets stuck. Perhaps when this is the case it should default to vmdfmt -h or something?

With no arguments it behaves the same as gofmt, reading from standard input. I guess that could be useful somehow. I would have added -d, but with the stated use case of this tool, it is just as easy to use git diff, so I did not implement that.. I don't understand what vmdfmt -h is supposed to be. I would consider replacing this option with - for stdin. But, I was going for compatibility with gofmt.

With no arguments it behaves the same as gofmt, reading from standard input. I guess that could be useful somehow. I would have added -d, but with the stated use case of this tool, it is just as easy to use git diff, so I did not implement that..

I would consider replacing this option with - for stdin. But, I was going for compatibility with gofmt.

Gotcha. This all makes sense now. :+1:

I don't understand what vmdfmt -h is supposed to be.

I expected it to mean "help", ie. "show me available options". My thought was that it must be implemented somewhere considering if I invoke a random and meaningless flag such as vmdfmt -z, it outputs flag provided but not defined: -z ... but vmdfmt -h doesn't give this message. Maybe that behaviour is from the flag package?


Prevent duplicate field names

To prevent duplicate field names a numeric suffix (n) is added to the original field name.
It indicates that a field name is the nth-duplicate.
refers to #46

Thank you, @FObermaier, for addressing the issue. The changes look fine. I especially appreciate the update to the test libraries, which had been on my list for a long time until you tackled it :-)


fix(deps): update module dagger.io/dagger to v0.9.3

This PR contains the following updates:

Package
Type
Update
Change

dagger.io/dagger
require
patch
v0.9.2 -> v0.9.3

Release Notes

dagger/dagger-go-sdk (dagger.io/dagger)
v0.9.3
Compare Source
This SDK uses 🚙 Engine + 🚗 CLI version v0.9.3. See what changed in that release.
🐹<EMAIL_ADDRESS>Dependencies

Bump Engine to v0.9.3 by @github-actions in https://github.com/dagger/dagger/pull/6061

What to do next

Read the documentation
Join our Discord server
Follow us on Twitter

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 5.2.18 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket: