os/signal: TestAtomicStop failing on Illumos

The newly revived Illumos builder (run by @jclulow now, on different host/OS probably) is now failing with:
https://build.golang.org/log/47c0329f33a7c7bd68dc98c35021160b03a3c6a5
ok  	os	0.809s
ok  	os/exec	0.869s
--- FAIL: TestAtomicStop (2.15s)
    signal_test.go:400: iteration 1: output lost signal on tries: 2
    signal_test.go:408: iteration 1: lost signal
FAIL
FAIL	os/signal	6.493s
ok  	os/user	0.020s
ok  	path	0.025s
FAIL
2019/10/22 14:36:24 Failed: exit status 1

/cc @ianlancetaylor @bcmills

I was just looking at this.  It doesn't, as far as I can tell, always fail -- just most of the time.  Having watched the buildlet a bit in the last few days while it was getting going, the load averages in the zone get up pretty high.
I think this is because the -p flag for job parallelism defaults to the number of CPUs, so the test runner starts that many tests in parallel.  Because this is a zone (i.e., a kind of container) you can actually see (and schedule on!) every CPU in the host; there are 48 in all.  Though all of the CPUs are visible, the zone is capped in the amount of CPU time it is able to use -- in effect, it's able to use 2 CPUs worth of CPU time per second.
If TestAtomicStop is timing sensitive, it's possible that when it fails it's running alongside rather a lot of other tests, and the ~24X over subscription might mean this test isn't on CPU to run soon enough to hit the timing window it's expecting.  When I run the test suite on a standalone machine which doesn't have this property (i.e., a small system on my desk where I'm the only user) it seems to pass every time.

On Linux, runtime.NumCPU() is looks at the number of actually usable CPUs.
Perhaps the fix here is just to fix the Illumos implementation of NumCPU to be aware of the zone's CPU limit.

In fact, I dealt with this just recently in https://go-review.googlesource.com/c/build/+/201637/7/cmd/rundockerbuildlet/rundockerbuildlet.go#162 where I had to restrict a Docker container's --cpuset-cpus value just to make runtime.NumCPU happy, even though it would've been nice to give the containers as much extra CPU as they wanted to fight over.
Perhaps we need a new knob that lets us control test parallelism without hard-coding it to mean NumCPU.
/cc @bcmills

If we could set, say GO_BUILD_MAXJOBS, and have that override the -p default, I could definitely set that in the environment for the buildlet service to a value that makes sense for the specific memory and CPU caps in the particular zone.

@jclulow, you should probably still fix runtime.NumCPU meanwhile, though, if it's not too much work.

The hard-coded time.After in this test is suspect:
https://github.com/golang/go/blob/606019cb4b1c8fb57e5a83747ee0aff1054291d8/src/os/signal/signal_test.go#L449-L456
See previously #29046.

I don't see a compelling need to limit the delay here to 2 seconds, given that in the normal case the test will pass on every attempt.

FWIW, we see this failure intermittently on gccgo for both ppc64le & ppc64. The limit was put at 2s to hopefully fix that problem but it still happens. We don't see the error in golang.

If we pull in the fix for #28135, then we could fairly easily plumb the test deadline down to atomicStopTestProgram and remove the hard-coded timeout entirely. I'm not sure whether that would address the problem for gccgo or make the failure mode more frustrating, though.

Still failing, but the failures take longer now:
--- FAIL: TestAtomicStop (30.66s)
    signal_test.go:420: iteration 4: output lost signal on tries: 3
    signal_test.go:428: iteration 4: lost signal
    signal_test.go:420: iteration 7: output lost signal on tries: 4
    signal_test.go:428: iteration 7: lost signal
FAIL
FAIL	os/signal	35.166s

Maybe an illumos kernel bug? (Is it dropping signals under load?)
Or is it just overloaded enough that the signals take longer than ~15s each to deliver? (Do we need to set a timeout scale factor on this builder to give it more time?)

I doubt it is a timeout issue.  But if it is, we don't need to be fancy about the timeouts.   Just set the timeout to one minute.

@jclulow, you should probably still fix runtime.NumCPU meanwhile, though, if it's not too much work.

I've opened golang/go#35199 for this.

It would seem that #35199 hasn't improved things.  I tried running the test suite manually on the builder, using make.bash and then run.bash and the tests appear to pass -- including os/signal.
I've set up some basic tracing of signal-related system calls to get a better idea of what happens next time one of these runs and fails on the builder.

This is proving difficult to debug.  The only time the test seems to fail is when run under the buildlet at the behest of the coordinator.
I have been trying, but I don't believe I can make it fail when run manually under all.bash or run.bash, or when using go tool dist test to run the os/signal test more directly, or when using curl to attempt to replicate (on an isolated buildlet) what I believe the coordinator is asking us to do.  I also tried lifting the atomicStopTestProgram() routine out into a standalone program (trimming out the test harness-related bits) and I don't believe I've been able to observe that failing either, despite running it many thousands of times under different levels of system load.
I've tried using DTrace at various times to monitor the timing of signal-related system calls and delivery events, and it seems that the very slight probe effect is enough to make the situation worse -- but only in the buildlet context where the failures are pretty reliably happening now.  Applying the tracing to standalone execution of the test cases doesn't seem to induce the failure there.
I'd appreciate any advice for how folks would normally debug what seems like a pretty tight race in the runtime like this one.  Also, as noted in #35261 it seems like the build is currently broken as of the switch to the new timer infrastructure, which is making it a bit difficult to make forward progress.

Sometimes tests like this can be made to fail locally by putting the local system under heavy load while running the test.  I don't have any reliable mechanism, though.
I've looked at this test several times and I've never been able to find anything wrong with the code.  It would be really great if you could figure this out.  Thanks for looking at it.

If it matters, the buildlet (the parent process that runs go tool dist test XXXXX) does:
        signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)

Would that affect the test?

Thanks, but I can't think of any reason why that would matter.  The test does its own signal.Notify call and that should be all that matters for it.

I think fixing this is going to take a while.  Can I submit a CL that skips it specifically on the current illumos buildlet so that we can at least see the general health of the rest of the test suite more clearly?

OK, I'm pretty sure I know what this is now.  The stage0 binary is being run by a simple shell script that just starts it over and over again.  That shell script is using bash as the shell.  From the SIGNALS section of bash(1):

When job control is not in effect, asynchronous commands ignore SIGINT and SIGQUIT in addition to these inherited handlers.

The buildlet is running under SMF and as with many service supervision systems there is no controlling terminal or job control in that context.  Examining the running buildlet, we can see that indeed SIGINT is ignored:
[root@gobuild3 ~]# pgrep -fl buildlet.exe
99253 ./buildlet.exe --halt=false --reverse-type=host-illumos-amd64-jclulow --coordin
[root@gobuild3 ~]# pgrep buildlet.exe | xargs -t psig | grep ignored
psig 99253
INT     ignored

Looking at exec(2) we see:

Signals set to the default action (SIG_DFL) in the calling process image are set to the default action in the new process image (see signal(3C)).  Signals set to be ignored (SIG_IGN) by the calling process image are set to be ignored by the new process image.

I suspect that SIGINT being ignored by default is contrary to the expectations of at least this test, if not the Go signal handling machinery in general.  Using a simple C program I can now reproduce the failure:
#include <stdlib.h>
#include <stdint.h>
#include <signal.h>
#include <unistd.h>
#include <err.h>

int
main(int argc, char *argv[])
{
        if (argc < 2) {
                errx(1, "usage: %s PROGRAM [ARGS...]", argv[0]);
        }

        if (argv[1][0] != '/') {
                errx(1, "PROGRAM must be fully qualified");
        }

        /*
         * Ignore SIGINT so that the new process also ignores it.
         */
        if (signal(SIGINT, SIG_IGN) != 0) {
                err(1, "signal");
        }

        if (execv(argv[1], argv + 1) != 0) {
                err(1, "execv");
        }
}

$ cd /ws/go/master/src
$ PATH=/ws/go/master/bin:$PATH /ws/go/signals/ignore_sigint $PWD/run.bash -run go_test:os/signal

##### Building packages and commands.

##### Testing packages.
--- FAIL: TestAtomicStop (16.04s)
    signal_test.go:420: iteration 6: output lost signal on tries: 1
    signal_test.go:428: iteration 6: lost signal
FAIL
FAIL    os/signal       20.574s
FAIL
2019/11/03 18:03:31 Failed: exit status 1

For now, I'm going to try inserting the opposite of this wrapper program into the buildlet script; i.e., resetting the disposition of SIGINT to SIG_DFL prior to calling execv().

OK I've adjusted the SMF service to use the child (aka wait) duration for the service, and we're executing the stage0 binary directly.  The wait duration seems a better fit for the way stage0 is intended to work anyway; from svc.startd(1M):
"Wait" model services are restarted whenever the child process associated
with the service exits. A child process that exits is not considered an
error for "wait" model services, and repeated failures do not lead to a
transition to maintenance state. However, a wait service which is
repeatedly exiting with an error that exceeds the default rate (5
failures/second) will be throttled back so that the service only restarts
once per second.

A few test runs have now had a pass from os/signal.

I don't see why it should matter whether SIGINT is ignored when the process starts.  The program run by TestAtomicStop (atomicStopTestProgram) calls Notify(cs, syscall.SIGINT), which should enable the signal even if it were previously ignored.
In general Go is prepared for SIGINT to be ignored when the program starts.  This is checked explicitly in sigInstallGoHandler in runtime/signal_unix.go.

It's fine to send a CL to skip the test on Illumos.  Use testenv.SkipFlaky from the internal/testenv package.

I'm pretty sure this problem occurs on Linux too when SIGINT is ignored, though it happens less often.  I've lifted atomicStopTestProgram into a separate program:
package main

import (
        "fmt"
        "os"
        "os/signal"
        "sync"
        "syscall"
        "time"
)

// atomicStopTestProgram is run in a subprocess by TestAtomicStop.
// It tries to trigger a signal delivery race. This function should
// either catch a signal or die from it.
func atomicStopTestProgram() {
        status := 0
        const tries = 10

        timeout := 2 * time.Second

        pid := syscall.Getpid()
        printed := false
        for i := 0; i < tries; i++ {
                cs := make(chan os.Signal, 1)
                signal.Notify(cs, syscall.SIGINT)

                var wg sync.WaitGroup
                wg.Add(1)
                go func() {
                        defer wg.Done()
                        signal.Stop(cs)
                }()

                syscall.Kill(pid, syscall.SIGINT)

                // At this point we should either die from SIGINT or
                // get a notification on cs. If neither happens, we
                // dropped the signal. It is given 2 seconds to
                // deliver, as needed for gccgo on some loaded test systems.

                select {
                case <-cs:
                case <-time.After(timeout):
                        status = 1
                        if !printed {
                                fmt.Print("lost signal on tries:")
                                printed = true
                        }
                        fmt.Printf(" %d", i)
                }

                wg.Wait()
        }
        if printed {
                fmt.Print("\n")
        }

        os.Exit(status)
}

