Microsoft.IdentityModel.Protocols.WsTrust package updates

On nuget, the Microsoft.IdentityModel.Protocols.WsTrust package is at 6.8.0. This package obviously comes from the brentsch/wstrust branch. However, it isn't on the main branch and it hasn't been updated in tandem with the rest of the Microsoft.IdentityModel.* packages. Any specific reason for this?

Another minor version has been released and no update for the WS-Trust package. Any news on this?

Any update on this?

@brentschmaltz Has development of the WS-Trust extension stopped?

I would love to know if this has been abandoned so that I could possibly fork it for my own uses.

Please check Microsoft.IdentityModel.Protocols.WsFederation

I needed to find source code of the Microsoft.IdentityModel.Protocols.WsTrust and couldn't find it anywhere. It's only until I found this question that I figured out where the repo is. Just in case someone needs it like me: you need to switch to the brentsch/wstrust branch:
https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/tree/brentsch/wstrust/src/Microsoft.IdentityModel.Protocols.WsTrust


use t.Fatal() to output the err message and fix typo

- What I did
1.use t.Fatal() to output the err message where the values used for formatting text does not appear to contain a placeholder
2.use errors.New() to return err message
3.fix misspell "semantically"
- How I did it
- How to verify it
- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

09:08:09 These files are not properly gofmt'd:
09:08:09  - api/types/filters/parse_test.go
09:08:09  - builder/dockerfile/dispatchers_unix.go
09:08:09
09:08:09 Please reformat the above files using "gofmt -s -w" and commit the result.