func main() {
        atomicStopTestProgram()
}

I created a simple test harness to run the program over and over and report when it emits the error message:
#!/bin/bash

dir=$(cd "$(dirname "$0")" && pwd)
echo $dir/three

fail=0
pass=0
lastprint=$SECONDS

trap 'exit 1' INT

while :; do
        x=$($dir/ignore_sigint $dir/three 2>&1)
        if [[ $x =~ 'lost signal on tries:' ]]; then
                printf '    %s\n' "$x"
                (( fail += 1 ))
        else
                (( pass += 1 ))
        fi

        if (( SECONDS != lastprint )); then
                printf '%s pass %-4d fail %-4d\n' "$(date -u +%FT%TZ)" \
                    "$pass" "$fail"
                pass=0
                fail=0
                lastprint=$SECONDS
        fi
done

The ignore_sigint program is the C program from earlier in the thread which ignores SIGINT before starting the nominated program.  The binary three above is the atomicStopTestProgram program.
  My apologies.  When SIGINT is ignored at program start, then when we close the channel we reset the SIGINT handler back to SIG_IGN.  If we manage to do that before sending the signal, then it will be ignored.

Thanks very much for digging into this.


Provide useful message upon install req

Bug description
$ istioctl install -f cluster1-east-west-gateway.yaml
This will install the Istio 1.9.0 profile into the cluster. Proceed? (y/N) y

I think our message should be improved... it should at least say what profile, which in this case I'm installing the empty profile.
Affected product area (please put an X in all that apply)
[ ] Docs
[ x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Expected behavior
informative message to user
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
How was Istio installed?
Environment where bug was observed (cloud vendor, OS, etc)
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

cc @morvencao @shamsher31 if you have any bandwidth


Spotify offset no longer working after 1,000 results?

When looking for new albums by alphanumeric search, you hit a limit after 1,000 results. Using offset doesn't work anymore past that.
HTTP Error for GET to https://api.spotify.com/v1/search?query=tag%3Anew+10*&type=album&market=US&offset=1000&limit=50 returned 404 due to Not found

That's expected according to the doc https://developer.spotify.com/documentation/web-api/reference/#category-search

offset
The index of the first result to return.
Default: 0 (the first result).
Maximum offset (including limit): 1,000.
Use with limit to get the next page of search results.

Closing this for now but let us know if you would do anything differently for that case


Edited the basic challenge description in order to make the challenge easier t…

Pre-Submission Checklist

[x] Your pull request targets the staging branch of FreeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm run test-challenges. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): Closes #9062

Description

Edited the basic challenge description so that even if a person is unfamiliar with golf, he/she can understand the basic concept required to solve the challenge.

LGTM :+1:
Thanks for contributing :tada:


Add tests and support for debian 10 & clean up

Description

Adds circleci tests against debian 10 and notes support in readme
Removes package-centos-7 test
Cleans up properties for install resource

Issues Resolved
closes #348 haproxy default package version is 1.5 on centos-7
closes #346
Contribution Check List

[ ] All tests pass.
[ ] New functionality includes testing.
[x] New functionality has been documented in the README if applicable

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

  Generated by :no_entry_sign: Danger

I'm a bit flummoxed. The source-18-debian-10 test converges and passes locally with dokken. But fails in circleci.

@MarkGibbons yeah, you can converge with dokken using this kitchen file and KITCHEN_YAML=.kitchen.dokken.yml kitchen converge source-18-debian-10 or run the test. You'll see if fails the service tests:
  Service haproxy
     ×  should be installed
     expected that `Service haproxy` is installed
     ×  should be enabled
     expected that `Service haproxy` is enabled
     ×  should be running
     expected that `Service haproxy` is running

closing this in favor of waiting for the official stable release of debian 10


[License]The license are template and incomplete.

https://github.com/dfahlander/Dexie.js/blob/a5fec1f36cdd764a98bf050c641363fab6321833/LICENSE#L189
Which year was 'yyyy'?
(Of course I knew it was '2014'. 😂

Hmm. Think I need some guidance here. Looking at another apache-licensed software, cassandra, they have also kept the templated copyright: https://github.com/apache/cassandra/blob/trunk/LICENSE.txt
Somebody who knows whether one should remove the "APPENDIX: How to apply the Apache License to your work." or not? And whether to fill in the copyright owner and year?

Hmmm.It seems that the templated copyright doesn't matter so far. ☕
I created several repositorise with different license on github, and only the MIT and the BSD(2-Clause) replaced  templated onwer with my account's name. What if my account's name is a fake name? Should I alter the fake name in the license file? However, the GPL and the MPL , both copyleft, contains none of these templates .
So, when you want to stress the ownership, just change it. For example, transfer this repository to another user or to an organization should leave the previous ownership infomation in the license.
I am afraid that taking these templated copyright for granted may cause some issues in the future, including these repos whose license are still templated.

Thanks a lot @vankai for bringing it up. Reading through this guide from Apache, it seems that the file must be accompanied by a NOTICE file containing the copryight info, so need to fix that.


Add processing for emphasis in PDFs

While in H5_GenIntro, we noticed that <emph> is not doing anything in the PDF. We want material wrapped in <emph> to render in bold, like it does in the HTML.

@Navarra-Houldin Are you sure you want emphasis in bold? In print documents it's usually italics.

@Navarra-Houldin I've committed a fix in rev 10483 which renders emphasized text in italics. I tried bold, but it just looks wrong in a print document. We probably need a policy on this, but common advice says that if you're using a serif font (as we are in the print text), you should use italics, but if it's a sans-serif then bold may be better. Other advice says to use italics for mild emphasis and bold for strong, or not to use any emphasis at all (common advice for academic writing). @JanelleJenstad, what do you think?

Oh, this solution is lovely! I hadn't thought we'd be able to render  in different ways. The serif/sans-serif distinction is perfect.

I haven't implemented that; it would be really difficult to do, I think. But the PDF is almost entirely in serif anyway, so the italic default should work. If you want to implement the font distinction on the website, then it might be worth asking Pat how practical it would be.

Italics working in PDFs. Closing now; please re-open if you really think bold is better.

@martindholmes, it looks wonderful, thank you!


Support for roslyn.nvim?

Hello, first of all let me thank you for creating such a plugin.
For me, it's an amazing coincidence to encounter this because nowadays I am in the middle of switching to Nvim from Rider for C# development.
While I was searching for LSP's, I first used omnisharp but then later on found out that it is a bit slow in large projects. And when I searched for it, I saw other people mentioning the same as well.
Then I found out about roslyn.nvim which seems faster than omnisharp.
Right now I'm using roslyn.nvim along with a manual setup of netcoredbg, but the basic configuration of netcoredbg results in a really sub-optimal debugging experience compared to what this plugin provides.
So my question is, is it possible to plug different LSP's to this plugin?
I'd love to use this with roslyn.nvim and have a nice LSP along with a much, much better debugging experience.
I can work on it but I'd probably need some help regarding where to touch (if its possible of course).

Hello, Thank you so much. I'm glad you find the plugin useful. You're right omnisharp is generally slow, especially when dealing with big solutions; it's also now thought of as a legacy after the newer LSP powering roslyn.nvim was developed. I actually learned about this new LSP fairly recently from someone on Reddit.
I looked into it, and it seems possible to integrate the plugin with it while retaining the same features. However, it's a big, breaking change because the new LSP isn't backward compatible with Omnisharp.
I'll start working on integrating it into the plugin soon, I hope. Probably I'll roll out the features gradually, as it'll be hard to migrate everything in one patch, but definitely in the first release I aim to include the code runner and debugger support.
It's great that you want to help. I'd love to get some extra hands. What I'm thinking about to move forward with this is:

Suggest and implement the installation of the new language server in mason.nvim The reason is that mason.nvim is a great plugin that handles the installation and updates of almost every language server, debugger, and other tools.
Provide opt-in option to attach the new language server instead of Omnisharp to buffers, and disable csharp.nvim features that don't support it at the moment.
Support the endpoint(s) that provide solution information in order to run the debugger.

I tried to integrate the new roslyn LSP but can't get it to work. I pushed my attempt to this PR. Please have a look if you wish to contribute and let me know if you managed to get it to work.

Thanks a lot for the draft! Really appreciated.
I'm looking into it, it might take some time though, can barely find some spare time to work on things. Will let you know when I have some updates 👍

Have you seen this repo built off Roslyn? Maybe it would help? https://github.com/jmederosalvarado/roslyn.nvim

@BurkeStrang Yes I saw it. For some reason I never managed to get roslyn.nvim plugin to work either.

@iabdelkareem - I spent a bit of time trying to do what you've been doing in this plugin (nice work by the way!), but I never followed through because I was working on a couple of other plugins and they took up my "plugin dev" time.
My plan was to make several related, but separate plugins that could all be pluggable modules onto a "base" csharp-in-neovim plugin with common functionality (UI elements, pickers etc.).
As a suggestion, based on the concept above, you could take certain features or groups of features in Rider and VS IDE's and split them out into separate smaller plugins for Neovim.
For example, if you split out the functionality around selecting launch profiles, running and debugging (i.e general dotnet CLI functionality), into one plugin, and all the LSP related stuff into another, you could keep the separation of concerns, and allow users to optionally use something else for the LSP side (your LSP wrapper functions on top of omnisharp or roslyn.nvim, or csharp_ls etc.)
I say this selfishly, because I use roslyn.nvim, but I'd really like to have some of the features like selecting launch profiles and debugging that this plugin also offers.

Thank you for your feedback, @Issafalcon ! I'm really happy to hear that you find the plugin useful. 😊 I actually had a similar idea during development: offering a range of optional functionalities that aren't necessarily dependent on one another. Instead of creating several smaller plugins, however, I chose to consolidate everything into one plugin with various opt-in/out features. This design allows users to toggle individual features on or off as needed.The goal was also to have general features, such as the code runner and debugger, independent from omnisharp. However, I see that I didn't follow this goal, and those features depend on having Omnisharp.
It should be simple to enable plugin users to use the code runner and debugger without having omnisharp and without using the LSP feature of the plugin (which can be turned off by setting enable = false in the config) by implementing a fallback for the workspace-information feature to use filesystem lookup instead of calling o#/projects to get the list of projects if it can't find omnisharp attached to the current buffer. I'll try to find time to implement this feature this week.

The plugin now supports roslyn.nvim. Thanks to @jonny64bit


Cant Delete a tenant with User assigned to partition / Route Doamin

ISSUE TYPE

Bug Report

AS3 BUILD/ VERSION
f5-appsvcs-3.8.1-1

BIGIP VERSION
<IP_ADDRESS> Build 0.0.3 Point release 8

SUMMARY
Declaring a new virtual server in a pre-existing Route Domain (eg RD2), then creating a new user 'Manager' that has access to that Partition (Tenant), you then cant DELETE the tenant/Partition
STEPS TO REPRODUCE
1) Have a preexisting Route Domain configured (Eg RD2) prior to the AS3 declaration.

2) Send AS3 declaration with RD2 config, eg:

{
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.8.0",
        "label": "Sample App RD2",
        "remark": "Simple HTTP application in RD2",
        "RD2_WEB": {
            "class": "Tenant",
            "defaultRouteDomain": 2,
            "HTTP_App_rd2": {
                "class": "Application",
                "template": "generic",
                "HTTP_App001_rd2_vs": {
                    "class": "Service_HTTP",
                    "virtualAddresses": [
                        "<IP_ADDRESS>%2"
                    ],
                    "pool": "web_pool_rd2"
                },
                "web_pool_rd2": {
                    "class": "Pool",
                    "monitors": [
                        "http"
                    ],
                    "members": [
                        {
                            "servicePort": 80,
                            "serverAddresses": [
                                "<IP_ADDRESS>%2",
                                "<IP_ADDRESS>%2"
                            ]
                        }
                    ]
                }
            }
        }
    }
}

3) Create a user in TMSH/GUI

auth user rd2user {
    description rd2user
    partition-access {
        RD2_WEB {
            role manager
        }
    }
    shell none
}

4) Try DELETE "https://{{F5_BIGIP}}/mgmt/shared/appsvcs/declare/RD2_WEB"

{
    "results": [
        {
            "message": "declaration failed",
            "response": "0107082a:3: Partition (RD2_WEB) cannot be deleted, one or more users are assigned a role on the partition.",
            "code": 422,
            "host": "localhost",
            "tenant": "RD2_WEB",
            "runTime": 2861
        }
    ],
    "declaration": {
        "RD2_WEB": {
            "class": "Tenant",
            "defaultRouteDomain": 2,
            "HTTP_App_rd2": {
                "class": "Application",
                "template": "generic",
                "HTTP_App001_rd2_vs": {
                    "class": "Service_HTTP",
                    "virtualAddresses": [
                        "<IP_ADDRESS>%2"
                    ],
                    "pool": "web_pool_rd2"
                },
                "web_pool_rd2": {
                    "class": "Pool",
                    "monitors": [
                        "http"
                    ],
                    "members": [
                        {
                            "servicePort": 80,
                            "serverAddresses": [
                                "<IP_ADDRESS>%2",
                                "<IP_ADDRESS>%2"
                            ]
                        }
                    ]
                }
            }
        },
        "class": "ADC",
        "schemaVersion": "3.0.0",
        "id": "1550057461381",
        "updateMode": "selective",
        "controls": {
            "archiveTimestamp": "2019-02-13T11:31:05.787Z"
        }
    },
    "code": 422
}

EXPECTED RESULTS

I expected to be able to have a user defined that can only see the config part of a Partition/Route Domain, but alos be able to delete the VIP that was created in that Route Domain

ACTUAL RESULTS