Also, can you update the commit message and PR description to better describe the change (it's not really removing redundant code)

I have updated the PR, please review it again. Thinks! @thaJeztah @cpuguy83

oh, sorry. I will update it.


Rework the labels of this issue tracker

They are not adequate.

Done. 5 simple tags should be enough for now.


Find in page "/" hotkey triggers when typing into URL bar

We should probably kill propagation in the URL bar's input element.

This also occurs on some pages using a keyboard shortcut like ? such as Github or Gmail, where the find in page appears and might be a little confusing.


Mousewheel Fail when refresh

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: ^5.2.1

Platform/Target and Browser Versions:  macOS(0.14.3), Chrome(79.0.3945.88), safari(12.0.3)

Live Link or JSFiddle/Codepen or website with isssue:  https://swiperjs.com/demos/270-mousewheel-control.html

What you did
Refreshing the website and don't move my mouse, scroll mouse wheel, the page doesn't scroll. If I move the mouse or click, the bug is fixed and I can scroll the page.
This occurs  when I use touchpad too.
Expected Behavior
When I refresh the page, even I don't move the mouse, I can scroll the website.
Actual Behavior
This bug happens in my project, too. My config is as below:
swiperOption: {
                    direction: 'vertical',
                    mousewheel: {
                        disable: true,
                        sensitivity: 5
                    },
                    speed: 800,
                    parallax: true,
                    slidesPerView: 'auto'
                }

Then I debug the source code of swiper, I find the bug is caused by
https://github.com/nolimits4web/swiper/blob/765d9a1c062f5ee7d0a583576082cd1542988673/src/components/mousewheel/mousewheel.js#L124
before I move the mouse, swiper.mouseEntered = false, and releaseOnEdges = false cause I don't need this.
My solution is to set releaseOnEdges = true and this is fixed, but it's not reasonable cause I don't want releaseOnEdges feature。This problem was discussed here: #2624
I'll commit a pr to fix this, and it works in my project

Fixed in #3383


Minimum criteria for new maintainers?

Is there any minimum criteria/qualifications for a new maintainer to be added to this project?
For example:

number of community calls attended
involvement in mailing list
involvement in WG efforts
number of commits
comment history

?

For myself, I held off saying I'd be interested in being a maintainer until I had gone through the process of submitting a PR since I feel that helps understand the project and the other side of what maintainers do. That's my personal criteria, and I think exceptions make sense, particularly for anyone that participates in PRs without authoring the commit.
I do think it would be useful for OCI to consider the various roles in the spec and try to seek out maintainers to represent those roles. E.g. major SaaS provider, self hosted vendor, runtime author, and other client tooling each come to mind.

cc @rnjudge who had some previous thoughts/questions here

Thanks for the tag @jdolitsky! My two cents:
At a minimum:

Participation in the weekly community meetings
Involvement in mailing list when applicable (hard to quantify this)
Involvement in WG efforts (also hard to quantify this beyond showing up to general meetings)

I'm not sure you want to quantify a specific number of commits or comments. There's not really a lot of commits going into this project all the time so if someone wanted to be a new maintainer it might be hard to get them onboard with a minimum number of commits required. I agree that they should at least have opened or co-authored a PR though. At least one seems reasonable. It also seems reasonable to expect that maintainers are reviewing PRs and providing feedback for issues.
I would also consider how many maintainers from each company there is. Typically you want a fairly even representation among companies. Assigning a number to this depends on how many maintainers there will be. Is there going to be a set number or is is it just however many fit the criteria? Other things to consider: are new maintainers nominated by existing maintainers or can someone self-nominate?

At a minimum:

Participation in the weekly community meetings

Sounds exclusive to timezone minorities 😞

I've added this to the call agenda for this week. Will be sure to keep in mind the timezone issue @AkihiroSuda

Consensus on todays call appeared to be:

No one criteria qualifies/disqualifies a potential maintainer
Only requirement is nomination must come from an existing OCI maintainer (any repo)
Create a PR template for this where the nominator can fill out the individuals track record cc @nishakm

add sections for various criteria such as what @rnjudge provided
no requirement for attending calls (timezone issue), but it can still be included in the PR @AkihiroSuda
using https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository (thanks @flavianmissi)

The existing maintainers should "feel good" about adding this person, based on recommendation, criteria, and personal experience working with them


Helm Syntax is out of date

I have just started this tutorial and installed helm (version 3.0.0) and the syntax is incorrect for the helm commands

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

ID: c1a53f1e-4a0f-e340-b0ab-0e75046afbac
Version Independent ID: 14170d59-92c9-6639-7def-51e7e28da3cd
Content: How to install IoT Edge on Kubernetes
Content Source: articles/iot-edge/how-to-install-iot-edge-kubernetes.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: veyalla

@turnerno8 Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Hi, any update on the latest helm instructions? We did try updating the helm to latest version and updated some of the commands but still it is giving us error. We suspect this may be due to helm charts not being up to date."https://edgek8s.blob.core.windows.net/helm/"

@veyalla Would you take a look at this issue?

The current charts are only compatible with Helm 2.
We'll be releasing updated charts with support for Helm 3 soon. If you need use this with Helm 3 urgently, please send me a mail at<EMAIL_ADDRESS>I will try to help you get unblocked.

Sorry, I forgot to answer
I downloaded the files, editted them and managed to get it working for now.

Thanks for confirming that you were unblocked @turnerno8. I'm going to close this issue now. If there are any more concerns or questions around this topic, feel free to comment here and we can reopen if necessary.
#please-close


Docker registry out of date

Seems like the automated build didn't pick up the most recent KEEP_TAGS stuff.

I posted a TODO for this for wednesday 25th to check what happened, if this is quite urgent please let me know and I'll try my best to look up at it quickly.

Not urgent at all. Not even using this yet, just wanted to drop you a line
about it.
On Fri, Mar 20, 2015, 12:35 David Pelaez<EMAIL_ADDRESS>wrote:

I posted a TODO for this for wednesday 25th to check what happened, if
this is quite urgent please let me know and I'll try my best to look up at
it quickly.
—
Reply to this email directly or view it on GitHub
https://github.com/vlipco/srv-router/issues/6#issuecomment-84063345.


The TensorFlow library was compiled to use SSE4.2 instructions, but these aren't available on your machine.

Hi is there anyway to resolve this or is my machine a little to old

You could try the noavx image. THat might work.


digitalWrite is not working when pinValue is false (0)

To turn off the LED, I sent pinNum (7) and pinValue (0).
The service replied BadJson messege to me instead of turning off the LED.
I think this code will be modified.
if((!num) || (!value)) {
LSMessageReplyErrorBadJson(sh,message);
return false;
}

Value 0 makes unexpected exception.
It should be changed when the value is 0.
Also, I guess it should be the same when pinNum is 0 as well.
Thank you.

I think it will change to check BadJson when key that received from luna call doesn't have pinNum or pinValue.

Value 0 makes unexpected exception.
It should be changed when the value is 0.
Also, I guess it should be the same when pinNum is 0 as well.
Thank you.


Very slow / hangs

For example open this repository using HIE for Atom or VSCode and then open Build.hs, in both editors the CPU will get maxed out for minutes (I don't know if it ever stops). During this time Atom interface hangs and nothing is being shown on hover in any of them.

I'm getting this too now, hasn't happened with the HIE version I used previously (I think that was c68ba8d5cfb9cb89d04efd2bbda575d055a5e10b, now using master (d769a30608cd5393cdffcece38549cc6269942ed)). I could do a bisection if that's wanted.
It's unbearably slow, hangs for around 3 minutes at 100% CPU. Looking at the system calls (via htop) reveals no calls happening. No subprocesses running either. The logs silent during that time, and my emacs hangs upon typing during that time.
It happens every time HIE gets restarted, there's no caching happening.

Here are the logs of my ~4 minute hang at the start: https://gist.github.com/d480967ced87f011a6782890fa83dfd9
Ping @Bubba

Note that this slowdown only happens exactly once during a HIE run. And it happens whenever it first encounters a module using template haskell. This means I can write a simple
module Main where
main = putStrLn "hi"

then start HIE, everything fine, no slowdown. Then I can add
{#- LANGUAGE TemplateHaskell -#}
module Main where
main = putStrLn "hi"

and the slowdown happens (4 minutes), after that everything works fine again, I can even remove template haskell again and readd it, no slowdown ever again in that HIE session.
I can then restart HIE on that file, and the slowdown happens on startup again, because template haskell is present then.

With latest master, the problem isn't there (06de34eb53667a6b90ead0907dd002156b1638ab)

Aha! This is due to hie-nix doing static linking by default. I've now switched to my new https://github.com/infinisil/all-hies and will merge https://github.com/Infinisil/all-hies/pull/3 soon which fixes it.

Afaiu this one could be closed, feel free to reopen if it is not the case


How to reduce encode/decode time

I'm having an issue relates to encode/decode time in some Android devices have low CPU and RAM. I would like to reduce the encode/decode time, the quality is not important. Here are my information:
OpenH264 revision: 8c60f84f7b
Using NEON: enabled
Encode initiation:
oh264_data->enc->GetDefaultParams(&eprm);
eprm.uiIntraPeriod = 8;
eprm.iTemporalLayerNum = 1;
eprm.iSpatialLayerNum = 1;
eprm.iUsageType = CAMERA_VIDEO_REAL_TIME;
eprm.iPicWidth = 640;
eprm.iPicHeight = 480;
eprm.iRCMode = RC_TIMESTAMP_MODE;
eprm.iTargetBitrate = 512000;
eprm.fMaxFrameRate = 25;
eprm.uiMaxNalSize = 1500;
eprm.bEnableFrameSkip = false; // frame skipping
eprm.bEnableDenoise = false; // denoise control
eprm.bEnableBackgroundDetection = false; // background detection control
eprm.bEnableAdaptiveQuant = 0; // adaptive quantization control
eprm.bEnableLongTermReference = false;
eprm.iLTRRefNum = 0;
eprm.iLtrMarkPeriod = 30;
eprm.bIsLosslessLink = false;
//eprm.bPrefixNalAddingCtrl = false;
eprm.bEnableSSEI = false;
eprm.bSimulcastAVC = false;
eprm.iNumRefFrame = AUTO_REF_PIC_COUNT;
eprm.iMultipleThreadIdc = 0;
SliceModeEnum sliceMode = (oh264_data->whole ? SM_SINGLE_SLICE : SM_DYN_SLICE);
// Intialize 4 spatial layer with differrent bitrate (same res)
for (int i = 0; i < eprm.iSpatialLayerNum; i++) {
if (i == 0)
eprm.sSpatialLayers[i].uiProfileIdc = PRO_BASELINE;
else
eprm.sSpatialLayers[i].uiProfileIdc = PRO_SCALABLE_BASELINE;
eprm.sSpatialLayers[i].uiLevelIdc = LEVEL_3_1;
eprm.sSpatialLayers[i].iVideoWidth = eprm.iPicWidth;
eprm.sSpatialLayers[i].iVideoHeight = eprm.iPicHeight;
eprm.sSpatialLayers[i].iSpatialBitrate = eprm.iTargetBitrate;
eprm.sSpatialLayers[1].iMaxSpatialBitrate = eprm.iMaxBitrate;
eprm.sSpatialLayers[i].fFrameRate = eprm.fMaxFrameRate;
eprm.sSpatialLayers[i].sSliceCfg.uiSliceMode = sliceMode;
if (eprm.sSpatialLayers[i].sSliceCfg.uiSliceMode == SM_DYN_SLICE) {
eprm.sSpatialLayers[i].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = param->enc_mtu;
eprm.uiMaxNalSize = param->enc_mtu;
}
}
Please let me know how to do and configure suitable parameters. Thanks in advance!

you can set the target resolution to be smaller than source resolution, for example by setting target resolution to be 320x240 given a 640x480 source.

Thanks for your comment but I want to do it from the encode because the input frame must be in 640x480. Do you know if there is any parameter of encoder can change the encode time?

in this line:
(oh264_data->whole ? SM_SINGLE_SLICE : SM_DYN_SLICE)
you may try replacing SM_SINGLE_SLICE to SM_FIXEDSLCNUM_SLICE, and set the slice num to be for example 4, this will enable multi-threading when (oh264_data->whole) is true.
The present multi-threading may not have a very good up-speeding, we are planning some improvements on multi-threading as well.

When setting the uiSliceNum to 4 the remote just shows apart of the top frame, the bottom always be blinked and displayed one color.

interesting, seems either there is some limitation in the packetization part or the decoder at receiver side has problem in decoding multi-slice bit streams.

Yep, maybe like that.

if you are not using openh264 decoder at the receiver side then we have nothing to do with this.

Ok. Thank you very much for your support.


Cannot search for keys in asset search

@raaghavvd_twitter via gitter https://gitter.im/bigchaindb/bigchaindb?at=5a1b954c232e79134dd6e1b6

Hey @ttmc , I'm working with ipdb .
so, I created an asset
bicycle = {
'data': {
'devgon': {
'serial_number': 'XX2334C',
'manufacturer': 'bkfab',
},
},
}
then, at the end of the program , I tried to run
print(bdb.assets.get(search='devgon'))
it yielded out an empty list.
Why so?

The Problem

A user wants to search an asset based on the name of a key.
I checked, our documentation currently doesn't say that asset search only searches for values instead of keys.

Hi Tim, I was successful when I tried to search the asset via the value associated with the key .
For e.g.: bdb.assets.get(search='XX234C')  : re the above example .
I think if we search the asset using a key in a database such as ipdb which is harbouring a lot of assets , it might give out some extra information (maybe).
So, if we search the asset using the key it's more secure .

On second thoughts, even if add an extra layer of security for the user to specifically search for an asset, there is a chance that any person can still access the rest of it . i.e if  my asset is
{'data': {'identity_number': '76', 'address': 'sad', 'pincode': '110096', 'area': '34', 'cost': '5000000',
'hashx': [['f74efabef12ea619e30b79bddef89cffa9dda494761681ca862cff2871a85980']]}, 'id': 'eb6c730d789581cfea4b9a35da
2c04eb3e6c9e08c41e362dac65485bc0187e2c'}, {'data': {'identity_number': '76', 'address': 'hogwarts2', 'pincode': '23
4', 'Description': 'castle', 'area': '2300', 'cost': '1222222', 'hashx': 'f74efabef12ea619e30b79bddef89cffa9dda4947
61681ca862cff2871a85980'}, 'id': 'b47818712d01dfb0613c1c5566655a0b151e459fa777bba6e92beffbdce67933'}]
any person can access this asset if they match any key values, which is a big problem. there is a need to make this more secure if one is using IPDB.

Full text search should still be option, IMO since data security should not rest on what the search capabilities are (other security measures should be used besides search), however, I agree that key='value' search should be supported as well as logical AND / logical OR (i.e. key1='value1' AND key2='value2' ...). That will provide more granularity in searching for assets (closer to a SQL style query)

That would be better.
@TimDaub  what do you think?

This is not a bug. It's either a feature request or a documentation request, i.e. it's sad that the documentation doesn't say anything about only searching across values (and not keys), but this is just how MongoDB's not-broken, not-buggy full-text search works. I'm removing the "bug" label.


[AutoPR resources/resource-manager] Add userAssignedIdentities

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3283

Can one of the admins verify this patch?

This PR has been merged into https://github.com/Azure/azure-sdk-for-java/pull/2194


NGINX  setup 🆘

i am running a domain with nginx webserver
how do i connect this fastsitephp app to this domain i am only able to run it with php -S localhost or php -S my_server_ip:port but using these i am not able to load up the app in a specific domain that is connected to my server
please help me with the ngxin config !!
even tried the .sh installer file but it only messed up the existing config file and crached all other domains connected to my server so not intrested in running that file again !!!! 😂😂
please help me with connecting the app to a domain.

my doubt is that if i am setting the root directory as root /var/www/mysite.com/ and i have installed the fastsitephp with composer in that same direcotry /var/www/mysite.com/. what next should i do ??
i have a index.php file from your examples :
<?php

require 'vendor/autoload.php';

$app = new \FastSitePHP\Application();
$app->setup('UTC');

$app->get('/', function() {
    return 'Hello World!';
});

$app->get('/site', function() use ($app) {
    return [
        'rootUrl' => $app->rootUrl(),
        'rootDir' => $app->rootDir(),
        'requestedPath' => $app->requestedPath(),
    ];
});

$app->get('/cached-file', function() {
    $file_path = __FILE__;
    $res = new \FastSitePHP\Web\Response();
    return $res->file($file_path, 'text', 'etag:md5', 'private');
});

$app->get('/whats-my-ip', function() {
    $req = new \FastSitePHP\Web\Request();
    return [
        'ipAddress' => $req->clientIp('from proxy', 'trust local'),
    ];
})
->filter(function() use ($app) {
    $app
        ->noCache()
        ->cors('*');
});

$app->run();

i am using this code and when i visit mysite.com/whats-my-ip this is what i see

and its working fine when i visit /

so where is the problem ?
this is my nginx config for this domain
server {
    server_name domain.dev;
    root /var/www/domain.dev;

    access_log /var/log/nginx/access.log;
    error_log /var/www/domain.dev/error.log;

    index index.php  index.html;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    }

    location / {
        try_files $uri $uri/ $uri.php?$args;
    }

    location ~ /\.ht {
		deny all;
	}

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/domain.dev/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.dev/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

i am actually using a sub domain in the above config i didnt reveal what my real domain is or what my subdomain is.

Hi @mrbeandev
I'm sorry for the delay in getting back to you. If you still need help I'll make sure to respond quickly this week and I can also help with detailed testing including modify the Framework code to help solve the issue.
At a glance here are several items to try:
Have you specified the sub-domain in the server_name property?:
    server_name sub.domain.dev;

In my successful server setups I see that I have always specified location / before location ~ \.php$; I currently do not recall nginx priority order for these rules but but it's a difference I noticed.
	location / {
		try_files $uri $uri/ /index.php$is_args$args;
	}
	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
	}

FastSitePHP is designed to handle many different scenarios for server setup (Linux Main Domain, Sub-domain, IIS Main Site, Sub-Directory, etc). If you are still working on this and have trouble please let me know the OS and nginx version so I can try to replicate the issue.


[bug 1192] fuel cost

jumbofurnace-1.19.2-<IP_ADDRESS>
normally, 64 iron ore cost 8 coal

but when something is about to be smelted, and put 64 iron ore as input

it will just cost less then 8 coal

I fixed this in 1.21


testing: data race in testing.go

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

tip

What operating system and processor architecture are you using (go env)?

Linux.
WARNING: DATA RACE

Read at 0x00c4200a6404 by goroutine 29:

  testing.(*common).Fail()

      /home/travis/.gimme/versions/go/src/testing/testing.go:411 +0x9f

  testing.(*common).FailNow()

      /home/travis/.gimme/versions/go/src/testing/testing.go:431 +0x38

  testing.(*common).Fatalf()

      /home/travis/.gimme/versions/go/src/testing/testing.go:496 +0x94

  github.com/fsnotify/fsnotify.TestInotifyStress.func3()

      /home/travis/gopath/src/github.com/fsnotify/fsnotify/inotify_test.go:223 +0x18b

Previous write at 0x00c4200a6404 by goroutine 25:

  testing.tRunner.func1()

      /home/travis/.gimme/versions/go/src/testing/testing.go:605 +0x34a

  testing.tRunner()

      /home/travis/.gimme/versions/go/src/testing/testing.go:612 +0xe5

Goroutine 29 (running) created at:

  github.com/fsnotify/fsnotify.TestInotifyStress()

      /home/travis/gopath/src/github.com/fsnotify/fsnotify/inotify_test.go:227 +0x318

  testing.tRunner()

      /home/travis/.gimme/versions/go/src/testing/testing.go:610 +0xc9

Goroutine 25 (finished) created at:

  testing.(*T).Run()

      /home/travis/.gimme/versions/go/src/testing/testing.go:646 +0x52f

  testing.RunTests.func1()

      /home/travis/.gimme/versions/go/src/testing/testing.go:793 +0xb9

  testing.tRunner()

      /home/travis/.gimme/versions/go/src/testing/testing.go:610 +0xc9

  testing.RunTests()

      /home/travis/.gimme/versions/go/src/testing/testing.go:799 +0x4b5

  testing.(*M).Run()

      /home/travis/.gimme/versions/go/src/testing/testing.go:743 +0x12f

  main.main()

      github.com/fsnotify/fsnotify/_test/_testmain.go:114 +0x1b4

==================

panic: Fail in goroutine after TestInotifyStress has completed

goroutine 37 [running]:

panic(0x58d060, 0xc420017440)

	/home/travis/.gimme/versions/go/src/runtime/panic.go:500 +0x1ae

testing.(*common).Fail(0xc4200a63c0)

	/home/travis/.gimme/versions/go/src/testing/testing.go:412 +0x182

testing.(*common).FailNow(0xc4200a63c0)

	/home/travis/.gimme/versions/go/src/testing/testing.go:431 +0x39

testing.(*common).Fatalf(0xc4200a63c0, 0x5bc565, 0x11, 0xc42003ff60, 0x1, 0x1)

	/home/travis/.gimme/versions/go/src/testing/testing.go:496 +0x95

github.com/fsnotify/fsnotify.TestInotifyStress.func3(0xc42001b020, 0xc42000cb60, 0x1f, 0xc4200a63c0)

	/home/travis/gopath/src/github.com/fsnotify/fsnotify/inotify_test.go:223 +0x18c

created by github.com/fsnotify/fsnotify.TestInotifyStress

	/home/travis/gopath/src/github.com/fsnotify/fsnotify/inotify_test.go:227 +0x319

exit status 2

See https://travis-ci.org/fsnotify/fsnotify/jobs/124355194
There have been several related issues with the fsnotify build on Linux on tip lately.
See https://github.com/fsnotify/fsnotify/issues/150

This is actually intended behavior.
If you read the panic in https://travis-ci.org/fsnotify/fsnotify/jobs/135335818, you see the message:
panic: Fail in goroutine after TestInotifyStress has completed.  What this means is that one of the tests called t.Error or t.Fatal some time after the Test function had returned.
Prior to Go 1.7, the testing package would silently ignore this situation, but in Go1.7 it would now complain loudly when this happened.
If this is not the case, feel free to re-open this issue!

@dsnet a data race can never be intented behaviour; data race means "all bets are off" and should be fixe -- or at least not brushed off with a "I don't think this is an issue anymore". There are two issues in the log above. I have no access to reopen this issue, so please do.

@bep, the issue is in the fsnotify code, you should raise the error there.

The data race is in the Go code.

@bep i'm sorry it is not. The race is because the fsnotify test is calling Fatal in a goroutine it has spawned from the main testing goroutine. This is specifically prohibited, and noted explicitly when running under the race detector.

It is intended behavior in the sense that calling t.Error or t.Fatal after the Test function has returned was undefined behavior. If you think about it, there is a no sensible action in this situation other than to complain loudly. If we were to ignore the Error (as in 1.6 behavior), that leads to tests that may mistakenly report PASS, when it was intended that they FAIL. If we were to allow Error after the Test function returned, then the tests may pass or fail in non-deterministic ways, especially if the Test in question happened to be the last Test run.
Thus, correct Go tests must ensure that they don't call Error or Fatal after the Test completes.

@bep FYI see https://github.com/golang/go/issues/15654 and https://golang.org/cl/23320 for more info.

Russ' comment on that CL is helpful:

The Lock/Unlock here is only to synchronize buggy tests that are racing the test finishing against another goroutine calling t.Fail. If you take the lock out, then tests run under the race detector will report the race, possibly more reliably. So probably take the Lock out.

Thanks for the context, will track this on fsnotify.


Metadata update for recent ICT submissions

Metadata update at the request of the ICT team, relayed via email.

Thanks for that!

Thanks for that!


Add echasnovski/mini.nvim#mini.animate

Checklist:

[x] The plugin is specifically built for Neovim, or if it's a colorscheme, it supports treesitter syntax.
[x] The lines end with a .. This is to conform to awesome-list linting and requirements.
[x] It's not already on the list.
[x] The title of the pull request is Add/Update/Remove `username/repo`  when adding a new plugin.
[x] The description doesn't start with A Neovim plugin for.., or A plugin for...
[x] The description doesn't mention that it's a Neovim plugin, it's obvious from the rest of the document.
[x] Neovim is spelled as Neovim (not nvim, NeoVim or neovim), Vim is spelled as Vim (capitalized), Lua is spelled as Lua (capitalized).

Side note: I think there might be a merit in renaming "UI" section to "Graphical User Interfaces (GUIs)" and use "UI" section for a bunch of plugins that improve Neovim's UI. Like 'rcarriga/nvim-notify', 'folke/noice.nvim', 'stevearc/dressing.nvim', 'xiyaowong/virtcolumn.nvim', 'mini.animate', etc.

Thanks for the PR!


[For discussion] Breaking changes to form validation

What problem does the pull request solve?
The styling for form validation is pretty fragile and relies on a parent .error selector to apply a red border to the left of a .form-group div. This class also sets a red border on any .form-control inputs that are direct descendents.
Rather than relying on a child div sitting inside a parent for this to work - add two new classes .form-group-error and .form-control-error. One will set the border for form-groups and the other for inputs/textareas with a class of form-control.
This also solves the problem where there may be multiple .form-control elements within a parent .error - and only one of them needs to have a red border - an example of this is the date of birth pattern.

This would be a breaking change, but at some point we'll need to make breaking changes, so let's have a discussion  about it here, rather than on Slack where it'll get lost.

Screenshots (if appropriate):
I have added the error examples to the date of birth page:

What type of change is it?

Breaking change (fix or feature that would cause existing functionality to change)

Has the documentation been updated?

My change requires a change to the documentation.
I have read the CONTRIBUTING document.

Could we remove the nesting if we were to move towards this approach?

I've had to code around this issue for things previously but using an 'incomplete' class so happy for this change to happen, even if it means I have to revisit some code. Agreed that it should be a major version change to avoid breaking code

@nickcolley's comments about nesting have been addressed, this is ready to merge @robinwhittleton.


Create Readme

The README file should be created as it provides essential information about a project, such as installation instructions, usage guidelines, and troubleshooting tips. It helps users and collaborators understand the project and get started quickly, saving time and reducing confusion.

@ArmandoShala I opened a PR, please check it out!

Unfortunately I cannot find a PR. Could you help me with finding it?

Unfortunately I cannot find a PR. Could you help me with finding it?

You already merged it: https://github.com/GenZHAW/GNX_Webapp/pull/36

Ahh, okay. Thanks for clarification


crates not updated

panamax seems to be missing some updates for some crates.
i pulled the current version (commit 0b169b07ab285fe52de47e490152798e5ff67fac), built it and ran sync.
when trying to build a project on the internal network, i noticed that some files where missing. the crates.io-index seems to have the correct versions - but the crates are not downloaded.
two examples:

https://crates.io/crates/quote : should be 1.0.14, but listing crates/qu/ot/quote/ shows that the most recent version is 1.0.10
https://crates.io/crates/ppv-lite86 : should be 0.2.16, listing crates/pp/v-/ppv-lite86/ shows that the most recent version is 0.2.15.

any ideas?
thanks in advance!

after a fresh re-sync everything seems ok.


IRGen createTypeMetadataAccessFunction crash

Description
The following code causes the compiler to crash:
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
public struct MakeExplode<Element, Source: Sequence> where Source.Element == () async -> Element {}

Steps to reproduce
Add the above code to a file in a Swift package and attempt to compile.  The essential part seems to be the constraint to an async function whose return type is another type parameter (removing async or replacing Element with a specific type like Int avoids the crash).
Expected behavior
The code should either compile or trigger a compile error, but not a crash.
Environment

Swift compiler version info: swift-driver version: 1.75.2 Apple Swift version 5.8.1 (swiftlang-<IP_ADDRESS>.5 clang-14<IP_ADDRESS>.100) Target: x86_64-apple-macosx13.0
Xcode version info: Xcode 14.3.1 Build version 14E300c
Deployment target: macOS 10.13, iOS 11

Stack trace:
SwiftStackTrace.txt

Narrow down this issue to the implementation of mangledNameIsUnknownToDeployTarget

We may fix the issue on the open-source Swift side. But it probably will not solve the original issue.
And I do hope someone at Apple who is familiar with Xcode's private Swift fork can help take a look at this.
Tell us why Xcode's Swift will not crash for "iOS 14" test case. And why it will crash for iOS 13- iOS device platform.

cc @AnthonyLatsis


Other Port for RDP

I created a Windows 2012 R2 Box on a Windows Host. After a Vagrant up and Vagrant rdp, I got the message "Your computer could not connect to another console session on the remote computer because you already have a console session in progress."
In the Template the 3389 Port is forwarded to the same Port on the Host. https://github.com/joefitzgerald/packer-windows/blob/master/vagrantfile-windows_2012_r2.template#L18
After adding the line
config.vm.network "forwarded_port" , guest: 3389, host: 33389

to my local Vagrantfile I can connect to the vm.
I think rdp tries to connect to my windows host and not the guest. Should the Hostport in the template file updated to prevent this on windows host?

I got the same error and the remedy was the same.
Vagrant 1.7.2 with Windows Server 2012 r2 in admin console. mstsc worked too.


[BUG] sometimes, memory of VMs is reported as ~1/1.5 of the original value through harvester

Describe the bug

if a user provisions a 4gb VM, it is reported as 2.7gb for a time after provisioning
To Reproduce
Steps to reproduce the behavior:

provision a vm through harvester
once the VM is up, view the reported memory

Expected behavior

memory should match what the user enters when provisioning the VM
Support bundle
supportbundle_147f1b83-cdc7-432c-9a01-7b12448d236a_2021-12-02T18-37-29Z.zip
Environment:

Harvester ISO version: v1.0.0-rc1
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): dolphins (baremetal)

Additional context
after some time, the correct number is reported.

Waiting for upstream pr merge:  https://github.com/rancher/dashboard/pull/4697

Hi， @slickwarren  Sometimes the code in harvster/dashboard is not merged into rancher/dashboard in time, so some bugs are fixed in single cluster, but not in multiple clusters.  If you want to test the latest features and bug fixes of harvester, you can replace ui-dashboard-index in settings with: https://releases.rancher.com/harvester-ui/dashboard/latest/index.html.

Tested in master-655c251a-head. Verified as fixed by creating multiple VMs and checking displayed memory.


Added Vuo on Frameworks Page.

Trying to see, if GIF URL works.

I'm re-organising the Developer Tools & Frameworks, so I'll merge this manually soon.


cannot import name 'Sequence'

Hi, I am using AWS, ubuntu os. Getting this error "Cannot import name 'Sequence'"
Please let me know, what am I missing?

@jhasuman Please use Keras >= 2.0.8. You will have this error with older version of Keras.

Hi Thanks!! I have updated my Keras version!! But now I am getting
TypeError: Expected int32, got list containing Tensors of type '_Message' instead.
Detailed error
`TypeError                                 Traceback (most recent call last)
~/basic-yolo-keras/train.py in ()
138 if name == 'main':
139     args = argparser.parse_args()
--> 140     main(args)
~/basic-yolo-keras/train.py in main(args)
107                 labels              = config['model']['labels'],
108                 max_box_per_image   = config['model']['max_box_per_image'],
--> 109                 anchors             = config['model']['anchors'])
110
111     ###############################
~/basic-yolo-keras/frontend.py in init(self, architecture, input_size, labels, max_box_per_image, anchors)
46             self.feature_extractor = MobileNetFeature(self.input_size)
47         elif architecture == 'Full Yolo':
---> 48             self.feature_extractor = FullYoloFeature(self.input_size)
49         elif architecture == 'Tiny Yolo':
50             self.feature_extractor = TinyYoloFeature(self.input_size)
~/basic-yolo-keras/backend.py in init(self, input_size)
157         skip_connection = Lambda(space_to_depth_x2)(skip_connection)
158
--> 159         x = concatenate([skip_connection, x])
160
161         # Layer 22
/usr/local/lib/python3.5/dist-packages/keras/layers/merge.py in concatenate(inputs, axis, **kwargs)
625         A tensor, the concatenation of the inputs alongside axis axis.
626     """
--> 627     return Concatenate(axis=axis, **kwargs)(inputs)
628
629
/usr/local/lib/python3.5/dist-packages/keras/engine/topology.py in call(self, inputs, **kwargs)
601
602             # Actually call the layer, collecting output(s), mask(s), and shape(s).
--> 603             output = self.call(inputs, **kwargs)
604             output_mask = self.compute_mask(inputs, previous_mask)
605
/usr/local/lib/python3.5/dist-packages/keras/layers/merge.py in call(self, inputs)
345             raise ValueError('A Concatenate layer should be called '
346                              'on a list of inputs.')
--> 347         return K.concatenate(inputs, axis=self.axis)
348
349     def compute_output_shape(self, input_shape):
/usr/local/lib/python3.5/dist-packages/keras/backend/tensorflow_backend.py in concatenate(tensors, axis)
1761         return tf.sparse_concat(axis, tensors)
1762     else:
-> 1763         return tf.concat([to_dense(x) for x in tensors], axis)
1764
1765
/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/array_ops.py in concat(concat_dim, values, name)
1073       ops.convert_to_tensor(concat_dim,
1074                             name="concat_dim",
-> 1075                             dtype=dtypes.int32).get_shape(
1076                             ).assert_is_compatible_with(tensor_shape.scalar())
1077       return identity(values[0], name=scope)
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py in convert_to_tensor(value, dtype, name, as_ref, preferred_dtype)
667
668         if ret is None:
--> 669           ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
670
671         if ret is NotImplemented:
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/constant_op.py in _constant_tensor_conversion_function(v, dtype, name, as_ref)
174                                          as_ref=False):
175   _ = as_ref
--> 176   return constant(v, dtype=dtype, name=name)
177
178
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/constant_op.py in constant(value, dtype, shape, name, verify_shape)
163   tensor_value = attr_value_pb2.AttrValue()
164   tensor_value.tensor.CopyFrom(
--> 165       tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape, verify_shape=verify_shape))
166   dtype_value = attr_value_pb2.AttrValue(type=tensor_value.tensor.dtype)
167   const_tensor = g.create_op(
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/tensor_util.py in make_tensor_proto(values, dtype, shape, verify_shape)
365       nparray = np.empty(shape, dtype=np_dt)
366     else:
--> 367       _AssertCompatible(values, dtype)
368       nparray = np.array(values, dtype=np_dt)
369       # check to them.
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/tensor_util.py in _AssertCompatible(values, dtype)
300     else:
301       raise TypeError("Expected %s, got %s of type '%s' instead." %
--> 302                       (dtype.name, repr(mismatch), type(mismatch).name))`

Now this error!! Can anyone please help

@jhasuman You forgot to feed the config file to the train.py script. Please read the instruction carefully to avoid these issues.

ohh!! Sorry!! But now I am getting the error of import
ImportError: load_weights requires h5py

And in jupyter notebook
Getting the value error.

Please help

@jhasuman You need to install h5py. Keras requires h5py to read the weight file. What is the weight file that you use? Please read the instruction at the top of the notebook carefully.

Hi Thank You so much!! But I believe this is the last issue

Please help!! It seems I am making some mistake.

@jhasuman You should end train_annot_folder with the back slash (/).

Hi, Thank You so much!!
I know I am asking some basic questions but that's the only way I could learn.
I actually didn't understand data conversion part from COCO to VOC and why ??
-Run this script to convert annotations in COCO format to VOC format
https://gist.github.com/chicham/6ed3842d0d2014987186#file-coco2pascal-py
Now I am getting this error, I believe this is because of I have not converted COCO format. (What I did, I downloaded from website and arrange the folder in the way of train_image, train_annot, vali_image and vali_annot
This is the screenshot!!

@jhasuman I guess you use python 3. You can change range(len(config['ANCHORS'])/2) to range(len(config['ANCHORS'])//2).

Yes, I am using python 3. After changing also there is no luck ):

@jhasuman You can use range(int(len(config['ANCHORS'])//2)).


Question: How can the compression threshold be set for the PerMessageDeflateExtension in a Deflate Client?

Describe what you would like to know or do
I'd like to be able to set the compression threshold to a lower value than the 1024 byte value in the PerMessageDeflateExtension.
Describe the solution you'd considered
I've taken a copy of the 1.5.7 source code and changed the default threshold which does work but this is not ideal.
Additional context
I'm sending messages which are a little smaller than 1024 bytes that I'd like to compress.

setThreshold should do what you want

Could you give an example of using that method please?

It's not obvious how it should be called.

Question is answered

Actually I am not sure it is solved - from a brief look I didn't see a way for user to access the internal objects. But at the moment I don't have a lot of time and this is a low priority issue. It's possible we need to add a setter for this.

What internal classes do you mean?

Oh I see the problem. The values are not correctly cloned.
https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/java/org/java_websocket/extensions/permessage_deflate/PerMessageDeflateExtension.java#L333
Looking into copyInstance(), the fix for us for the specific issue is easy.
The problem however is that setInflater/setDeflater.
@PhilipRoman I think about removing setInflater/setDeflater and replace them with a specific factory which the user can provide if they want to.
The setter never worked and therefore I dont think we break many existing applications.
What do you think?

Looking into copyInstance(), the fix for us for the specific issue is easy. The problem however is that setInflater/setDeflater.
@PhilipRoman I think about removing setInflater/setDeflater and replace them with a specific factory which the user can provide if they want to. The setter never worked and therefore I dont think we break many existing applications. What do you think?

I would prefer to fix setInflater/setDeflater. It is in fact not hard to do: Replace the inflater.end() + new Inflater() lines with inflater.reset(), and do the same for the deflater. Then the set inflater/deflater objects remain preserved. I tried that and it worked correctly for me.

@CommuniG8 here is example how to use setTimeout:
PerMessageDeflateExtension ext = new PerMessageDeflateExtension();
ext.setTimeout(...);
Draft perMessageDeflateDraft = new Draft_6455(ext);
// then just pass the Draft object to websocket server/client constructor
new WebSocketClient(..., perMessageDeflateDraft)
new WebSocketServer(..., Collections.singletonList(perMessageDeflateDraft))

Once the bug is fixed this should work
@marci4 I don't have a strong opinion either way

Looking into copyInstance(), the fix for us for the specific issue is easy. The problem however is that setInflater/setDeflater.
@PhilipRoman I think about removing setInflater/setDeflater and replace them with a specific factory which the user can provide if they want to. The setter never worked and therefore I dont think we break many existing applications. What do you think?

I would prefer to fix setInflater/setDeflater. It is in fact not hard to do: Replace the inflater.end() + new Inflater() lines with inflater.reset(), and do the same for the deflater. Then the set inflater/deflater objects remain preserved. I tried that and it worked correctly for me.

I am not doing a lot of java in my daily work, so please forgive me.
But I do not see a way to access the "nowrap" for the following constructor calls:
public Deflater(int level, boolean nowrap)
public Inflater(boolean nowrap)

I am not doing a lot of java in my daily work, so please forgive me. But I do not see a way to access the "nowrap" for the following constructor calls:
public Deflater(int level, boolean nowrap)
public Inflater(boolean nowrap)

If the user hands in a deflater/inflater instance, the user takes control of the compression. It might not be PKZIP or GZIP at all. So I think it makes no difference that the user has control over this parameter. Or in other words: It is the user's responsibility to hand in an instance with compatible compression.

Let us move the discussion to the PR.


chore(merge-back): 1.108.1

See CHANGELOG

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: 66061f127ba1c08558183eaa5f1c4f4d26f68389
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


The rpm in the netbird yum repository should be signed

Is your feature request related to a problem? Please describe.
Currently as seen here https://docs.netbird.io/how-to/installation the rpms are not signed (gpgcheck=0) while the repo metadata is signed  (repo_gpgcheck=1). It is good practice to have both signed
Describe the solution you'd like
Package should be signed. Because in corporate environment it is frowned upon to install rpm that are not signed
Describe alternatives you've considered
no alternative
Additional context
Similar to this: https://github.com/netbirdio/netbird/issues/2905

Hey @saule1508 thank you, we'll look into this.


Adding localization support using I18n webpack plugin

To test:
--run create-react-app [test-app-name]
--checkout this branch and go to your local version of create-react-app
--cd into react-scripts and run npm pack
--within your newly created react app, point the path of the packed react-scripts file to your react-scripts devDependency in package.json
--run yarn install
--within the new app source (src), add a localizations directory
--create a new file called fi.json within this directory
--In that file add:
{
"Hello World": "Hei maailma"
}
--In App.js, add <h2>{__('Hello World')}</h2> in the render function
--Go to package.json file and add these scripts under "scripts":
"start-fi": "react-scripts start --env.LOCALE=fi"
"build-fi": "react-scripts build --env.LOCALE=fi"
--Run both
--Verify main.js in the build folder contains the phrase "Hei maailma"
--In the browser, the phrase "Hei maailma" should be rendered as well


Reduntant Relationship call cop

Hi guys, quick question
In a line like this
class_id = student.class.id
It is reduntant to call the class relationship, and it should be
class_id = student.class_id
There is any cop in RuboCop to prevent this?

Thank you for asking. A cop that prevents it does not exist in Rails department of RuboCop.

I will close this issue.
If you are requesting this feature, please open an issue to rubocop-rails repository. Thank you.
https://github.com/rubocop-hq/rubocop-rails


KeyError for context['request'] in Admin with placeholder

I'm using django CMS 3.3.2 and Zinnia blog 0.16 with cmsplugin-zinnia 0.8.1 and EntryPlaceholder. The blog entries use the CMS placeholders to display content.
When I'm adding content everything is fine. However, when I try to modify an existing blog entry in the Admin (say, I remove a tag) then a KeyError occurs in render_placeholder, line 125, because there is no request key in context. The related piece of code in the Zinnia CMS plugin is admin.py, line 28 where the call to render_placeholder() is issued.
Catching and Ignoring KeyError works -- WT*?!
Interestingly, wrapping the call in a try-except block in cmsplugin-zinnia's admin makes the whole thing work, apparently without negative side-effects:
# -- cmsplugin_zinnia/admin.py -- (lines 22+)

    def save_model(self, request, entry, form, change):
        context = RequestContext(request)
        try:
            content = render_placeholder(entry.content_placeholder, context)
            entry.content = content or ''
        except KeyError:
            entry.content = ''
        super(EntryPlaceholderAdmin, self).save_model(request, entry, form, change)

Something similar has been reported and "fixed" this way in https://github.com/django-blog-zinnia/cmsplugin-zinnia/pull/45 before.
I'm not sure what's happening, TBH. Why is the KeyError occurring, and why can it be caught and ignored without side-effects? This seems to be rather an issue of django CMS than the Zinnia CMS plugin.

Hello @bittner,
The KeyError happens of of Django 1.8 (if I remember correctly), the reason of it is that in the past calling RequestContext() would apply the context processors when initializing which would set the request key on the context. This all changed to apply context processors when a context is bound to a template, in other words only when the template is rendered.
Example:
context = RequestContext(request)
context['request'] # Raises KeyError

vs
def my_template_tag(context):
    request = context['request'] # Does not raise KeyError

context = RequestContext(request)
template = Template("{% my_template_tag %}")
# Binds context to template and applies all context processors
template.render(context)

Regarding try/except, it doesn't actually work.
When you have something like:
context = RequestContext(request)

try:
    content = render_placeholder(entry.content_placeholder, context)
    entry.content = content or ''
except KeyError:
    entry.content = ''

The KeyError will be raise every time and as a result the placeholder is never rendered.
So even though the object is saved() without problem, it's content field never gets a value.

Alright, thanks for the explanation.
For Zinnia's CMS plugin this appears not to be a blocker, because the placeholder is never rendered in the Admin interface at all. - Though it would be interesting to make rendering the CMS placeholder work in the Admin. This is missing in Zinnia since the switch from django CMS 2.4 to 3.0.


ANMS_FUN_BLD_002 (Generate Reports) - ADM table

A control to generate a table of known ADMS was created and submitted.  This report was not displayed in the Agents details display nor in the Received Reports display for the Monitor option.

Covered under #121


[BUG] - Input Component showing aria-borders and cant remove

NextUI Version
2.4.8
Describe the bug

For every  component, there is this aria border that doesnt go away. Even in light or dark mode.
Your Example Website or App
checflow.vercel.app/register
Steps to Reproduce the Bug or Issue

Use an input component

Expected behavior
I expected it to NOT have those borders
Screenshots or Videos
No response
Operating System Version
macOS
Browser
Chrome

Also, I've tried different computers, browsers and checked overlapping css files. Nothing seems to fix the issue. You can also see the aria label when you inspect it.

There is a part of content in your stylesheet, where the 'border-*' property generates a border, but this CSS is not present in the official example of NextUI. You can check where it comes from.
[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	border-color: #6b7280;
	border-width: 1px;
	border-radius: 0;
	padding: .5rem .75rem;
	font-size: 1rem;
	line-height: 1.5rem;
	--tw-shadow: 0 0 #0000
}

@moizkamran please provide a minimal reproducible environment.

Thank you all, it seemed one of my libs were messing with the stylesheets.


Various runtime errors / Installation guidance

Good day again,
I have been working to try to install and run this software on a few different environments without full success yet. There are enough strange issues that I thought it would be relevant to ask.
Most recent system I am trying with is running ubuntu 18.04.
Before going into the specifics, I wanted to mention that in a previous closed issue, it was suggested that singularity images should be able to be used for the majority of the programs run by hamlet. Thus far, I have been trying to install each of the dependencies manually. However, it would be much easier if all of the software could be run in singularity. As I have now start working with a machine where I have admin access, I should be able to do this. Are there instructions for using singularity running dependencies?
Now on to the specific issues I have so far. From your readme I have the sanity and dry run tests passing with all success.
Integration does not pass (155 failed, 1 pass) -- I get a lot of "ERROR  : Failed to set effective UID to 0" -- does this software require root access to run? (I can attach the full log if that would be helpful)
From a run of the frankenstein example modified run (attaching config file), with $ snakemake -s Snakefile  --configfile test2.config   ;; I don't get singularity errors at all, the run appears to try to use locally installed software instead. I am to the point of getting some error that CIRCOS was called incorrectly, and also a divide by zero error in running hist2count.py. As I was starting to become a little less confident in debugging, I thought I would ask for your thoughts here.
Thank you for whatever time you have to help assist us with running your software. I am sure that based on the time I have taken, there should be an easier way somewhere I am missing! Please let me know what other information I could provide to help debug.
snakemake_outer_log.txt
functional_test_results.txt
test2.config.txt

Every tool that is used by HAMLET is available automatically via singularity, so there is no need to install any of them locally. In fact, using HAMLET with singularity images is currently the only supported way to use HAMLET, since it is such a hassle to manually install all the required tools.
Because of this, HAMLET does not require root access to run, so I'm confused about the ERROR message you posted.
Can you test if you can run an image with singularity directly? From the singularity documentation:
$ singularity run shub://vsoch/hello-world
 59.75 MiB / 59.75 MiB [===========================================================================] 100.00% 42.41 MiB/s 1s
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
RaawwWWWWWRRRR!! Avocado!

It looks like your test of the frankenstein sample did not include the --use-singularity flag that is present in the test command. To make use of singularity, you have to specify the --use-singularity flag to Snakemake.
Can you run the frankenstein sample again with the following command and post the output here?
snakemake -rp --snakefile Snakefile --configfile test2.config.txt --verbose --use-singularity

Hello @Redmar-van-den-Berg ,
Thank you very much for taking the time to respond to my issue. Coming to this from outside, I do miss some things by default. Before getting into the details, it might make some sense to point out that you mentioned that using the singularity images is the only supported method of running the software, but this switch (--use-singularity) is not mentioned anywhere in the hamlet README file. For newcomers to this environment of software, it could help to have this information (use --use-singularity switch) pointed out explicitly in the "execution" section of the readme or other relevant documentation.
The first issue was still " Failed to set effective UID to 0" -- it seems that after activating the conda ENV, there was a version of singularity installed locally, which of course does not set the setuid bit. I'm not to go about setting this up on a shared HPC, but for now on a development system I can install a singularity system package, and point the ~/miniconda3/envs/HAMLET/bin/singularity to the system one with a symlink. Then, I am able to run singularity with the command you specified above successfully.
There were a couple of other issues related to the singularity bind path and such, but I have worked through them for now. I also got an error in the run, but I could not find it in the log, and then I ran the same command a second time and all steps succeeded. Unnerving but I don't expect to be able to debug it right now.
I will discuss the outputs with the end user and get back to you if we have additional questions. Again, thanks for helping out someone new to this pipeline!
-Paul

Hi @pjewell-biociphers,
I've added the use of the --use-singularity flag to the readme, and also added an explicit example of running one of the tests manually using the --use-singularity flag.
I have had some issues using singularity on older versions of Ubuntu where I got random failures when Snakemake tried to start too many containers in a short amount of time, and some resource limit for /dev/loop devices was encountered. You might want to install the latest version of singularity manually if this problem keeps occurring.
I'm glad you find this pipeline useful, hopefully you won't run into any more issue. If you do, please do not hesitate to ask.


Update the splash screen for new versions of docs

When a new version of the docs is cut, this page will be prepared
to handle users who may try to manually access this URL in between
when the docs are cut and the first alpha becomes available.

This change is


Task/docker improvements

Partially resolves https://github.com/eu-digital-identity-wallet/eudi-srv-web-issuing-eudiw-py/issues/66 by

not using ubuntu with the larger attack surface, instead a slimmer python based image
running as non privileged user
allowing to overwrite the urls as per https://github.com/eu-digital-identity-wallet/eudi-srv-web-issuing-eudiw-py/blob/main/api_docs/configuration.md#4-metadata-configuration
not cloning the whole repo while running docker build, instead copying over the relevant parts into the container
having a more readable entrypoint.sh including a non and an ssl option (depending on whether TLS certs are passed into the container)

@pinamiranda any thoughts or ideas for improvements on the changes?


[support task] Make Doppler ELB latency monitor more reliable

What
We do not want this monitor to generate spurious alerts.
Currently this monitor is being triggered a few times a day for up to 10
minutes at a time. The current behaviour that leads me to think this is
spurious: looking at the aws.elb.latency metric it seems normal for
the value to be around 9µs, but regularly spiking up to 20-30µs for only
5 minutes or so. The spikes consistently return to normal levels and
are, in my opinion, not high latencies.
Given the current alert window is 5 minutes and only 50% of values need
to be above the threshold, it seems correct for the alert to trigger as
often as it does[1]. Since a typical spike lasts no longer than 15
minutes and we want to trigger when 50% of values are above the
threshold I have decided to make the alert window 30 minutes.
In the event of a real problem we will expect the monitor to trigger
after 15 minutes or so, which does increase our response time, but
should generate much less noise from the monitor.
[1] https://docs.datadoghq.com/monitors/monitor_types/anomaly/#advanced-options
How to review
Deploying this would take a long time. In my opinion code review and a manual check once in prod should be sufficient. Your call.
Who can review
Anyone but me.

LGTM


Formatting error message

An space was missing here as well.

Summary
Details and comments

Did you do a search if you find any more such cases besides this one?

Yesterday I didn't but today, before I sent this one, I run a recursive grep on the circuit folder and only those two (the one from yesterday and this one) came up.

Since you already have this search set up, why don't you run that on the entire source code rather than just the circuit module?

Sure, I did that too, a short after I answered you.
cd qiskit_nature
grep -R 'The number of spatial orbitals {' -R
second_q/circuit/library/initial_states/hartree_fock.py:      f"The number of spatial orbitals {self.num_spatial_orbitals} "
second_q/circuit/library/ansatzes/ucc.py    f"The number of spatial orbitals {self.num_spatial_orbitals}"

Only those two, by that syntax.

Ah I see. I had assumed you would have done a search for:

a non-whitespace character
followed by the end of a string (i.e. ' or ")
followed by a new line
followed by the continuation of that string (i.e. optional whitespace at the begging of a line and then ' or ")
followed by another non-whitespace character

That would probably require a little bit of regex magic so if that is not something you are familiar with, we can also leave it at that.

With this snippet:
for entry in os.walk('qiskit_nature'):
    for filename in entry[2]:
        file = entry[0] + os.sep + filename
        if file.endswith('.py'):
            with open(file, 'r') as fh:
                text = fh.read()
            mymatch = re.search('f".*[^\s]"\n\s+f"[^\s].*"', text)
            if mymatch:
                print(file)
                print('  ', mymatch.group()

I get:
qiskit_nature/second_q/hamiltonians/quadratic_hamiltonian.py
   f"QuadraticHamiltonian("
            f"hermitian_part={repr(self.hermitian_part)}, "
qiskit_nature/second_q/circuit/library/ansatzes/ucc.py
   f"The number of spatial orbitals {self.num_spatial_orbitals}"
                        f"must be greater than number of particles of any spin kind "
qiskit_nature/second_q/operators/spin_op.py
   f"Invalid operation between operators with different spin"
                    f"values. Found spin_1={spin} and spin_2={other_spin}."
qiskit_nature/second_q/operators/electronic_integrals.py
   f"The reported register_length of your beta-alpha-spin tensor, {beta_alpha_len}"
                    f", does not match the alpha-spin tensor one, {alpha_len}."

But only the spin_op and ucc require changes.


Add Prometheus metrics

Prometheus metrics need to be added in order to monitor request latency, error rates, and backlog size. We would also like to replace DapLeaderProcessTelemetry, which is used for end-to-end tests.

[ ] Instrument Daphne with a Prometheus client (perhaps https://docs.rs/prometheus/latest/prometheus/)
[ ] Have Daphne-Worker push metrics to an endpoint configured by an environment variable

Whoops, merging #196 shouldn't have closed this issue. There is more to do.


Deprecation of CONAN_USERNAME and CONAN_CHANNEL

Description of Problem, Request, or Question
After deprecating environament variables CONAN_USERNAME and CONAN_CHANNEL, I think that we should get rid of them in this repo too, it shouldn't be a reliable way to feed user/channel to packages built with cpt.
Link to deprecation notice in the docs: https://docs.conan.io/en/latest/reference/env_vars.html#conan-username-conan-channel
If we agree to remove these variables here, it would be nice to remove them from the conan new --ci-* generated files too.

I'm not sure. I see many users running CPT on their companies, which doesn't reflect what we are doing on Conan Center Index. Probably we will break many users/companies dropping it. I vote for supporting both cases on CPT.

and for sure, we can use those variables in the CI files and use them to call Conan (imagine this is valid Travis/Appveyor/Jenkins):

The point is, if you use conan-package-tools you don't call conan create yourself. We need a way to give the CONAN_USERNAME and CONAN_CHANNEL information to conan-package-tools

I believe there are still function parameters for this, but I believe for most other parameters conan-package-tools is supporting parameters AND environment variables. So why making a difference here?

conan-package-tools can still get those variables from the environment and pass them to Conan, that won't make a difference, and we will check that everything keeps working the same. For Conan 2.0 we will thing about removing other environment variables too (https://github.com/conan-io/conan/issues/5270).
Probably this all is a result of my poor explanation when I opened this issue: Conan is deprecating those variables, so conan-package-tools should read the environment and pass them explicitly to conan create or to the conan_api (I don't know the internals of this repo).

Until Conan 2.0, we will need to support it. CPT uses Conan API, so it reads the env vars CONAN_USERNAME and CONAN_CHANNEL, and pass them to the api call.

If CPT is already reading those environment variables and passing them to Conan, then we can close this issue, but, having a quick look at the sources I can see that CPT is passing that information as environment to the docker running Conan here: https://github.com/conan-io/conan-package-tools/blob/2f7a5ac5b65c611a337829b39d0803eaed19411e/cpt/runner.py#L236
We can modify CPT to use user/channel in the command line, no need to wait for Conan 2.0

I second uilianries here. As far as I understand the username/channel values itselves will not be deprecated, only environment variables.
This environment variables became an easy way to configure CI builds without passing arguments into python build scripts directly. We are in process of setting up a CI and now I'm puzzled on what's going to come in several months? There is no deprecation warning on the CPT readme (CPT github main page), so I found this issue totally by chance. It sounds disturbing if in near future having wrote all the CI scripts we will have to update all our github workflow files to pass these arguments explicitly.
It seems CPT can solve this problem under the hood itself, without making its users to rewrite CI scripts. This will support stable CPT API.

Hi! As you say, stability of the CPT API is independent of Conan itself. Conan can deprecate this environment variables in the sense that it won't take into account those values, but CPT can still take those variables from the environment an feed Conan with them. Nothing changes from the point of view of the CPT user.

Anyway, @artem-kamyshev , if you are working on a CI for your company I would recommend you not to use CPT. This project has one objective: generate binaries massively for a combination of settings and options and this is usually not the case of a company (it is for Conan Center and open source libraries).
In a company you usually have a defined set of profiles you want to build binaries for, and those profiles don't change often. You usually store a configuration in a repository with all the needed profiles and share it with your developers (and the CI) using conan config install command. Then, features that revisions and lockfiles should be taken into account for a successful CI, and those features are not relevant for CPT.
Here (https://github.com/conan-io/conan/issues/5553) you can find an issue (and an attached doc) where people is sharing knowledge about CIs, and we are planning to generate documentation with some best practices. Feel free to reach us in the repo itself or in Slack if you want to share/ask information about your CI.
Thanks!

@jgsogo Thank you for the clarification! The link is also a helpful one. Speaking about CPT and CI, we don't build the whole CI on CPT, only part of it for requirements of our software. There's quite a few of them as well as platforms (at least linux x86, x86_64, windows, mac os and some arm platforms) and sometimes different compilers for each platform, so CPT comes very handy in here.


Fix memory leak on iOS

Proposed Changes
Remove views from superviews to break some retain cycle.
Testing
Test: TODO
Issues Fixed
Fixes: https://github.com/JetBrains/compose-multiplatform/issues/4626

We need to setup a testing framework for memory leaks like that.


Fixing verifier for reshape, transpose, and broadcast_in_dim ops

fixes https://github.com/openxla/stablehlo/issues/1765
The existing verifier for these ops  was using the trait SameOperandsAndResultElementType to check the equality of the element types which will not work for the per-axis quantized variants of these ops as the quantization dimension and quantization parameters (scales and zero points)  may differ between operand and result.
The PR proposed to replace the trait with HLO_CompatibleOperandsAndResultElementType (which just checks the equality for storage type and expressed type).
Note that the PR does not provide a comprehensive solution here. It just allows the representational capability to these ops thereby allowing writing meaningful quantized versions of the ops w/o verification error. A comprehensive verification solution should include verifying all the constraints related to quantization for these ops and is true for other quantized ops as well. That would need additional work and will be addressed collectively for the full set of quantized ops.

Can you update PR description to state that "compatible element type" means identical element type or quantized type with matching expressed/storage/min/max/ types. This is only relaxing the constraint for quantized type's scale/zp values I believe.

updated.

Can we also make compatible only apply to PerAxis quantized types? I believe that is a separate subclass?

The proposed compatibility is applied to the case when the above operations are per-axis quantized. Note that the same strategy is currently shared by the verification logic of most per-tensor quantized StableHLO operations. The PR include the above operations in the same category.  If we make compatible apply only to per-axis scheme, then it will affect how other per-tensor quantized operation (e.g. add op which eventually uses the same compatibility definition we are proposing in this PR)


Make book and docs link to examples

There is no links to the examples repo in the book and docs. I think we should add them. Not sure where though.

Maybe we can add a new chapter to introduce each example?

How would you introduce them? Like explaining what they demonstrate? I just thought of a simple link but a separate chapter seems to be even better.

I added example and benchmark sections to the introduction of the book and docs

Thank you. 😁


Make GraphQL respect PUBLIC_URL

Note that we can't re-use public-url/buildApiUrl since that is a
client-side function. But we also don't need to since on the server we
have direct access to the public URL set at invocation time.
Fixes #1618.

I tested this in my standard player environment and it now works just fine!

Also note that the weird formatting here was the linter's choice, not mine :sweat_smile:


fix issue #630, #606

Fixed issues:
#606 Entering * into amount
#630 Stamp Labels

found another bug, can't use dots (bignumber.js isInteger function only works when typing digits after dots, but bigInt fails when number contains a digit, like num = 12. num.isInteger(num) true but bigInt(num) fails)


add "cross-plaftorm" kudu executable

Note: this also allows installation outside of virtual environments

I think that @JorikSchellekens's or @swapnilraj's reviews are mandatory here, because I've checked on linux and they can check on macos

Just chmod +x 'd it. Works on my 10.15.


Modify GET parent trees by vegCode to return gen worth data

The current endpoint only returns the parent tree number.
Turns out we need to use genetic worth data on the 3rd tab of the step 5 screen, for weighted value calculation.

It's better to return everything at once instead of making multiple calls
Acceptable Criteria:
Backend

Returns genetic worth data for every parent tree under a species

Frontend

Retrieve all available parent tree then filter it with orchard ID

SQL script from Thiago
-- 1. Get all the parent trees under a species
-- Despite not getting any orchard data in this step, we need to join to the orchard tables to remove parent trees related to retired orchards
SELECT PT.PARENT_TREE_ID,
    PT.PARENT_TREE_NUMBER
    --, PT.* -- Just to check other columns if needed
FROM PARENT_TREE PT
JOIN PARENT_TREE_ORCHARD PTO
    ON PTO.PARENT_TREE_ID = PT.PARENT_TREE_ID
JOIN ORCHARD O
    ON O.ORCHARD_ID = PTO.ORCHARD_ID
WHERE PT.VEGETATION_CODE = 'FDC' -- PARAMETER

-- 2. Get orchard id for each parent tree
SELECT PTO.PARENT_TREE_ID,
    O.ORCHARD_ID
    -- ,O.* -- Just to check other columns if needed
FROM PARENT_TREE_ORCHARD PTO
JOIN ORCHARD O
    ON O.ORCHARD_ID = PTO.ORCHARD_ID
WHERE O.ORCHARD_STAGE_CODE != 'RET'
    AND PTO.PARENT_TREE_ID IN ('1002554', '1002555', '1002556') -- PARAMETER

-- 3. Get gen info for each parent tree
-- I guess this one is already developed and being used
SELECT
    Q.PARENT_TREE_ID,
    Q.SEED_PLAN_UNIT_ID,
    Q.GENETIC_WORTH_CODE,
    Q.GENETIC_QUALITY_VALUE
    -- ,Q.* -- Just to check other columns if needed
FROM PARENT_TREE_GENETIC_QUALITY Q
WHERE Q.GENETIC_WORTH_CALC_IND = 'Y'
    AND Q.PARENT_TREE_ID IN ('1002554', '1002555', '1002556') -- PARAMETER
    AND Q.GENETIC_TYPE_CODE = 'BV' -- PARAMETER

Can be done in a single query?


Update Chatterbot compatibility for Python 3.8

I tried it, it worked for me. Although the responses are questionable, it works.

bump


Do not include the actual values of environment variables in help output

What does this PR change? What problem does it solve?
This results in printing a (default: $ENV) (default: value) suffix for the corresponding options which looks strange. In addition, some of the environment variables might contain secrets which should not be displayed.
The alternative would be to filter the displayed default values and strip secrets. This would be possible as follows:
f.StringVarP(&globalOptions.Repo, "repo", "r", location.StripPassword(os.Getenv("RESTIC_REPOSITORY")), "`repository` to backup to or restore from (default: $RESTIC_REPOSITORY)")
globalOptions.Repo = os.Getenv("RESTIC_REPOSITORY")

Was the change previously discussed in an issue or on the forum?
Fixes #2617
Checklist

[x] I have read the contribution guidelines.
[x] I have enabled maintainer edits.
[ ] I have added tests for all code changes.
[ ] I have added documentation for relevant changes (in the manual).
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (see template).
[x] I have run gofmt on the code in all commits.
[x] All commit messages are formatted in the same style as the other commits in the repo.
[x] I'm done! This pull request is ready for review.

Rebased to the current master. The values for the cli options --limit-download, --limit-upload and --pack-size are now also properly named.


Need to define the code style rules

I see in the code lots a different code style:

Tab vs spaces
2 spaces vs 4 spaces indentation
semicolon at end of statement vs no semicolon
Script/Template/Style vs Script/Style/Template
new line between import and export vs no new line
etc.

I think rules should be defined and a CI check should check if they are respected or not.

You could copy the format and lint commands from SvelteKit:
https://github.com/sveltejs/kit/blob/c0d06c1466952213220e7bffc139cd15ceba1327/packages/kit/package.json#L57
https://github.com/sveltejs/kit/blob/master/.prettierrc

I think this definitely makes sense to add.


Conflict with spree 3.1.1

Trying to bundle with latest gems from spree/spree
gem 'spree', '~> 3.1.0' gem 'spree_auth_devise', '~> 3.1.0' gem 'spree_gateway', '~> 3.1.0'
got
`Bundler could not find compatible versions for gem "spree_core":
In snapshot (Gemfile.lock):
spree_core (= 3.1.1)
In Gemfile:
spree-bank-transfer was resolved to 2.0.5, which depends on
spree_core (~> 2.0.3)`

Update:
Wiki outdated, add to Gemfile
gem 'spree-bank-transfer', github: 'vinsol-spree-contrib/spree_bank_transfer'


Role assignments lost the ability to refer to role definitions by name

In the classic provider, one can refer to the role by either the role definition ID or the role definition name. An example role assignment with the classic provider:
new azure.authorization.Assignment(
    'AKS cluster’s kubelet identity is a Virtual Machine Contributor',
    {
        principalId: kubeletIdentity.objectId,
        roleDefinitionName: 'Virtual Machine Contributor',
        scope: pulumi.interpolate`/subscriptions/${azng.config.subscriptionId}/resourceGroups/${nodeResourceGroup.name}`
    }
);

In contrast, the nextgen provider requires the user to look up the role’s UUID and then construct the role’s full resource ID. For example:
// <https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#managed-identity-operator>
const managedIdentityOperatorUuid = 'f1a07417-d97a-45cb-824c-7a7467783830';

new azng.authorization.v20150701.RoleAssignment(
    'AKS cluster’s kubelet identity is a Managed Identity Operator',
    {
        properties: {
            principalId: kubeletIdentity.objectId,
            roleDefinitionId: `/subscriptions/${azng.config.subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/${managedIdentityOperatorUuid}`
        },
        scope: pulumi.interpolate`/subscriptions/${azng.config.subscriptionId}/resourceGroups/${nodeResourceGroup.name}`,
        roleAssignmentName: new RandomUuid(
            'AKS cluster’s kubelet identity is a Managed Identity Operator'
        ).result
    }
);

As a user of the library, referring to the role definitions by name is more convenient.
Another idea that would partially mitigate the inconvenience would be if the nextgen provider included a module/namespace that exports aliases for all of the role UUIDs in https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles.
The examples above can be found with their full context in the repository https://github.com/MerelyAPseudonym/MC-issues.

I can confirm this issue. I had to use both providers in order for me to be able to attach ACR to AKS.
It is not ideal, but it works fine, for those trying to figure it out after me.
using ContainerRegistry = Pulumi.AzureNextGen.ContainerRegistry.Latest;
using Authorization = Pulumi.Azure.Authorization;
...

            var registry = new ContainerRegistry.Registry($"cr{name}", new()
            {
                Location = args.Group.Location,
                ResourceGroupName = args.Group.ResourceGroupName,

                RegistryName = $"cr{name}",

                AdminUserEnabled = true,

                Sku = new ContainerRegistry.Inputs.SkuArgs
                {
                    Name = Info.RegistrySkuName,
                },

                Tags = args.Group.Tags,
            });

            var registryAssignment = new Authorization.Assignment($"aks{name}AcrPull", new()
            {
                PrincipalId = cluster.Identity.Apply(id => id!.PrincipalId),
                RoleDefinitionName = "AcrPull",
                Scope = registry.Id,
            });

I also tried to find some function like FindRoleDefinitionByName.InvokeAsync(...), to no avail.

I can confirm this issue. I had to use both providers in order for me to be able to attach ACR to AKS.
It is not ideal, but it works fine, for those trying to figure it out after me.
using ContainerRegistry = Pulumi.AzureNextGen.ContainerRegistry.Latest;
using Authorization = Pulumi.Azure.Authorization;
...

            var registry = new ContainerRegistry.Registry($"cr{name}", new()
            {
                Location = args.Group.Location,
                ResourceGroupName = args.Group.ResourceGroupName,

                RegistryName = $"cr{name}",

                AdminUserEnabled = true,

                Sku = new ContainerRegistry.Inputs.SkuArgs
                {
                    Name = Info.RegistrySkuName,
                },

                Tags = args.Group.Tags,
            });

            var registryAssignment = new Authorization.Assignment($"aks{name}AcrPull", new()
            {
                PrincipalId = cluster.Identity.Apply(id => id!.PrincipalId),
                RoleDefinitionName = "AcrPull",
                Scope = registry.Id,
            });

I also tried to find some function like FindRoleDefinitionByName.InvokeAsync(...), to no avail.

@iskandersierra, with the Azure provider, you should be able to get a built-in role definition by name with https://www.pulumi.com/docs/reference/pkg/azure/authorization/getroledefinition/

@iskandersierra, with the Azure provider, you should be able to get a built-in role definition by name with https://www.pulumi.com/docs/reference/pkg/azure/authorization/getroledefinition/

Thanks @boillodmanuel. However I would like to avoid using the Azure provider altogether, because it will be obsolete soon, I presume. In AzureNextGen, we also have GetRoleDefinition, but it lost its ability to find the role by its name.
Do you know of any workaround which do not use the "old" Azure provider?

Thanks @boillodmanuel. However I would like to avoid using the Azure provider altogether, because it will be obsolete soon, I presume. In AzureNextGen, we also have GetRoleDefinition, but it lost its ability to find the role by its name.
Do you know of any workaround which do not use the "old" Azure provider?

Not yet, but if I find one, I'll tell you ;)

Not yet, but if I find one, I'll tell you ;)

I take a look at terraform code, and :

for lookup by id, terraform calls the Get method
for lookup by name, terraform calls the List method with a predicate that filters on roleName

See source code here
Unfortunately, the list method is not available (yet) in pulumi

I take a look at terraform code, and :

for lookup by id, terraform calls the Get method
for lookup by name, terraform calls the List method with a predicate that filters on roleName

See source code here
Unfortunately, the list method is not available (yet) in pulumi

Unfortunately, the list method is not available (yet) in pulumi

One could pull in the Azure SDK and call that method there. It doesn't have to go through the Pulumi resource model, it's just a dictionary lookup.

Unfortunately, the list method is not available (yet) in pulumi

One could pull in the Azure SDK and call that method there. It doesn't have to go through the Pulumi resource model, it's just a dictionary lookup.

You're right. Do you have any information about how to do this?
It seems also related to this issue #209 ;)

You're right. Do you have any information about how to do this?
It seems also related to this issue #209 ;)

@boillodmanuel I added a basic example to https://github.com/pulumi/pulumi-azure-nextgen/issues/209#issuecomment-760141863

@boillodmanuel I added a basic example to https://github.com/pulumi/pulumi-azure-nextgen/issues/209#issuecomment-760141863

Hi @iskandersierra, here is a working example in typescript:
// npm install @pulumi/azure-nextgen
import { getClientConfig, getClientToken } from "@pulumi/azure-nextgen/authorization/latest"
// npm install @azure/arm-authorization
import { AuthorizationManagementClient, AuthorizationManagementModels } from "@azure/arm-authorization"
// npm install @azure/ms-rest-js
import { TokenCredentials } from "@azure/ms-rest-js"

let authorizationManagementClient: AuthorizationManagementClient

async function getAuthorizationManagementClient(): Promise<AuthorizationManagementClient> {
    if (authorizationManagementClient == null) {
        const config = await getClientConfig()
        const token = await getClientToken()
        const credentials = new TokenCredentials(token.token)
        authorizationManagementClient = new AuthorizationManagementClient(credentials, config.subscriptionId)
    }
    return authorizationManagementClient
}

async function getRoleByName(roleName: string, scope: string): Promise<AuthorizationManagementModels.RoleDefinition> {
    const client = await getAuthorizationManagementClient()
    const roles = await client.roleDefinitions.list(
        scope,
        {
            filter: `roleName eq '${roleName}'`
        },
    )
    if (roles.length === 0) {
        throw new Error(`Error: role "${roleName}" not found at scope "${scope}"`)
    }
    if (roles.length > 1) {
        throw new Error(`Error: too many role "${roleName}" found at scope "${scope}". Found: ${roles.length}`)
    }
    return roles[0]
}

async function test() {
    const role = await getRoleByName("Contributor", "/subscriptions/<SUBSCRIPTION_ID>")
    console.log("getRoleByName result:", role)
}

test()

Hi @iskandersierra, here is a working example in typescript:
// npm install @pulumi/azure-nextgen
import { getClientConfig, getClientToken } from "@pulumi/azure-nextgen/authorization/latest"
// npm install @azure/arm-authorization
import { AuthorizationManagementClient, AuthorizationManagementModels } from "@azure/arm-authorization"
// npm install @azure/ms-rest-js
import { TokenCredentials } from "@azure/ms-rest-js"

let authorizationManagementClient: AuthorizationManagementClient

async function getAuthorizationManagementClient(): Promise<AuthorizationManagementClient> {
    if (authorizationManagementClient == null) {
        const config = await getClientConfig()
        const token = await getClientToken()
        const credentials = new TokenCredentials(token.token)
        authorizationManagementClient = new AuthorizationManagementClient(credentials, config.subscriptionId)
    }
    return authorizationManagementClient
}

async function getRoleByName(roleName: string, scope: string): Promise<AuthorizationManagementModels.RoleDefinition> {
    const client = await getAuthorizationManagementClient()
    const roles = await client.roleDefinitions.list(
        scope,
        {
            filter: `roleName eq '${roleName}'`
        },
    )
    if (roles.length === 0) {
        throw new Error(`Error: role "${roleName}" not found at scope "${scope}"`)
    }
    if (roles.length > 1) {
        throw new Error(`Error: too many role "${roleName}" found at scope "${scope}". Found: ${roles.length}`)
    }
    return roles[0]
}

async function test() {
    const role = await getRoleByName("Contributor", "/subscriptions/<SUBSCRIPTION_ID>")
    console.log("getRoleByName result:", role)
}

test()

Is there any plan to make this easier, like being able to assign the role by its name?

@dfibuch No concrete plans as of today. Our current focus is to provide a great experience at the level of raw Azure API. We may build higher-level primitives later on. Meanwhile, you should be able to build them yourself as shown above.

Thanks @mikhailshilkov
The issue here is that Azure does not give a direct REST API to access a RoleDefinition by it's name or to create a RoleAssignment by the role's name, and because Azure-NextGen library is obtained through direct code generation from Azure Open API document, then there is not going to be a guaranteed up to date method to get this funtionality out of the box from Azure-NextGen library.
Is that correct?

Managed to get this to work but had to use 2018-01-01-preview as anything before that threw a UnsupportedApiVersionForRoleDefinitionHasDataActions error. Is this the recommended version or should I use something newer?


IOptionsMonitor in the example will not update with changes

The example shows using IOptionsMonitor with a delegate registration. Unfortunately, this will work the same as IOptions because the framework will not register an IOptionsChangeTokenSource<TOptions>.
This will only work if also using the non delegate registration that receives an IConfiguration, as this method will register the IOptionsChangeTokenSource<TOptions> and then the subsequent delegate will be fired as well.

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

ID: ed39cb0e-aa85-8bba-ffb4-859b56a60723
Version Independent ID: dc7e3449-650b-d117-5eac-69e5ccb250cb
Content: Options pattern in ASP.NET Core
Content Source: aspnetcore/fundamentals/configuration/options.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @guardrex
Microsoft Alias: riande

@HaoK We didn't hit any stumbling blocks when we set this guidance up. Can you confirm that this is a problem? Note that I can work this issue, but I might be delayed a few weeks due to high priority Blazor work. If you find a problem here, let me know how severe you think it is so that I can prioritize this correctly in light of that other work.

Its unclear to me exactly what section/doc is being referenced, but generally yes, there would need to be something that triggers the reload, i.e. a Configure(configuration) or some other mechanism that triggers the reload.  I don't think this is high priority since it should be inferred that something needs to trigger the invalidation/reloads

Thanks @HaoK ... I was hoping such is the case and that perhaps the doc just isn't explicit enough on the point. I'm 🏃🏃🏃🏃🏃😅 at the moment. Thanks again for the report @redtaped. I'll take a closer look as soon as I get some time.

Tracked in Options pattern master issue: Check here first #18291


chore: use poetry

Replaces pipenv with poetry.
/deploy

You can access the deployment of this PR at https://renku-ci-nb-1093.dev.renku.ch


externalize configuration

via ConfigSlurper,
instead of writing config params into the source code

http://mrhaki.blogspot.de/2009/10/groovy-goodness-using-configslurper.html

http://naleid.com/blog/2009/07/30/modularizing-groovy-config-files-with-a-dash-of-meta-programming

http://geekmatt.blogspot.de/2010/09/use-configsluper-instead-of-properites.html

in addition to ConfigSlurper, introduce a (typed) Configuration class
(so we can rely on IntelliJ's code-completion feature when actually using configuration items)


Not working

(Hi Philip!}
I installed the BracketGuard which I am very excited to use to help me stop miscompleting my brackets!
However, nothing seems to happen after it's installed.  I restarted Sublime (running ST2), and despite my best efforts, I can't get it to do anything, either in one of my projects, or in a new blank one.
Am I missing something obvious? What can I do to help you debug what's going on?  There's no error thrown in the Sublime console, BTW.
Thanks so much! (({)}}

Hi Joshua!
I'm sorry to hear that! Which OS are you running? Could it be that you tested BracketGuard only in files  which have more characters than 20.000? This is the default threshold for ignoring large files in order to avoid long delays.
At the moment, nothing else comes to my mind. You could try to insert some log-statements into BracketGuard.py to see which code gets executed. Additonally, you could try to run the test suite locally. For this you need the package UnitTesting.
Let me know, if you need further instructions to debug the package!

Hi Philipp!
I am running OS X Yosemite.  On my laptop, where I am running only
Mavericks, it works fine, though of course there's no way to know whether
the OS is the issue.
I have tested it on the smallest of files...
Unfortunately I don't have time at the moment to try to debug it myself.
If I happen to do something and it starts working, I'll let you know.
Thanks so much for your quick reply!
Warmest,
Joshua
On Mon, Feb 2, 2015 at 9:53 AM, Philipp Otto<EMAIL_ADDRESS>wrote:

Hi Joshua!
I'm sorry to hear that! Which OS are you running? Could it be that you
tested BracketGuard only in files which have more characters than 20.000?
This is the default threshold for ignoring large files in order to avoid
long delays.
At the moment, nothing else comes to my mind. You could try to insert some
log-statements into BracketGuard.py to see which code gets executed.
Additonally, you could try to run the test suite locally. For this you need
the package UnitTesting.
Let me know, if you need further instructions to debug the package!
—
Reply to this email directly or view it on GitHub
https://github.com/philippotto/Sublime-BracketGuard/issues/9#issuecomment-72503290
.

--
http://www.akaraproject.com
http://www.joshuapenman.com

Hi Joshua!
Sadly I don't have Yosemite to test it out. Maybe someone else can jump in or you happen to find some time some day. Until then, I will put this issue on hold ;)


docopt_macros stability

We are enthusiastic users of docopt and docopt_macros in our Rust project.  However, the latter has been failing to build, both for stable and nightly Rust releases.  Right now, we are using nightly-2015-12-13.  Should we hang tight and expect things to be fixed soon or will this take a big effort to address?

The last attempt at fixing it was https://github.com/docopt/docopt.rs/pull/161
Then this happened: https://github.com/rust-lang/rust/commit/95dc7e --- It looks like a big breaking change and there's really no guidance at all on how to fix the fallout. cc @nrc
I spent an hour or so a few days ago trying to patch up the macro, but it looks like rustc's parser's error handling has changed dramatically. I haven't grok'd it yet.
FYI, docopt_macros has never compiled on Rust stable because compiler plugins are only available on the nightly released.
I intend to fix this, I'm just not quite sure when. PRs are appreciated. :-)

Thank you for the update.  It's quite helpful.

Fixed by #163 from @nrc. Yay! I've updated docopt_macros on crates.io.

@BurntSushi Awesome! Thanks.

@BurntSushi this issue should be closed, no?