Try DELETE "https://{{F5_BIGIP}}/mgmt/shared/appsvcs/declare/RD2_WEB"
{
    "results": [
        {
            "message": "declaration failed",
            "response": "0107082a:3: Partition (RD2_WEB) cannot be deleted, one or more users are assigned a role on the partition.",
            "code": 422,
            "host": "localhost",
            "tenant": "RD2_WEB",
            "runTime": 2861
        }
    ],

I believe what you're seeing is expected behaviour. Objects created outside of AS3 are not maintained by AS3.
Still, I'll open up a task on this and will look into this. Sorry for the delay in response.

This looks like it is working as expected to me. AS3 cannot delete something because it is in use by something outside of AS3's control.

There should be a way to release the object from a user. If a user has rights to view something that should not stop the 'admin' user from removing that object..
Maybe instead of a FULL delete, we implement an a function that deletes everything barring the folder name - so that the Partition name can remain, but the contents are removed ?

Releasing the object from the user would require modifying the user. AS3 does not modify configuration objects that it did not create. It is also difficult to figure out what is referencing something like a partition before running into problems. The user experience could certainly be improved here, but I still think this is working as expected. We will open an internal ticket to track this issue as a feature request.

This is being tracked internally as 904

As mentioned above, this is the current expected behavior as AS3s intent is not to modify users before removing an object.


Add link to hosted API in README

This is a proposal to add a link to the hosted API as per discussion in #142.
I've not added the full button described in my comment as I wanted to keep your README clean.
Happy to discuss payouts via Slack.

Maybe we can make a section for that.

Sure, I can do something like this:

Also could do below the installation

Let me know your preference! Also happy to tweak wording.

Hey @IonicaBizau! Hope you had a great xmas. Didn't hear back, so just wanted to check in and see if you had any thoughts on the above?

Will check it tomorrow.
Sent from my iPhone

On 28 Dec 2019, at 11:13, Chris Villa<EMAIL_ADDRESS>wrote:

Hey @IonicaBizau! Hope you had a great xmas. Didn't hear back, so just wanted to check in and see if you had any thoughts on the above?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Page menu URLs vs permalinkable output formats

After setting section = ["HTML", "RSS", "AMP"] in config.tomal all the hyperlinks in the page links to http://domain.com/amp/.... This was working fine in 0.54.

all the hyperlinks in the page links to

What do you mean by ALL?
Note that we added a Permalinkable config option on the Output Format -- this defaults to true for HTML and AMP. You can turn that off, but you need to add a output format config section.

Any links that have been generated by Hugo that links to other pages in the same domain, not to the external domain. Permalinkable is not the problem I guess.
Does adding AMP to sections turn all non-AMP links to AMP? as in localhost:1313/blog/welcome to localhost:1313/amp/blog/welcome in a page with URL localhost:1313/blog? This was not the case in 0.54.

Does adding AMP to sections turn all non-AMP links to AMP? as in localhost:1313/blog/welcome to localhost:1313/amp/blog/welcome in a page with URL localhost:1313/blog? This was not the case in 0.54.

No.
I will double check the logic to make sure that we only link from AMP => AMP, but when you now do .RelPermalink on a page when rendering the AMP variant, it will link to the AMP variant.
If this is not what you want, you can turn it off. See above.

No.

But it's happening to me for some reason.
I am not using . RelPermalink BTW I am using .Permalink. Are both same?

Are both same?

They are conceptually the same, yes.

@akshaybabloo I have added some more tests for this -- and it behaves exactly as expected.

OK, I am not sure what the problem is then:
The code is here -> https://github.com/akshaybabloo/gollahalli.com
The output options I have in my config.toml is:
[outputs]
  home = ["HTML", "RSS", "AMP", "searchindex"]
  page = ["HTML", "RSS", "AMP"]
  section = ["HTML", "RSS"]

Now, I have removed section from it but I still get amp URL in my nav bar, the code for that is:
https://github.com/akshaybabloo/gollahalli.com/blob/8d31bbc560fd7b0cd7e236e05b9d748194a68e08/themes/Spark/layouts/index.html#L76-L81

            {{ range .Site.Menus.main }}

{{ .Name }}

            {{ end }}

The about and projects has amp links I have no idea why.

OK, the page menus. I understand now. I will fix this, eventually, but you can get back the old behaviour by adding a AMP definition with permalinkable turned off:
https://gohugo.io/templates/output-formats#readout

you mean by adding permalinkable = false in the config.toml right?

Something llike this:
[outputFormats]
[outputFormats.AMP]
permalinkable = false


fix(atlasmap): Increase wait timeout to prevent premature failure

Related to #1. It should increate stability during CI runs.

Actually Atlasmap UI seems to be bugged, tracking here https://github.com/syndesisio/syndesis-ui/issues/621. Lets postpone merging of this PR :)

retest this please

@dsimansk as #621 has been closed, can we merge this, too ?


ch.12: missing line in code snippet, pg. 394

Missing: typedef struct _FLT_IO_PARAMETER_BLOCK {

Good catch :)

While at it, can fix also the a minor typo in the following section, same page:

2nd one fixed now, but the struct declaration is still in-correct?


Allow setting policies on actions

Policies is a new concept which let you allowing teams to do some
actions and reject member who are not part of those teams.
Current actions supported are pull_request and ok_to_test (more to
come in the future)
See the documentation attached to this PullRequest for more description
on how to use this feature.

weird, things are green for me locally when running the test locally
% e2e-run -k kind -p gitea-kind -n TestGiteaACL
Running TestGiteaACL
Cleaning test cache
=== RUN   TestGiteaACLOrgAllowed
💡 06:20:51 Namespace pac-e2e-test-vb9sq created
💡 06:20:51 Creating gitea repository pac-e2e-test-vb9sq for user pac
💡 06:20:52 Creating webhook to smee url on gitea repository pac-e2e-test-vb9sq
💡 06:20:52 PipelinesAsCode Repository pac-e2e-test-vb9sq has been created in namespace pac-e2e-test-vb9sq
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:20:53 Pushed files to repo http://localhost:3000/pac/pac-e2e-test-vb9sq branch pac-e2e-test-vb9sq
💡 06:20:54 PullRequest http://localhost:3000/pac/pac-e2e-test-vb9sq/pulls/1 has been created
💡 06:20:55 Forked repository http://localhost:3000/pac-e2e-test-vb9sq/pac-e2e-test-vb9sq.git has been created
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:20:56 Pushed files to repo  branch pac-e2e-test-vb9sq
💡 06:21:00 Created pr http://localhost:3000/pac/pac-e2e-test-vb9sq/pulls/2 branch:main from fork pac-e2e-test-vb9sq/pac-e2e-test-vb9sq, branch:pac-e2e-test-vb9sq
💡 06:21:17 Status on SHA: pac-e2e-test-vb9sq is success
--- PASS: TestGiteaACLOrgAllowed (25.79s)
=== RUN   TestGiteaACLOrgSkipped
💡 06:21:17 Namespace pac-e2e-test-tt8z4 created
💡 06:21:17 Creating gitea repository pac-e2e-test-tt8z4 for user pac
💡 06:21:18 Creating webhook to smee url on gitea repository pac-e2e-test-tt8z4
💡 06:21:18 PipelinesAsCode Repository pac-e2e-test-tt8z4 has been created in namespace pac-e2e-test-tt8z4
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:21:19 Pushed files to repo http://localhost:3000/pac/pac-e2e-test-tt8z4 branch pac-e2e-test-tt8z4
💡 06:21:26 PullRequest http://localhost:3000/pac/pac-e2e-test-tt8z4/pulls/1 has been created
💡 06:21:34 Forked repository http://localhost:3000/pac-e2e-test-tt8z4/pac-e2e-test-tt8z4.git has been created
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:21:35 Pushed files to repo  branch pac-e2e-test-tt8z4
💡 06:21:38 Created pr http://localhost:3000/pac/pac-e2e-test-tt8z4/pulls/2 branch:main from fork pac-e2e-test-tt8z4/pac-e2e-test-tt8z4, branch:pac-e2e-test-tt8z4
💡 06:21:48 Status on SHA: 73f9452288ea578d13e1cbce74a2a6aa6144ec5e is success
💡 06:21:49 Found regexp ".*is skipping this commit.*" in PR comments
--- PASS: TestGiteaACLOrgSkipped (31.68s)
=== RUN   TestGiteaACLCommentsAllowing
=== RUN   TestGiteaACLCommentsAllowing/OK_to_Test
💡 06:21:49 Namespace pac-e2e-test-hx7rv created
💡 06:21:49 Creating gitea repository pac-e2e-test-hx7rv for user pac
💡 06:21:49 Creating webhook to smee url on gitea repository pac-e2e-test-hx7rv
💡 06:21:49 PipelinesAsCode Repository pac-e2e-test-hx7rv has been created in namespace pac-e2e-test-hx7rv
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:21:50 Pushed files to repo http://localhost:3000/pac/pac-e2e-test-hx7rv branch pac-e2e-test-hx7rv
💡 06:21:50 PullRequest http://localhost:3000/pac/pac-e2e-test-hx7rv/pulls/1 has been created
💡 06:21:51 Forked repository http://localhost:3000/pac-e2e-test-hx7rv/pac-e2e-test-hx7rv.git has been created
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:21:51 Pushed files to repo  branch pac-e2e-test-hx7rv
💡 06:21:52 Created pr http://localhost:3000/pac/pac-e2e-test-hx7rv/pulls/2 branch:main from fork pac-e2e-test-hx7rv/pac-e2e-test-hx7rv, branch:pac-e2e-test-hx7rv
💡 06:21:57 Status on SHA: c7c80483769aa088b9cc31f2631ba90f6117660b is success
💡 06:21:57 Found regexp ".*is skipping this commit.*" in PR comments
💡 06:21:57 Posted comment "/ok-to-test" in http://localhost:3000/pac/pac-e2e-test-hx7rv/pulls/2
💡 06:21:57 Found regexp "^Pipelines as Code CI.*has.*successfully" in PR comments
=== RUN   TestGiteaACLCommentsAllowing/Retest
💡 06:21:57 Namespace pac-e2e-test-xl4r4 created
💡 06:21:57 Creating gitea repository pac-e2e-test-xl4r4 for user pac
💡 06:21:57 Creating webhook to smee url on gitea repository pac-e2e-test-xl4r4
💡 06:21:57 PipelinesAsCode Repository pac-e2e-test-xl4r4 has been created in namespace pac-e2e-test-xl4r4
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:21:58 Pushed files to repo http://localhost:3000/pac/pac-e2e-test-xl4r4 branch pac-e2e-test-xl4r4
💡 06:21:58 PullRequest http://localhost:3000/pac/pac-e2e-test-xl4r4/pulls/1 has been created
💡 06:21:59 Forked repository http://localhost:3000/pac-e2e-test-xl4r4/pac-e2e-test-xl4r4.git has been created
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:21:59 Pushed files to repo  branch pac-e2e-test-xl4r4
💡 06:22:00 Created pr http://localhost:3000/pac/pac-e2e-test-xl4r4/pulls/2 branch:main from fork pac-e2e-test-xl4r4/pac-e2e-test-xl4r4, branch:pac-e2e-test-xl4r4
💡 06:22:05 Status on SHA: d5e741bb6b2d935008a0937528428e19656599e4 is success
💡 06:22:05 Found regexp ".*is skipping this commit.*" in PR comments
💡 06:22:05 Posted comment "/retest" in http://localhost:3000/pac/pac-e2e-test-xl4r4/pulls/2
💡 06:22:05 Found regexp "^Pipelines as Code CI.*has.*successfully" in PR comments
=== RUN   TestGiteaACLCommentsAllowing/Test_PR
💡 06:22:05 Namespace pac-e2e-test-8sxlq created
💡 06:22:05 Creating gitea repository pac-e2e-test-8sxlq for user pac
💡 06:22:05 Creating webhook to smee url on gitea repository pac-e2e-test-8sxlq
💡 06:22:06 PipelinesAsCode Repository pac-e2e-test-8sxlq has been created in namespace pac-e2e-test-8sxlq
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:22:06 Pushed files to repo http://localhost:3000/pac/pac-e2e-test-8sxlq branch pac-e2e-test-8sxlq
💡 06:22:06 PullRequest http://localhost:3000/pac/pac-e2e-test-8sxlq/pulls/1 has been created
💡 06:22:07 Forked repository http://localhost:3000/pac-e2e-test-8sxlq/pac-e2e-test-8sxlq.git has been created
    scm.go:44: skipping cleanup because TEST_NOCLEANUP was enabled.
    scm.go:50: skipping cleanup because TEST_NOCLEANUP was enabled.
💡 06:22:07 Pushed files to repo  branch pac-e2e-test-8sxlq
💡 06:22:08 Created pr http://localhost:3000/pac/pac-e2e-test-8sxlq/pulls/2 branch:main from fork pac-e2e-test-8sxlq/pac-e2e-test-8sxlq, branch:pac-e2e-test-8sxlq
💡 06:22:13 Status on SHA: 4a54977e031c3b27219795491b73fa185cf4c07a is success
💡 06:22:13 Found regexp ".*is skipping this commit.*" in PR comments
💡 06:22:13 Posted comment "/test pr" in http://localhost:3000/pac/pac-e2e-test-8sxlq/pulls/2
💡 06:22:13 Found regexp "^Pipelines as Code CI.*has.*successfully" in PR comments
--- PASS: TestGiteaACLCommentsAllowing (24.37s)
    --- PASS: TestGiteaACLCommentsAllowing/OK_to_Test (8.34s)
    --- PASS: TestGiteaACLCommentsAllowing/Retest (8.05s)
    --- PASS: TestGiteaACLCommentsAllowing/Test_PR (7.98s)
PASS
ok  	github.com/openshift-pipelines/pipelines-as-code/test	81.868s

nevermind the other comment the error was legitimate

what does pull_request action means here? 🤔

@sm43 it's this
* `pull_request` - This action is triggering the CI on Pipelines as Code,
   specifying a team will only allow the members of the team to trigger the CI
   and will not allow other members regadless if they are Owners or Collaborators
   of the repository or the Organization. The OWNERS file is still taken into
   account and will as well allow the members of the OWNERS file to trigger the
   CI.

/retest

/lgtm

/lgtm


Support for multiple data centre

This blog suggests creating a statefulset per DC.

https://www.ibm.com/developerworks/library/ba-multi-data-center-cassandra-cluster-kubernetes-platform/index.html

So perhaps we can have a Navigator NodePool per datacentre.
We should consider that.
/feature

This is pretty complex, as a Kubernetes cluster is usually homed in a single region, and federation doesn't seem like it'll be a major theme in Kubernetes multi-cluster in future.
We would need some way to federate Navigator itself in this instance. We'd also need to think about how we'd manage HA for pilot-controller across clusters, and how that'd work.

(specifically running across Kubernetes clusters, that is)
If this issue is about running on different nodes within a single cluster, then we already have this now and this issue can be closed 😄


feat(update-server): Add basic update server

overview
Core update server, currently able to update itself safely. Notably missing: restart endpoint, and api and fw update endpoints. Those are out of scope for this PR. Fixes #1208
changelog

Added update server sub-project to repo
Added self-update endpoint in update server, with safety check in sandboxed environment
Added health endpoint to provide versions of all robot software

review requests
Has been tested on 🌔 🌔 and is able to boostrap itself (installing successive updates over itself properly, and rejecting ones that fail to boot or accept subsequent updates).
Note that this will have no effect on running robots until the Dockerfile is updated, and that follow-up PRs need to be completed to add API and FW update and restart endpoints before this application will be ready to ship.

Demo'ed to @mcous on 🌔 🌔 . Correctly tests and installs valid updates, rejects updates that do not respond correctly to health/bootstrap requests.


Using EntityManager.map() with Query Builder

Is your feature request related to a problem? Please describe.
We're using QueryBuilder because we need some relatively complex join logic. What we'd like is to be able to take this query, then load entities from it. We are using EntityManager.map() but hit two things with it that I'm not sure are meant to be supported or not, so I'm assuming it's a feature request.
Describe the solution you'd like
We'd like to be able to await query builder's execute() then EntityManager.map() to get entities back. Our current implementation (which we think we can improve) is:
const query = [our query builder];
const driver = orm.em.getDriver();
const meta = orm.em.getMetadata().get(this.mikroType.name);

// 1:1 relations that aren't on the owning side need to get populated so the references get set.
// This method is protected, but we need to use it from here, hence the `as any`.
const populate = (driver as any).autoJoinOneToOneOwner(meta, []);
return (await query.populate(populate).execute()).map((entity: any) =>
	orm.em.map(this.mikroType, driver.mapResult(entity, meta) || {})
);

We're needing to do more than just a call to .map for three reasons:

When we call .map with the raw query builder result, we get an error converting numbers to strings. driver.mapResult fixes this, but then we need to grab the metadata for the entity to do that process.
We use @OneToOne relationships, so are currently using the autoJoinOneToOneOwner helper, but we can see this isn't meant to be part of the API.
driver.mapResult is typed so that it can return null, which EntityManager.map does not accept, hence the || {} that we know won't actually be used here, this is just to get TypeScript to calm down.

Describe alternatives you've considered
Continue with this implementation as is, because it works fine for the moment. Not ideal as it's quite tightly coupled to Mikro internals, but would be absolutely fine.
Additional context

To me it feels like driver.mapResult should happen within EntityManager.map itself. If map is meant to take a raw database result from a query builder then this is a step that we should probably do within .map, no?
On the @OneToOne front, it feels like we're probably going about this the wrong way. Is there a supported API way to tell a query builder to do these joins before we run execute()? If not, should there be for this use case? Should this method become public?

As always, happy to do the PR to make .map easier to use, just wondering about the intended developer experience here and if we're just using it wrong.

Why don't use use qb.getResult() instead? Also qb.execute() has a mapResults parameter that defaults to true - you should not need to call it explicitly.
autoJoinOneToOneOwner is handled for EM only, as with QB you should rather join yourself to make things explicit - I didn't want to introduce too much magic to QB.
mapResult can return null if you try to use it with a non-entity (or with a falsy result argument, e.g. when the entity was not found). It is API on driver level, and you can use driver with any table, without entity for that table defined. So it should be safe to use non-null assertion operator (!).
Lastly, em.map already calls driver.mapResult, see the code:
https://github.com/mikro-orm/mikro-orm/blob/master/packages/core/src/EntityManager.ts#L484

Interesting, I'll have a look. Thanks!

Yup, much simpler. I'm not sure how I missed getResult(). That solves the weirdest bits.
We're still depending on autoJoinOneToOneOwner for the moment (as without it we'd need to just copy and paste the identical logic into our code) but getResult() does exactly what we wanted, so thanks!

Maybe we could move the autoJoinOneToOneOwner logic to query builder under a flag.

Yup, that'd work well I think.
Do you want me to explore a PR that does that?

Sure, feel free to give it a try. Should be just about moving the logic inside QB (finalize method seems like a good fit on the first sight). Should be disabled by default, and the places that use the method should just enable the flag for given QB.

Yup, cool, I'll give it a try.

It's a bit too tangled up to pull it into the query builder I think.
In findOne, joinedProps needs to know about the populate, which was coming from the driver before this line:
this.joinedProps(meta, populate);

If we move this into QueryBuilder, then a bunch of tests (like EntityManagerMySql › 1:1 relationships with an inverse side primary key of 0 should link). I can't figure out how we'd keep the knowledge of this separate until after the construction step to then do it in finalize in QB. It needs to happen before we build out all the pivot stuff.
I think it'd make more sense to expose a method on the query builder called autoJoinOneToOneOwner similar to how we have autoJoinPivotTable, which would just be a publicly supported way to call the autoJoinOneToOneOwner on the driver but with all the metadata and stuff loaded already, which would then add to the populate parameter.
Does that make sense and sound like a good idea?

But qb.autoJoinPivotTable is a private method. I would still prefer to do this via QueryFlag rather than a new (public) method with weird name :]

4.5.4-dev.15


Refactor device type resolver

Description
Refactors the methods used to determine de device type on Android. This allows Android native interoperability (described in the README.md
Compatibility

OS
Implemented

iOS
❌

Android
✅

Windows
❌

Checklist

[x] I have tested this on a device/simulator for each compatible OS
[x] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typings files (privateTypes.ts, types.ts)
[ ] I added a sample use of the API (example/App.js)

Interesting - I'd never thought of that as a use case but I haven't had to handle react-native brown-field apps as of yet, I assume that's the use for you?
Looks sane enough and even without the use case it separates this out as a nice coherent chunk of logic.
How have you tested it?

Hello, thank you for looking at my PR @mikehardy. We have a "pure" react-native app. Here is the scenario we need this for: We want call requestOrientation as the first thing when we create the main activity. This is so the tablet version of the app starts in landscape.
We tried three things: 1) Doing it in JS but since RN takes a second to launch, we would see portrait execution for a split second. So we went to 2) Doing the check on native, this works well but we logic implemented was different from the one in react-native-device-info.  Finally, 3) We went with your implementation for consistency and it works well but that meant I had to copy-paste the same chunk of code.
So, this proposed solution would solve all our problems, it means that we can reuse the logic implemented in the library on both native and js without code duplication. As an added bonus, decouples that functionality that does not require reactContext, any Context object would do

That's an interesting problem + solution, I know from work with the splash screen module that yes - there's sometimes quite a long time in native code before JS loads things. Yeah, I think it passes muster just as a nice encapsulation of the logic.
So you tested this on phone and tablet and it looks good to you? Seems like the answer is yes but I want to confirm

Yes, we have tested on both phones and tablets of different sizes/densities.

Yes, we have tested on both phones and tablets of different sizes/densities.

Excellent! merged - I have a couple unreleased changes on master now and hope to get a release out shortly but obviously you're safe in using this now - either depending on the git commit hash (safe + reproducible) or master as you see fit.
Thanks!


[hw] Update snowflake setting related code and document

Summary

Snowflake related settings were not consistent in code and document, which has been updated to the latest.
Tests

CI
cc:

@dy46 @wangxiaoyou1993

You can rebase master to fix your unit test failures


resolve Rhea mapping for 'glycerol-3-phosphate dehydrogenase [NAD+] activity' GO:0004367, 'glycerol-3-phosphate dehydrogenase [NAD(P)+] activity' GO:0047952, 'glycerol-3-phosphate dehydrogenase [NADP+] activity' GO:0106257

glycerol-3-phosphate dehydrogenase [NAD+] activity EquivalentTo NAD(+) + sn-glycerol 3-phosphate = dihydroxyacetone phosphate + H(+) + NADH	(most probable)	0.8
dihydroxyacetone phosphate + H(+) + NADH => NAD(+) + sn-glycerol 3-phosphate EquivalentTo METACYC:<IP_ADDRESS>-RXN	(most probable)	0.75
NAD(+) + sn-glycerol 3-phosphate = dihydroxyacetone phosphate + H(+) + NADH ProperSubClassOf EC:<IP_ADDRESS>		0.1
glycerol-3-phosphate dehydrogenase [NAD(P)+] activity EquivalentTo EC:<IP_ADDRESS>	(most probable)	0.8
NAD(+) + sn-glycerol 3-phosphate = dihydroxyacetone phosphate + H(+) + NADH EquivalentTo EC:<IP_ADDRESS>	(most probable)	0.75
dihydroxyacetone phosphate + H(+) + NADPH => NADP(+) + sn-glycerol 3-phosphate EquivalentTo METACYC:GLYC3PDEHYDROGBIOSYN-RXN	(most probable)	0.75
dihydroxyacetone phosphate + H(+) + NADH => NAD(+) + sn-glycerol 3-phosphate ProperSuperClassOf REACTOME:R-HSA-75889.2	(most probable)	0.7
glycerol-3-phosphate dehydrogenase [NAD+] activity EquivalentTo EC:<IP_ADDRESS>	(most probable)	0.8
NADP(+) + sn-glycerol 3-phosphate = dihydroxyacetone phosphate + H(+) + NADPH EquivalentTo EC:<IP_ADDRESS>	(most probable)	0.75
glycerol-3-phosphate dehydrogenase [NADP+] activity ProperSubClassOf NADP(+) + sn-glycerol 3-phosphate = dihydroxyacetone phosphate + H(+) + NADPH		0.08
dihydroxyacetone phosphate + H(+) + NADH => NAD(+) + sn-glycerol 3-phosphate ProperSubClassOf METACYC:GLYC3PDEHYDROGBIOSYN-RXN		0.1
glycerol-3-phosphate dehydrogenase [NAD(P)+] activity EquivalentTo METACYC:GLYC3PDEHYDROGBIOSYN-RXN	(most probable)	0.8
glycerol-3-phosphate dehydrogenase [NAD+] activity EquivalentTo METACYC:<IP_ADDRESS>-RXN	(most probable)	0.8

merging NADP and NAD terms into NAD(P) term and making substrate-specific RHEAs narrowMatch xrefs should solve this.

Merged NADP (GO:0106257)  into NAD(P) term (GO:0047952) 4-18-22

I think we're only missing the other merge

Ah you mean merge the NAD (GO:0004367) term; forgot about that.

done; close

I just stumbled across this ticket in trying to resolve a GO/EC/RHEA/Metacyc mapping problem.
I don't think the three-way merge that was done here was the right decision.
We've ended up with this single generic GO term:
id: GO:0047952
name: glycerol-3-phosphate dehydrogenase [NAD(P)+] activity
alt_id: GO:0004367
alt_id: GO:0036439
alt_id: GO:0106257
xref: EC:<IP_ADDRESS>
xref: EC:<IP_ADDRESS>
xref: KEGG_REACTION:R00842
xref: KEGG_REACTION:R00844
xref: MetaCyc:<IP_ADDRESS>-RXN
xref: MetaCyc:GLYC3PDEHYDROGBIOSYN-RXN
xref: RHEA:11092 {source="skos:narrowMatch"}
xref: RHEA:11096 {source="skos:narrowMatch"}
Having a single GO term for 2/3 reactions and thus having a double set of xrefs is confusing and causing downstream mapping issues (at least for FlyBase). UniProt has very different sets of proteins annotated to the two ECs/RHEAs mentioned here, also showing that it's not appropriate to bundle these into a single GO term.
So, I would like to return to the previous 3-term solution (which I previously worked on and fixed with Harold in #19191, Mar 2020), that is:
id: GO:0047952
name: glycerol-3-phosphate dehydrogenase [NAD(P)+] activity
def: "Catalysis of the reaction: sn-glycerol 3-phosphate + NAD(P)+ = glycerone phosphate + NAD(P)H + H+." [EC:<IP_ADDRESS>]
xref: EC:<IP_ADDRESS>
xref: MetaCyc:GLYC3PDEHYDROGBIOSYN-RXN
id: NTR (= old GO:0004367)
name: glycerol-3-phosphate dehydrogenase [NAD+] activity
def: "Catalysis of the reaction: NAD(+) + sn-glycerol 3-phosphate = dihydroxyacetone phosphate + H(+) + NADH." [RHEA:11092] [EC:<IP_ADDRESS>]
xref: EC:<IP_ADDRESS>
xref: KEGG_REACTION:R00842
xref: MetaCyc:<IP_ADDRESS>-RXN
xref: RHEA:11092
is_a: GO:0047952 ! glycerol-3-phosphate dehydrogenase [NAD(P)+] activity
id: NTR (= old GO:0106257 & GO:0036439)
name: glycerol-3-phosphate dehydrogenase [NADP+] activity
def: "Catalysis of the reaction: NADP(+) + sn-glycerol 3-phosphate = dihydroxyacetone phosphate + H(+) + NADPH." [RHEA:11096]
xref: KEGG_REACTION:R00844
xref: RHEA:11096
is_a: GO:0047952 ! glycerol-3-phosphate dehydrogenase [NAD(P)+] activity
This version separates out the NADP and NAD activities, and thus allocates the xrefs accurately.
I understand from Jim's original post on this ticket that there was a problem with the RHEA mapping with the 3-term solution - I'm not sure if re-instating the 3-term solution will set off alarm bells again?
But this may be unavoidable. The reason this issue is tricky is because EC/RHEA/MetaCyc/KEGG handle these 3 possible reactions in 3 different ways:

EC has 2 terms: one generic for NAD(P) and one specific for NAD
RHEA has only 2 terms: one specific for NADP and one specific for NAD
MetaCyc follows EC, and has one entry generic for NAD(P) and one specific for NAD
KEGG follows RHEA, and has one entry specific for NADP and one specific for NAD
So, the xrefs are not a simple 1:1 correspondence....

Your proposed 3 term triangle solution is completely logically fine. It
doesn’t mess up the xrefs like the original one did so boomer should be
fine with it
The biological justification is strong as well.
On Fri, Jan 26, 2024 at 6:14 AM Steven Marygold @.***>
wrote:

I just stumbled across this ticket in trying to resolve a
GO/EC/RHEA/Metacyc mapping problem.
I don't think the three-way merge that was done here was the right
decision.
We've ended up with this single generic GO term:
id: GO:0047952
name: glycerol-3-phosphate dehydrogenase [NAD(P)+] activity
alt_id: GO:0004367
alt_id: GO:0036439
alt_id: GO:0106257
xref: EC:<IP_ADDRESS>
xref: EC:<IP_ADDRESS>
xref: KEGG_REACTION:R00842
xref: KEGG_REACTION:R00844
xref: MetaCyc:<IP_ADDRESS>-RXN
xref: MetaCyc:GLYC3PDEHYDROGBIOSYN-RXN
xref: RHEA:11092 {source="skos:narrowMatch"}
xref: RHEA:11096 {source="skos:narrowMatch"}
Having a single GO term for 2/3 reactions and thus having a double set of
xrefs is confusing and causing downstream mapping issues (at least for
FlyBase). UniProt has very different sets of proteins annotated to the two
ECs/RHEAs mentioned here, also showing that it's not appropriate to bundle
these into a single GO term.
So, I would like to return to the previous 3-term solution (which I
previously worked on and fixed with Harold in #19191
https://github.com/geneontology/go-ontology/issues/19191, Mar 2020),
that is:
id: GO:0047952
name: glycerol-3-phosphate dehydrogenase [NAD(P)+] activity
def: "Catalysis of the reaction: sn-glycerol 3-phosphate + NAD(P)+ =
glycerone phosphate + NAD(P)H + H+." [EC:<IP_ADDRESS>]
xref: EC:<IP_ADDRESS>
xref: MetaCyc:GLYC3PDEHYDROGBIOSYN-RXN
id: NTR (= old GO:0004367)
name: glycerol-3-phosphate dehydrogenase [NAD+] activity
def: "Catalysis of the reaction: NAD(+) + sn-glycerol 3-phosphate =
dihydroxyacetone phosphate + H(+) + NADH." [RHEA:11092] [EC:<IP_ADDRESS>]
xref: EC:<IP_ADDRESS>
xref: KEGG_REACTION:R00842
xref: MetaCyc:<IP_ADDRESS>-RXN
xref: RHEA:11092
is_a: GO:0047952 ! glycerol-3-phosphate dehydrogenase [NAD(P)+] activity
id: NTR (= old GO:0106257 & GO:0036439)
name: glycerol-3-phosphate dehydrogenase [NADP+] activity
def: "Catalysis of the reaction: NADP(+) + sn-glycerol 3-phosphate =
dihydroxyacetone phosphate + H(+) + NADPH." [RHEA:11096]
xref: KEGG_REACTION:R00844
xref: RHEA:11096
is_a: GO:0047952 ! glycerol-3-phosphate dehydrogenase [NAD(P)+] activity
This version separates out the NADP and NAD activities, and thus allocates
the xrefs accurately.
I understand from Jim's original post on this ticket that there was a
problem with the RHEA mapping with the 3-term solution - I'm not sure if
re-instating the 3-term solution will set off alarm bells again?
But this may be unavoidable. The reason this issue is tricky is because
EC/RHEA/MetaCyc/KEGG handle these 3 possible reactions in 3 different ways:

EC has 2 terms: one generic for NAD(P) and one specific for NAD
RHEA has only 2 terms: one specific for NADP and one specific for NAD
MetaCyc follows EC, and has one entry generic for NAD(P) and one
specific for NAD
KEGG follows RHEA, and has one entry specific for NADP and one
specific for NAD
So, the xrefs are not a simple 1:1 correspondence....

—
Reply to this email directly, view it on GitHub
https://github.com/geneontology/go-ontology/issues/21790#issuecomment-1912135241,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAMMONQCPCX4W5IP7A4XTLYQO25FAVCNFSM476W2A7KU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJRGIYTGNJSGQYQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hi @pgaudet Can you help with this one, or should we ask Raymond?

I suppose there is a slight issue in that upstream groups will have merged any experimental annotations from the more granular terms. Even though formally we don't require people to annotate to the most granular term, it is a bit odd to restore the granularity and not have annotations at that level.
However, in the specific case of enzyme annotation, I think we should be OK as we will get the granular annotations from Rhea/Uniprot/EC pipelines anyway. So I am good with the restoration.

I can have a look, if it's similar to https://github.com/geneontology/go-ontology/issues/25699
the NAD/NADP issue
@cmungall I understand that we dont want to go back and forth - hopefully if we can apply our guidelines more consistently
https://wiki.geneontology.org/Guidelines_for_new_Molecular_Functions#NAD/NADP_cofactors

After reviewing annotations, it seems like bacteria use NADP+ and eukaryotes use NAD, see
https://github.com/geneontology/go-annotation/issues/4964
Actions:

[ ] unobsolete GO:0004367  glycerol-3-phosphate dehydrogenase [NAD+] activity and GO:0106257 glycerol-3-phosphate dehydrogenase [NADP+] activity
[ ] check mappings
[ ] Add taxon constraints for these 2 terms:
[ ] GO:0004367  glycerol-3-phosphate dehydrogenase [NAD+] activity>> only in eukaryotes
[ ] GO:0106257 glycerol-3-phosphate dehydrogenase [NADP+] activity >> only in bacteria and archae
[ ] restore annotations as in https://github.com/geneontology/go-annotation/issues/4964
[ ] obsolete GO:0047952 glycerol-3-phosphate dehydrogenase [NAD(P)+] activity

After reviewing annotations, it seems like bacteria use NADP+ and eukaryotes use NAD,

I think that's right, which makes me wonder why EC:<IP_ADDRESS> was created for "NAD(P)", which would suggest that some enzymes use both/either? If GO:0047952 gets obsoleted, will EC:<IP_ADDRESS> get added as a broad xref on GO:0004367 and GO:0106257?

If GO:0047952 gets obsoleted, will EC:<IP_ADDRESS> get added as a broad xref on GO:0004367 and GO:0106257?

Yes good point

which makes me wonder why EC:<IP_ADDRESS> was created for "NAD(P)", which would suggest that some enzymes use both/either

I asked Elisabeth Coudert from RHEA to look into that. Right now for all annotated genes it seems like it's either/or.
I am guessing that EC has the NAD(P) term because the practice used to be not to try to distinguish this (I think??), and it seems they have also created NAD+/NADP+-specific terms in some cases, but not very consistently. (a bit like us :(  )

I asked Elisabeth Coudert from RHEA to look into that. Right now for all annotated genes it seems like it's either/or.
I am guessing that EC has the NAD(P) term because the practice used to be not to try to distinguish this (I think??), and it seems they have also created NAD+/NADP+-specific terms in some cases, but not very consistently. (a bit like us :( )

An important textbook biochemistry / biology point is that mostly NADH participates in oxidations and reductions involved in neergy generation and use (e.g., beta-oxidation of long-chain fatty acids in the mitochondria generates large amounts of NADH that is fed into ATP generation), while NADP is involved in biosyntheses and other interconversions. Almost all human enzymatic reactions that involve NAD(P) are specific for one or the other. A question for GO, however, is whether this really important distinction should be made at the level of molecular function / single-step molecular reactions or at the level of biological processes / pathways and annotations of participating small molecules.

I am guessing that EC has the NAD(P) term because the practice used to be not to try to distinguish this (I think??), and it seems they have also created NAD+/NADP+-specific terms in some cases, but not very consistently. (a bit like us :( )

I wonder whether EC:<IP_ADDRESS> should be changed to be specifically for NADP (the 'prokaryotic reaction'), if that's what it really means and is how it's been used in annotation?
Here are the counts you get by searching Swiss-Prot for the ECs / RHEAs mentioned above:
NADP = RHEA:11096 (no corresponding EC)
=> 593 RHEA annotations in Swiss-Prot, all to bacteria/archaea (seems correct)
NAD(P) = EC:<IP_ADDRESS> (no corresponding RHEA)
=> 593 EC annotations in Swiss-Prot, all to bacteria/archaea (i.e. same as above for NADP)
NAD = EC:<IP_ADDRESS> / RHEA:11092
=> 53 EC annotations in Swiss-Prot, all to eukaryotes (seems correct)
=> 61 RHEA annotations in Swiss-Prot are to eukaryotes (seems correct)
=> 605 RHEA annotations in Swiss-Prot are to bacteria/archaea (seems wrong, caused by  EC:<IP_ADDRESS> being mapped to both RHEA:11096 and RHEA:11092?)
A specific example of how the current EC-RHEA mappings are causing problems in UniProt - this bacterial enzyme (https://www.uniprot.org/uniprotkb/P0A6S7/entry) is annotated with EC:<IP_ADDRESS> and as a result is getting both RHEA:11096 and RHEA:11092 annotations via Unirule, which I don't think is right.
@amorgat ?

@sjm41
about EC:<IP_ADDRESS>:
The EC entry states "The enzyme from Escherichia coli shows specificity for the B side of NADPH. " - as if this was meant for NADPH, not NAD(P)H - @kaxelsen , should this be fixed?

@sjm41 AFAIK what is left is questions for EC and RHEA; I'll let you decide when you want to close this?

Thanks for working on this Pascale!

about EC:<IP_ADDRESS>:
The EC entry states "The enzyme from Escherichia coli shows specificity for the B side of NADPH. " - as if this was meant for NADPH, not NAD(P)H - @kaxelsen , should this be fixed?

There is nothing to fix. The comment is about from which side the NADPH is attacked, in this case the B side. So it is a detail that was studied with NADPH, and probably not NAD.

I asked Elisabeth Coudert from RHEA to look into that. Right now for all annotated genes it seems like it's either/or.
I am guessing that EC has the NAD(P) term because the practice used to be not to try to distinguish this (I think??), and it seems they have also created NAD+/NADP+-specific terms in some cases, but not very consistently. (a bit like us :( )

This is an insult to the EC system. When an entry is created with the term NAD(P)H it is because the enzyme accepts both NADH and NADPH with considerable activity.  So when there are three entries (NADH, NADPH and NAD(P)H) it is because there are three different types of enzymes, one that only accepts NADH, one that only accepts NADPH, and one type that accepts both!

Thanks for clarifying the situation @kaxelsen
And thanks for pointing to that PMID - this demonstrates why I should routinely use ExplorEnz rather than Expasy, as the latter doesn't show these references!
So EC doesn't have a entry specifically for the NADPH reaction, right?
@pgaudet I think Kristian's answer means that GO should retain the general 'GO:0047952 glycerol-3-phosphate dehydrogenase [NAD(P)+] activity' parent term, and this term (and not GO:0141153 glycerol-3-phosphate dehydrogenase (NADP+) activity) should have xref: EC:<IP_ADDRESS>, right?

So EC doesn't have a entry specifically for the NADPH reaction, right?

No it doesn't

Thanks @kaxelsen  @sjm41 for clarifying all this.
I'll have another look at the literature to see of we need all 3 terms in GO.

Thanks to the whole RHEA team for the help.
We now have:

glycerol-3-phosphate dehydrogenase (NAD+) activity: only in eukaryotes
glycerol-3-phosphate dehydrogenase [NAD(P)+] activity: only in bacteria (see PMID:28326)
glycerol-3-phosphate dehydrogenase (NADP+) activity: only in archae (see PMID:15557260)

Thanks, Pascale

Thanks @sjm41 !!
I also noticed that glycerol-3-phosphate dehydrogenase [NAD(P)+] activity was used in logical definitions and asserted superclasses for some eukaryote BP.

glycerophosphate shuttle
glycerol to glycerone phosphate metabolic process: removed LD for now, requested obsoletion in #26974

Please let me know if you see more errors,
Thanks, Pascale


Creating a second catalog with same name, when I remove it, it deletes both catalogs

Rancher versions: 5/25
Steps to Reproduce:

Create a local catalog and name it "catalog1", Save
Go back to manage and create another catalog call "catalog1" and try to save
After unique name error.  Delete the catalog and Save

Results:  Both catalogs are gone.  Really only the one that was erroring should be removed and the one that was previously saved should still be there.

Update: I also think this should be a UI situation. If the API is sent a delete request. It will delete the entry with the matching environment ID and name.
In terms of whether the delete request is sent, I think the UI should resolve that.

Isn't this the same as #8894 ?

Version - 1.6.1-rc10
Verified fixed


Extend unsafeInheritExecutor to remaining @_unsafeInheritExecutor APIs

Extend the unsafeInheritExecutor workaround to all remaining APIs in the Concurrency library that have adopted #isolation default arguments to (safely) stay in the caller's isolation domain...
... except one. Clock.measure() is currently running into problems with the type checker workaround and needs a little more thought.
Fixes rdar://131760111.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test


How to get API token?

How do you actually use the api? I can't seem to find a way to actually use it

nvm, figured it out


Deprecate and remove JMX Trans

This proposal suggests deprecation and removal of the JMX Trans tool which is part of the Kafka custom resource and does nto seem to be developed anymore. It proposes the timeline as well as the suggested steps for the different phases.

This has now 5 binding +1 votes / approvals. I will leave it open till tomorrow for any additional comments and if nothing changes I will close this proposal as approved.

In my experience, I've never seen a user asking or using it as part of
their Kafka CR.
+1
On Tue, Nov 22, 2022 at 12:24 PM Tom Bentley @.***>
wrote:

@.**** approved this pull request.
Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/strimzi/proposals/pull/65#pullrequestreview-1189870069,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACXM74TLNPHKCO44AYUY42DWJSUP7ANCNFSM6AAAAAASCPX3LM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Approved with 6 binding and 2 non-binding votes.


Create CONTRIBUTION.md

Add CONTRIBUTION.md

hi @HEX404 - thank you for this PR! We removed our contributing file because it was for our old site and needed to be updated to our new one. Here is a copy of our old one: https://github.com/sendgrid/docs/blob/old-develop/CONTRIBUTING.md
Please feel free to open another PR where you update the old one for our new one. Unfortunately the one you added in this PR doesn't really make sense for our repo.


Appstudio update test-custom-default-branch-laee

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-mcmm-on-pull-request-
creating pipelinerun test-simple-build-mcmm-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-imul-on-pull-request-
creating pipelinerun test-simple-build-imul-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-uqzm-on-pull-request-
creating pipelinerun test-simple-build-uqzm-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-mijr-on-pull-request-
creating pipelinerun test-annotations-mijr-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-lqle-on-pull-request-
creating pipelinerun test-simple-build-lqle-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nwtb-on-pull-request-
creating pipelinerun test-simple-build-nwtb-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-ufgi-on-pull-request-
creating pipelinerun test-simple-build-ufgi-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nyrh-on-pull-request-
creating pipelinerun test-simple-build-nyrh-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-wadk-on-pull-request-
creating pipelinerun test-simple-build-wadk-on-pull-request- in namespace build-e2e-vfwo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


caps: update d3d12 encoder caps for DG2

D3D12 should use encoder instead of vdenc.

D3D12 should use encoder instead of vdenc.

All the other DG2 driver caps use vdenc.  So why does D3D12 not?  The hardware is vdenc only, right?  So why doesn't D3D12 make that distinction?

D3D12 should use encoder instead of vdenc.

All the other DG2 driver caps use vdenc. So why does D3D12 not? The hardware is vdenc only, right? So why doesn't D3D12 make that distinction?

D3D12 has no such low_power option and vdenc concepts. When I initially added the lib/ffmpeg/d3d12/encoder.py, I removed all the LP test suites. And we also use encode caps for vaon12 on DG2. Yes the hardware is vdenc only but from FFmpeg level could we use "encode" caps for simplicity? What do you think Artie? Thank you.


React: Create a Controlled Form Bug

Describe your problem and how to reproduce it:
Every time I click the submit button, an entirely new freecodecamp window opens within the challenge-preview-frame.
Add a Link to the page with the problem:
https://learn.freecodecamp.org/front-end-libraries/react/create-a-controlled-form
Tell us about your browser and operating system:

Browser Name: Google Chrome
Browser Version: Chrome 68
Operating System: Windows 10

If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):

Thank you for reporting this issue.  However, this issue has already been fixed on the master branch and can be validated on our beta site which will be moved to production in the near future.


Fix: Reservations warning should mention defaults (Issue #447)

Edited the warning message to specify that provider specific defaults are being used.

Fixes #447

@lionello I have fixed the typo


Fixing functional tests for checking generated artifacts

Earlier any test written after check_file_exist would
fail, so fixed it with new function.
Fixes https://github.com/kubernetes-incubator/kompose/issues/361

@containscafeine would like your review on this one.

Coverage remained the same at 46.617% when pulling 26e348e73172c1ef9063fc88f98b6fae018fd080 on surajssd:cmd_tests_fix into 6e260bab0bcc604fc907da2f15522ee2cf5ffb21 on kubernetes-incubator:master.

@surajssd LGTM, fixed even when I'm adding tests after this. Solves the issue, confirmed.

@kadel @containscafeine thanks :)


Support for serde (de)serialization of color types

I'm currently using palette in a downstream crate where I'd like to allow the user to serialize and deserialize custom Themes - a set of styling defaults including some color types from palette. I'm hoping to avoid writing custom implementations of the serde traits in favour of adding the necessary derives to palette itself where others may also find this useful. Perhaps this could be added as an opt-in feature similarly to cgmath, petgraph and others do?

Yes, absolutely! It should probably be quite straight forward to add and
doing it behind a feature sounds like a good plan.
Den tors 15 mars 2018 10:13mitchmindtree<EMAIL_ADDRESS>skrev:

I'm currently using palette in a downstream crate where I'd like to allow
the user to serialize and deserialize custom Themes - a set of styling
defaults including some color types from palette. I'm hoping to avoid
writing custom implementations of the serde traits in favour of adding the
necessary derives to palette itself where others may also find this
useful. Perhaps this could be added as an opt-in feature similarly to
cgmath https://github.com/brendanzab/cgmath/blob/master/Cargo.toml#L28,
petgraph https://github.com/bluss/petgraph/blob/master/Cargo.toml#L44
and others do?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Ogeon/palette/issues/83, or mute the thread
https://github.com/notifications/unsubscribe-auth/AANvzfQ4T98RSW_pwFeIfFzf3E0Z6EpWks5tejDBgaJpZM4SryUT
.

I'm adding this in #90. It will be just straight (de)serialization without anything too fancy. The only exceptions are the alpha types that will be flattened, so a JSON serialization of RGB with transparency will be {"red":0.1,"green":0.2,"blue":0.3,"alpha":0.4}.
Let me know if any of this doesn't work with your use case and maybe we can tweak it a bit. If you need other field names or a non-struct format, I would recommend creating a custom types for those representations and convert to and from palette types.

To clarify: it's fine to reopen or continue the conversation even after it's merged. :slightly_smiling_face:


feat(load-test): Propagate ENABLE_PROGRESS_BARS env variable to --enable-progress-bars flag

Description
Follow-up to #721
Issue ticket number and link
Type of change

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/test ?

/test load-test-ci-10u-10t
/test max-concurrency-basic

@sawood14012 PTAL


Confusig/Missing statement

Section Name : Pod annotation-based scraping
https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/prometheus-metrics-scrape-configuration#pod-annotation-based-scraping

The sentence "If you're currently using Azure Monitor Container insights Prometheus scraping with the setting monitor_kubernetes_pods = true, adding this job to your custom config allows you to scrape the same pods and metrics." is confusing and hard-to-understand :

how do I know if I'm currently using "Azure Monitor Container insights Prometheus scraping with the setting monitor_kubernetes_pods = true" ?
where is this setting applied ? Config map ? some helm chart ? what is the config map name ?
Provide more information what is "Azure Monitor Containers insight Prometheus Scraping" anyhow.

The section talks about how to configure any pod annotation so that Prometeus will scrape it - so why is the statement at the top of this section even mentions Azure Monitoring container insights ? those configuration are needed if you want your pod to be scraped REGARDLESS whether you are using Azure monitoring or not.

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

ID: 9f2f9b8e-6345-7fdc-602f-a728b446e3e9
Version Independent ID: 16bc2a0f-b03e-b411-ff0c-def649ad463d
Content: Customize scraping of Prometheus metrics in Azure Monitor (preview) - Azure Monitor
Content Source: articles/azure-monitor/essentials/prometheus-metrics-scrape-configuration.md
Service: azure-monitor
Sub-service: essentials
GitHub Login: @EdB-MSFT
Microsoft Alias: edbaynash

@tshaiman
Thanks for your feedback! We will investigate and update as appropriate.

Thanks @tshaiman . we are updating this doc to be more simpler/clearer.

Thanks @tshaiman, this was meant to be for customers who are transitioning from the older way of scraping Prometheus metrics into their Log Analytics workspace through Container Insights. I have removed this statement to avoid confusion as part of our next doc update

Thank you @vishiy and @gracewehner for sharing insights related to this feedback.
@tshaiman - thank you for this question. As mentioned in the comment above, this will be simplified, and the next update of doc will not have this statement.
I will close this issue for now. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.


Final Capstone Project

Feature Description
We are a group of 4 members

@Bateyjosue
@Bria222
@kene-creator
@username-forGithub

Project Status: kanban

Happy Review :tada: :tada:

Hi STUDENT_MENTION
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that does not include the link to the kanban board.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Hi @Bateyjosue,
Wow, you did it 🎉

Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
To highlight

All tasks have been pointed, and assigned in an equal way ✔

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Don't prefix the event names if Object.create() is supported

See discussion in #32.

Coverage remained the same at 100.0% when pulling 52d53e7bf7404abd00fa37984f2a242ab88c6f92 on feature-detection into 61b35ce2afbc4b876daf71500a706be8db4a2aa6 on master.

Lgtm, test pass and a perf boost. What more can we ask for


Support dynamic resolve host.

Issues associated with this PR
When the host in the cluster is configured with a domain, it only be resolved once when MOSN is started. This may cause a failure to dynamically perceive domain name record updates.
  "cluster_manager":{
     "clusters":[
	{
	  "Name": "testCluster",
	  "type": "SIMPLE",
	  "lb_type": "LB_RANDOM",
	  "max_request_per_conn": 1024,
	  "conn_buffer_limit_bytes":32768,
	  "hosts":[
	     {"address":"www.taobao.com:80"}
	  ]
	}
     ]
  }

Solutions
The domain is resolved dynamically at runtime, as detailed below

When the request comes in, it gets the resolution record from the cache, and it needs to check whether the time expires.
If it doesn't expire, it will be used directly. If it expires, it will use the last result， start a goroutine to resolve the domain asynchronously, and update the result to the cache.
If cache miss, synchronous domain resolution and save the result to the cache.  If the domain is IP  and  the cache will not expire. If it is domain , the cache expiration time will be set.

UT result
Unit Test is needed if the code is changed, your unit test should cover boundary cases, corner cases, and some exceptional cases. And you need to show the UT result.
Benchmark
If your code involves the processing of every request, you should give the Benchmark Result.
Code Style

Make sure Goimports has run
Show Golint result

Codecov Report

Merging #1020 into master will increase coverage by 0.1%.
The diff coverage is 74.82%.

@@           Coverage Diff            @@
##           master   #1020     +/-   ##
========================================
+ Coverage   54.99%   55.1%   +0.1%
========================================
  Files         244     246      +2
  Lines       23684   23753     +69
========================================
+ Hits        13026   13089     +63
- Misses       9463    9464      +1
- Partials     1195    1200      +5

Impacted Files
Coverage Δ

pkg/config/v2/upstream.go
70.42% <ø> (ø)
:arrow_up:

pkg/types/upstream.go
59.37% <ø> (ø)
:arrow_up:

pkg/log/types.go
0% <ø> (ø)
:arrow_up:

pkg/filter/network/tcpproxy/proxy.go
15.09% <0%> (-0.37%)
:arrow_down:

pkg/proxy/downstream.go
36.95% <0%> (-0.11%)
:arrow_down:

pkg/log/errorlog.go
77.77% <100%> (+3.41%)
:arrow_up:

pkg/log/logger_manager.go
88% <100%> (ø)
:arrow_up:

pkg/upstream/cluster/cluster.go
76% <100%> (+0.74%)
:arrow_up:

pkg/server/handler.go
36.51% <40%> (-0.74%)
:arrow_down:

pkg/upstream/cluster/host.go
61.64% <66.66%> (-0.27%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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


Tree List View with Multi-Child Expansion - Angular 1.x implementation not available

Hi Team,
We are using patternfly to develop a full fledged application for which we need to show our org hierarchy. We zeroed down to "Tree List View with Multi-Child Expansion" component for this purpose. http://www.patternfly.org/pattern-library/content-views/tree-list-view/
However I checked and the Angular 1.x implementation is missing. Can you please prioritize and implement the same. Also can you please provide a rough estimate by when this will be available.
Regards,
Pulkit

@dtaylor113 It sounds like the support for this in PF core does already exist, per a comment from @LHinson on https://github.com/patternfly/patternfly/issues/950. Can we move this over to the "Next to Do" column on the project board? Thanks!

Hi @beanh66, I still do not see where I can get the pf 'core' HTML, CSS/LSS for 'Tree List View with Multi-Child Expansion'?

@dtaylor113 we don't have the specific example coded in core to display on that page. That said pf-list [1] is flexible and supports the nested rows. If this is urgent and you cannot wait on core, I've asked @matthewcarleton to help give you some pointers on how to nest them from a core perspective. My hope is that this guidance plus viewing the patternfly-ng example [2], will give you the information that you need to proceed. Please let us know when you would be looking to implement this in angular-pf so we know when we need to provide this guidance by.
We have a number of issues and priorities that are ahead of this one from a core perspective. @matthewcarleton and I will be working on the core github board today to help clean that up and communicate to the community the current priorities and when you might expect things like the tree list view to be introduce to core.
Thanks and let me know if you have any questions on this!
[1] https://rawgit.com/patternfly/patternfly/master-dist/dist/tests/list-pf.html
[2] https://rawgit.com/patternfly/patternfly-ng/master-dist/dist-demo/index.html#/treelist

Hi @LHinson, ok sounds reasonable.  We can work on creating the HTML/CSS and contributing it back to PF core.  It would be great if @matthewcarleton could give us some initial direction.   I'm not sure when we will be starting this, it is in our backlog at the moment.

@dtaylor113 thanks! We can can cover the core example, just wanted to make sure you knew that you weren't blocked on angular-pf!

https://github.com/patternfly/patternfly/pull/980


gopass-jsonapi configure complains store uninitialized

Summary
bridge has stopped working on my Arch box.  When I attempt to run gopass-jsonapi  configure I get the following error:
Failed to initialize gopass API: password store not initialized. run 'gopass setup' first

But gopass is fully configured and running
Steps To Reproduce
Not sure how I got here.  So, not quite sure how to reproduce, sorry.
Expected behavior
Be able to re-run configure on a running gopass system and be able to bring up bridge or other jsonapi clients
But - maybe - have a new-style config file, and non-default store location?
Environment
Please complete the following information (see note below)

Arch, recent

OS version: Linux mjolnir 6.1.11-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 09 Feb 2023 20:06:08 +0000 x86_64 GNU/Linux

gopass-jsonapi Version: Bzzz - try again - won't even run that due to the error

Installation method: Original from AUR, retried with a go get.

Additional context
Re-ran with DEBUG set, here are some interesting tid-bits...
❯ cat /tmp/gp.log
2023/04/07 19:03:55.079858 pwrules/aliases.go:55	pwrules.loadCustomAliases	no custom aliases found at /home/cdl/.config/gopass/domain-aliases.json
2023/04/07 19:03:55.108839 config/io.go:47	config.loadConfig	Trying to load config from /home/cdl/.config/gopass/config.yml
2023/04/07 19:03:55.108863 config/io.go:47	config.loadConfig	Trying to load config from /home/cdl/.config/gopass/config.yml
2023/04/07 19:03:55.108871 config/io.go:47	config.loadConfig	Trying to load config from /home/cdl/.gopass.yml
2023/04/07 19:03:55.109291 config/io.go:66	config.loadDefault	Loaded default config: &config.Config{AutoClip:false, AutoImport:false, ClipTimeout:45, ExportKeys:true, NoPager:false, Notifications:true, Parsing:true, Path:"/home/cdl/.local/share/gopass/stores/root", SafeContent:false, Mounts:map[string]string{}, ConfigPath:"/home/cdl/.config/gopass/config.yml", XXX:map[string]interface {}(nil)}

The key here, is you aren't seeing the config.
The config is in /home/cdl/.config/gopass/config note it's in the NEW format (the gitconfig format), not the YAML format.  It looks like you aren't looking for the non-yaml format configs.  Therefore, you aren't finding my stores.
Note, I didn't change the config format, I assume some upgrade that gopass went through in the last year did the translation in a migration.

@dominikschulz, any thoughts on this?

Ok, I have an ugly hack workaround, that works for some reason.
$ gopass-jsonapi configure --print

Then, at the end, when it asks you to install, say 'Y'.  Evidently, that somehow bypasses the check that is blocking the normal install/configure.

Is there anyone paying attention here?

@dominkschultz - need anything else from me?

+1, not being able to install for all users, without initialising a password store for the root user is a bit annoying
You could change /etc/opt/chrome/native-messaging-hosts directory to allow write from non root users, then switch it back after running the install script. Although the install locations for the wrapper etc would default to still being in your home directory

I am unable to able to install for all users, without initialising a password store for the root user, which is a bit annoying.

This is something we should fix. An initialized password store should not be required to install the extension.


fix: out of range exception on platform version

Solves https://github.com/wangkanai/Detection/issues/499 and https://github.com/wangkanai/Detection/issues/502
There is an issue that, in case there is a match on PlatformServices.GetPlatform() for platforms other than Unknown or Other, PlatformServices.ParseOsVersion() method might throw a System.ArgumentOutOfRangeException if there is no match for the _osStartRegex pattern - @"\(([^\)]+)\)"
By using FirstOrDefault instead of [0] we can avoid this.
Unit tests before the change

Unit tests after the change

To review later today

@jorgepsmatos Thank you for your great help, I much appreciated it.  due to your code much far behind the main branch, therefore, i just copy your code in the PlatformService and its work perfectl;y.