Fix RGB 565 to 888

The initial commit is only for 16-bit 565 to 32-bit 888, and is mostly just to get the conversation going before marking this Ready For Review.
Rather than just link to a post in the forum (https://forum.littlevgl.com/t/pre-pr-proposal-improve-565-to-888-color-conversions-and-perhaps-others/836), I will copy my post here so that this PR is more self-contained.
I’ve talked w/ @kisvegabor  and @embeddedt a bit about this in a semi-unrelated PR (#1211).
I believe that LittlevGL’s current 565 to 888 conversion code is flawed (which opens up the possibility of others to/from)
    lv_misc/lv_color.h:
    static inline uint32_t lv_color_to32(lv_color_t color)
    {
        ...
        #elif LV_COLOR_DEPTH == 16
        lv_color32_t ret;
        ret.ch.red = color.ch.red * 8; /*(2^8 - 1)/(2^5 - 1) = 255/31 = 8*/
        ret.ch.green = color.ch.green * 4; /*(2^8 - 1)/(2^6 - 1) = 255/63 = 4*/
        ret.ch.blue = color.ch.blue * 8; /*(2^8 - 1)/(2^5 - 1) = 255/31 = 8*/
        ret.ch.alpha = 0xFF;
        return ret.full;
        ...
    }

I think the above code should cleanly convert 565 LV_COLOR_RED of 0xF800 to 888 of 0xFF0000, but it doesn’t.
I understand the important performance rationale for 255/31=8 and not using an actual floating point of 8.22580645 and the loss that integer division introduces; minimizing this loss is actually one of my points for suggesting an improvement.
The 5 bit red channel of 0xF800 is 2^5-1 or 31 or 0x1F.
Per the above code logic, 31 * 8 is 248, or 0xF8.
Thus, the above code converts 565 0xF800 to 888 of 0xF80000 instead of 0xFF0000.
I understand that 565 to 888 conversion is “lossy/imperfect”, but when mapping a number from one scale to another, I believe at least the min and max values should convert without loss.
Thus, I think that the above code needs to change.
There is a mystery in the numbers of this commonly used more precise RGB 565 to 888 conversion code:
SO Q&A: How does one convert 16-bit RGB565 to 24-bit RGB888?
    R8 = ( R5 * 527 + 23 ) >> 6;
    G8 = ( G6 * 259 + 33 ) >> 6;
    B8 = ( B5 * 527 + 23 ) >> 6;

The discussion in the above SO answer suggests 527 may have been incorrectly rounded up instead of down and should be 526 (which if true would also change the 23 addition.
Searching the internets gave me no clue as to the origin of these values.
I have created a spreadsheet exploring how these values were derived.
https://docs.google.com/spreadsheets/d/1PppX8FJpddauAPasHwlNgIPGIuPGPNvRbhilIQ8w-7g/edit#gid=0
It seems like nearly any listed multiplier and adder can be used, but it is still a mystery to me why those specific 6 bit shift values were chosen over any others.
@kisvegabor and @embeddedt agree that the colors seem off.
The simple 565 to 888 fix is to change the equation from the above OP’s simple * 8 and * 4 to either Apple’s version, a common/popular version on the interwebs, or one that I derived.
Apple:
    /*
     * Per https://developer.apple.com/documentation/accelerate/1533159-vimageconvert_rgb565toargb8888
     * Apple must have an ingenious reason to divide an integer by 63 or prime 31!
     */
    ret.ch.red   = ( color.ch.red * 255 + 15 ) / 31;
    ret.ch.green = ( color.ch.green * 255 + 31 ) / 63;
    ret.ch.blue  = ( color.ch.blue * 255 + 15 ) / 31;

Popular:
    /**
     * Per https://stackoverflow.com/a/9069480/252308
     * These values can be searched for and seen to be used in many places.
     */
    ret.ch.red   = ( color.ch.red * 527 + 23 ) >> 6;
    ret.ch.green = ( color.ch.green * 259 + 33 ) >> 6;
    ret.ch.blue  = ( color.ch.blue * 527 + 23 ) >> 6;

Mine:
    /**
     * Per https://docs.google.com/spreadsheets/d/1PppX8FJpddauAPasHwlNgIPGIuPGPNvRbhilIQ8w-7g/edit#gid=0
     * Truly any of the listed multipliers and adders would work
     */
    ret.ch.red   = ( color.ch.red * 526 + 14 ) >> 6;
    ret.ch.green = ( color.ch.green * 259 + 3 ) >> 6;
    ret.ch.blue  = ( color.ch.blue * 526 + 14 ) >> 6;

Which do you recommend?
In all modesty, I understand my numbers and not the others, so I recommend mine.
Truly I think the following are the most precise best, but they seem radically different than anything else I have seen out there, so I’m a bit wary to use them:
    ret.ch.red   = ( color.ch.red * 33 - 3 ) >> 2;
    ret.ch.green = ( color.ch.green * 4 + 3 );
    ret.ch.blue  = ( color.ch.blue * 33 - 3 ) >> 2;

In the end I went with these, but I can use any of them or any others that may be better...as long as they are accurate.

In addition to approving if the pushed code for 565 to 888 seems fine, the other conversation that needs to be had is if there are any other errors in the other bit conversion code (to/from 1/16/32), and how to best fix them.
I'd prefer this PR be exhaustive to fix any and all bit conversion problems.
Naturally [to me] this segues toward having some sort of unit tests.
Or course this opens a can of worms.
Should this PR only fix 565, or all bit conversions?
Should this PR include some/any unit tests (and all the baggage that may include), or should we just keep on keepin on?

Should this PR include some/any unit tests (and all the baggage that may include), or should we just keep on keepin on?

I think we should keep unit tests out of this PR, because we haven't really decided how those are going to work yet. That's not saying that I don't want unit testing; it's just that I don't think we should clutter this PR too much with that.
For this, I think someone should just pick some colors that are expected to work and manually try converting them.

I can use any of them or any others that may be better...as long as they are accurate.

We can't use the StackOverflow one, because by default all SO code is licensed under CC-BY-SA (or a similar CC license) and that can't be included in a codebase that advertises itself as MIT (as far as I know, but I'm not a lawyer).
I'm wary of using the Apple one because it has no license provided.
I would rather use the one you derived or the "most precise" one, since those two appear to have originated from you.

I agree with @embeddedt about both the uni test and licenses. I've found this about SO license
@paulpv I've tried the new values and worked great for me! :+1:

In the interest of small changes, should we merge this PR as is, or investigate the other conversions too?

Merging as-is should be fine, although, to be honest, it really doesn't matter.

@paulpv
I've noticed that the current algorithm doesn't work if red or blue is 0.
( color.ch.red * 33 - 3 ) >> 2; // (0 * 33 - 3) = -3 -> 252 (undeflow)

Cross-posting this - someone else discovered what I think is the same issue with the HSV conversion:
https://forum.littlevgl.com/t/bug-when-transform-color-by-lv-color-rgb-to-hsv-and-transform-backward-by-lv-color-hsv-to-rgb-it-cant-display-the-same-lv-color-t-color/924?u=embeddedt

I haven't done the actual math yet, but my first thought is that the rounding error w/ integer math can be taken advantage of to cause this to code to be just:
    ret.ch.red   = ( color.ch.red * 33 ) >> 2;
    ret.ch.green = ( color.ch.green * 4 );
    ret.ch.blue  = ( color.ch.blue * 33 ) >> 2;

I will toy w/ integer based math on my spreadsheet to dial this in...

(0 * 33) >> 2 = 0
(31 * 33) >> 2 = 255

Please give this a glance and see what you think.
I suspect that as long as the +/- factor is less than the integer rounding error, then the +/- can be safely ignored.
I will also update the comment with a bit more clarity.
Regarding HSV, that is a separate issue that I will address in separate PR that I am still working on.

Problem for green:
( 0 * 4 ) = 0
( 63 * 4 ) = 252
I'll tweak...

Working the spreadsheet, the trick is to find the first row that has a + adder (to prevent underflow) and a min result of 0 and max result of 255.
I've settled on the following conversions, and they seem to pass all test bounds:
ret.ch.red   = ( color.ch.red * 8423 + 7 ) >> 10;
ret.ch.green = ( color.ch.green * 259 + 3 ) >> 6;
ret.ch.blue  = ( color.ch.blue * 8423 + 7 ) >> 10;

Ready for final final review and hopefully merge

FYI, as mentioned in the OP, it would be best to go through a similar experiment with all other color bit conversions and find out if any of them are off too.

@TridentTD reported that their issue hasn't been solved yet:
https://forum.littlevgl.com/t/bug-when-transform-color-by-lv-color-rgb-to-hsv-and-transform-backward-by-lv-color-hsv-to-rgb-it-cant-display-the-same-lv-color-t-color/924/4?u=embeddedt

@embeddedt as expected. I haven't fixed the hsv problem yet. That is on a separate branch that is still in progress and isn't PRed yet.

The new algorithm from @paulpv
for transforming color16bits to color32bits
and transform backward by lv_color_make(...).
I tested by the following code.
  lv_color_t    color16;
  lv_color32_t  color32;
  lv_color16_t  color16_2;
  for(uint32_t c = 0; c < 0xFFFF; c++) {
    color16.full = c;
    color32.full = lv_color_to32(color16);
    color16_2    = lv_color_make(color32.ch.red,color32.ch.green, color32.ch.blue);
    if(color16.full != color16_2.full){
      Serial.printf("Color16 : Before 0x%04x --> After 0x%04x\n", color16.full, color16_2.full);
    }
    if( c % 1000 == 0) Serial.printf("OK : %d\n", c);
  }
  Serial.println("Done!");

The result :
All of color16bits, both before and after colors are the same color.
Great work!

The new algorithm from @paulpv
for transforming color16bits to color32bits
and transform backward by lv_color_make(...).

Great news!
As the 16->32 and 32->16 bit conversations are the most common I suggest merging this fix now and
fix the other conversation in new PRs if you have time to deal with them.

I found "smaller" math that has the same result.
This makes sense.
The trick is more precisely to find the first >> value that cancels the >= (to prevent underflow) + value when converting 0 that has and a min result of 0 and max result of 255.
I am still working on a concise comment to put in the code...

Feedback/suggestions/edit of the not so concise comment are welcome

@paulpv  Sorry for the concise comment but I can't say anything then: look good to me. :slightly_smiling_face

Thanks. Obviously, feel free to merge at your discretion.

Merged, thank you!


OpenGL.error.NullFunctionError

I use zed2, python 3.7.7 , win10
I was able to run almost example code, except code using opengl.
(ex. i can run:  camera_control
i can't run: body_tracking, positional_tracking)
After several trials and errors, I realized that all the code related to ogl_viewer showed the same error.
After seeing the advice that the lib called freeglut.dll may not exist, I installed freeglut 3.0 newly, but I confirmed that there is freeglut2.8 which is automatically installed in zed-sdk. Also, there was freeglut2.6 inside while laying cuda10.0.
I installed the sdk for cuda10.0-win10, but it is a bit strange that the versions of freeglut are different. Isn't this the original problem?
Is there no error like me?
The error is as follows:
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
HELP ME OUT , PLZ
Thanks in advance.
my Software/Hardware specs:
win10
geforce mx150
python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32
CUDA 10.0
pycharm community 2020

Hi,
Indeed, on windows you may encouter this issue related to opengl.
You may update your version, you can find the latest ones here
In your case (Python 3.7) you will need to download and install:

PyOpenGL‑3.1.5‑cp37‑cp37m‑win_amd64.whl
PyOpenGL_accelerate‑3.1.5‑cp37‑cp37m‑win_amd64.whl

to install them

python3 -m pip install PyOpenGL_XXXX.whl

Thank you.
Surprisingly, it was resolved immediately.
I can now run all my code 💯

Hello! I am running into a very similar issue. When I run the body_tracking tutorial, I keep getting the ModuleNotFoundError: No module named 'ogl_viewer'
I have downloaded the PyOpenGl extensions as suggested and still get the error.
I have ZED2, Windows 10, Python 3.7.8 64-bit version.
Please help!

Hello! I am running into a very similar issue. When I run the body_tracking tutorial, I keep getting the ModuleNotFoundError: No module named 'ogl_viewer'
I have downloaded the PyOpenGl extensions as suggested and still get the error.
I have ZED2, Windows 10, Python 3.7.8 64-bit version.
Please help!

Hi,
This error usually means that the script you ran cannot find the folder ogl_viewer in which OpenGL related code is under.
If you copied the sample positional_tracking.py locally on your computer, make sure to also copy everything that is under positional tracking/python/
The folder in which you run the sample should look like :
<your_folder_name>
├── ogl_viewer/
└── positional_tracking.py

Hi,
This error usually means that the script you ran cannot find the folder ogl_viewer in which OpenGL related code is under.
If you copied the sample positional_tracking.py locally on your computer, make sure to also copy everything that is under positional tracking/python/
The folder in which you run the sample should look like :
<your_folder_name>
├── ogl_viewer/
└── positional_tracking.py

@qt-truong had the correct solution for me. You can find those files here (but I recommend just cloning the ENTIRE repo, much easier): https://github.com/stereolabs/zed-examples/tree/master/object detection/image viewer


Updated the Data Box steps

To make the experience consistent with the content for Data Box Heavy and Data Box Disk

#sign-off


Add TF 0.12 support

@timfpark @andrebriggs @NathanielRose -- here is the build succeeding -- https://dev.azure.com/epicstuff/bedrock/_build/results?buildId=5718

The test pipeline had to be chnaged explicitly for TF 0.12 for this to work.  Note - upon approval, I will need to move references back to "master" rather than the branch, but otherwise it is passing tests.


Briars of punishment missing on the list of spells

All is in the title!

Added in c6e5f48

Thanks for checking!


Add ability to select on which nodes BGP will be enabled

In some large clusters, one may want to have dedicated pool of Ingress nodes, which will be handling ingress traffic. CCM currently enables BGP on all nodes in the cluster.
In Lokomotive we allow users to disable BGP per-worker pool, if needed, for example for security reasons.
It would be great if one could configure a node selector in the CCM, which would select on which nodes BGP should be enabled.

Why can you not do it now? The bgp speakers are enabled in the loadbalancers.yaml deployment manifest. Can you not just modify the daemonset, updating its selectors, to control where the speakers are deployed?

Why can you not do it now? The bgp speakers are enabled in the loadbalancers.yaml deployment manifest. Can you not just modify the daemonset, updating its selectors, to control where the speakers are deployed?

This has security implications, if any node of the cluster gets compromised, it may start capturing the traffic. Using node selector with combination of privileged labels like role would prevent that.

I don't understand. All that ccm does is configure the configmap; it is metallb's DaemonSet that does the speaker announcements.
Or do you mean enabling it at a Packet API level, which the ccm owns?

I mean enabling it on the ~Packet~ Equinix Metal API level, sorry If I wasn't clear.

That makes sense. What would the API look like? How would you tell CCM "enable it only on these nodes"? CCM mostly is configured via some combination of:

a single secret
cli flags
env vars

It also writes annotations to nodes, so it could be configured to look for a specific annotation or label.
But the key question is, how would you tell it, "don't use your default behaviour, use this one"?

It also writes annotations to nodes, so it could be configured to look for a specific annotation or label.

I think the annotations can be written to all Node objects I don't mind that.
But creating BGP session would ideally be limited by a label selector, similar to kubectl get -l:
  -l, --selector='': Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)

The selector would match all nodes by default to preserve existing behavior. And selector could be configured the same as other CCM options, so via secret option, cli flag or env vars, to stay consistent.
What do you think?

I think that label selector is fine. How do you pass it to ccm without making it messy?

How do you pass it to ccm without making it messy?

Do you mean from user point of view or implementation point of view?
From user point of view, something like key1=value1,key2=value2 can be used in a single config field/env var etc.
From implementation point of view, I'm not sure yet, I didn't look at the code, but as far as I know, NewFilteredSharedInformerFactory can be used for it for example.

No, code is easy. User point of view. What would it look like in all three scenarios: CLI, env var, secret config?

Right. So something like:

env var: PACKET_BGP_NODE_SELECTOR=key1=value1,key2=value2
secret config key: bgpNodeSelector: key1=value1,key2=value2
CLI: --bgp-node-selector key1=value1,key2=value2

Name of option can be changed, BGP_NODE_SELECTOR is the first thing which comes to my mind.

And those would be logically ANDed, like selectors on other k8s resources?

And those would be logically ANDed, like selectors on other k8s resources?

Yes.

Makes sense. We should try and schedule it in, but no one would argue with a PR. Want to open one?

Makes sense. We should try and schedule it in, but no one would argue with a PR. Want to open one?

Yes, I think I can do it :)

No, code is easy.

Hmm, I'm not sure about that :smile: As your nodeReconciler type currently takes a list of nodes to work on, it does not have a direct access to the informer. Also the timerLoop function currently just lists all nodes and passes them to the nodeReconciler. Any ideas how to approach that in a reasonable way?
Implementing config handling is easy:
diff --git main.go main.go
index ebbb16b..a95a70c 100644
--- main.go
+++ main.go
@@ -10,6 +10,7 @@ import (
        "strconv"
        "time"

+       "k8s.io/apimachinery/pkg/labels"
        cliflag "k8s.io/component-base/cli/flag"
        "k8s.io/component-base/logs"
        _ "k8s.io/component-base/metrics/prometheus/clientgo" // for client metric registration
@@ -33,6 +34,7 @@ const (
        envVarAnnotationPeerIPs      = "PACKET_ANNOTATION_PEER_IPS"
        envVarEIPTag                 = "PACKET_EIP_TAG"
        envVarAPIServerPort          = "PACKET_API_SERVER_PORT"
+       envVarBGPNodeSelector        = "PACKET_BGP_NODE_SELECTOR"
        defaultLoadBalancerConfigMap = "metallb-system:config"
 )

@@ -211,6 +213,15 @@ func getPacketConfig(providerConfig string) (packet.Config, error) {
                config.APIServerPort = packet.DefaultAPIServerPort
        }

+       config.BGPNodeSelector = rawConfig.BGPNodeSelector
+       if v := os.Getenv(envVarBGPNodeSelector); v != "" {
+               config.BGPNodeSelector = v
+       }
+
+       if _, err := labels.Parse(config.BGPNodeSelector); err != nil {
+               return config, fmt.Errorf("BGP Node Selector must be valid Kubernetes selector: %w", err)
+       }
+
        return config, nil
 }

diff --git packet/config.go packet/config.go
index 327bb8e..4090214 100644
--- packet/config.go
+++ packet/config.go
@@ -16,6 +16,7 @@ type Config struct {
        AnnotationPeerIPs     string  `json:"annotationPeerIPs,omitEmpty"`
        EIPTag                string  `json:"eipTag,omitEmpty"`
        APIServerPort         int     `json:"apiServerPort,omitEmpty"`
+       BGPNodeSelector       string  `json:"bgpNodeSelector,omitEmpty"`
 }

 // String converts the Config structure to a string, while masking hidden fields.
@@ -39,5 +40,7 @@ func (c Config) Strings() []string {
        ret = append(ret, fmt.Sprintf("local ASN: '%d'", c.LocalASN))
        ret = append(ret, fmt.Sprintf("Elastic IP Tag: '%s'", c.EIPTag))
        ret = append(ret, fmt.Sprintf("API Server Port: '%d'", c.APIServerPort))
+       ret = append(ret, fmt.Sprintf("BGP Node Selector: '%s'", c.BGPNodeSelector))
+
        return ret
 }

So I look at the code and I saw that you mainly use env variables and config file for configuring the CCM, so I think I'll skip CLI flag for now.

Hmm, I'm not sure about that smile As your nodeReconciler type currently takes a list of nodes to work on, it does not have a direct access to the informer. Also the timerLoop function currently just lists all nodes and passes them to the nodeReconciler. Any ideas how to approach that in a reasonable way?

Ah, actually Lister interface supports passing selector, that would perhaps solve the problem.

Rather than surgery, perhaps just filter on the nodes after they are received from the informer?
On the other hand, if you can find a sane way to pass it in early on, go for it.

Created #101 with initial implementation.


Daprd container trying to load secrets which are not configured for the component.

In what area(s)?
runtime
What version of Dapr?
1.10.2
Expected Behaviour
We have a k8 namespace which has 14 pods and each pod has its own side car.
This namespace has few dapr components also (eg: pubsub.kafka , bindings.http)
In these components we are using secrets via secretRef. These secrets are being created using csi driver class to fetch it from GCP secret manager. we are also using helm hook on this SecretProviderClass to load this component at first before creating other resources.
pod1's sidecar which is using Component 1 (bindings.http) where secrets are being referred (created using SecretProviderClass), is working fine and we can see daprd log of this container where component got loaded successfully.
But Other app randomly where that component are not even used, failing with below error stating that secret not found.
{"app_id":"standin-flush-services","instance":"app-product-processor-interface-standin-flush-services-68f2fwxv","level":"warning","msg":"failed to load components: rpc error: code = Unknown desc = Secret \"app-product-processor-interface-standin-report-services-confluent-cloud-secret\" not found","scope":"dapr.runtime","time":"2023-01-06T10:21:52.677728514Z","type":"log","ver":"edge"}
Due to this dapr warning secret not found it does not load rest of the components and hence application containers keep failing i.e rolling restart since it is dependent on rest of the components (eg: secret-manager) which dapr was unable to load.
Also daprd container does not get restarted.
Actual Behaviour
Even that component are not being used in same namespace by other apps, then why daprd should try to load those secrets.?
If it is a warning it should have loaded rest of the components.
Logs
application_log.log
dapr.log
helm_template_output.txt
Steps to Reproduce the Problem

Release Note

RELEASE NOTE:

@prateek-pagaria Can you try to scope secrets similar to the doc here?
Also please scope the component access to only the application that needs it.

Even that component are not being used in same namespace by other apps, then why daprd should try to load those secrets.?

Not able to see any specific namespace being set in the helm template about. Could you please clarify on the above statement?

@prateek-pagaria Can you try to scope secrets similar to the doc here? Also please scope the component access to only the application that needs it.

Ok will try this .

Even that component are not being used in same namespace by other apps, then why daprd should try to load those secrets.?

Not able to see any specific namespace being set in the helm template about. Could you please clarify on the above statement?

It get deployed with helm install command   -n   . so all the component in the charts get deployed in same name space. I hope this clarifies.

@prateek-pagaria can you share the logs from the Dapr Operator service(s) too please?
When components reference secrets that are stored as K8s secrets, they are not read by the Dapr sidecar itself, but rather by the Dapr operator.

@prateek-pagaria I suggest you scope the components and not the secrets. relevant docs: https://docs.dapr.io/operations/components/component-scopes/

@prateek-pagaria I suggest you scope the components and not the secrets. relevant docs: https://docs.dapr.io/operations/components/component-scopes/

@yaron2 we are  using scope at component level , still that is not helping .

@prateek-pagaria there's something off with your setup, as the Operator fails to watch for pods too.
How did you install Dapr? Could you try re-installing?


$set returns Promise

Versions

sequelize: 5.6.1
sequelize-typescript: 1.0.0-beta.1
typescript 3.4.3

I'm submitting a ...
[x] bug report
[ ] feature request
Actual behavior:
The $set method on a model returns a promise of type unknown.
Expected behavior:
According to sequelize's included types this method should return a promise of type ``
Steps to reproduce:
Just peek into the model.ts file and also into sequelize's types

Hey @c8r821, this is intentionally set to unknown. First, $set and set doesn't have the same purpose. $set is explicitly used for setting relational data (see this). Additionally I wasn't able to narrow down a specific type - Which means for one-to-one sequelize resolves with this type, for one-to-many with another and sometimes under specific circumstances with some unexpected type. What do you think? Have I overseen something? Thanks for your help

Okay, I understand. Is the recommended way of dealing with this just to as MyType the result then?
Sorry for the misunderstanding!

@c8r821 Yes, if you're sure with the type, just cast it like you mentioned :)


Transition Help Needed

Need a good samaritan to walk me through this. I've gone out to the Verge site directly to pull the most recent wallet for Windows. I have an old version of the wallet, on a different computer all together, and would like to transition over to an ios iphone wallet. Could someone reach out with steps about how to install the most updated wallet, then, how to get them on the ios wallet for iphone?
Issue Template
Context

Prerequisites

[ ] Are you running the latest version?

User Story:

"I'm submitting a ... "

[ ] bug report
[ ] feature request
[ ] support request
[ ] translation request

Expected Behavior

Current Behavior

Screenshots

Possible Solution

Steps to Reproduce (for bugs)

Steps :

Your Environment

Verge Release:
CPU:
GPU:
RAM:
OS:

[ ] I'm using Mac
[ ] I'm using Linux
[ ] I'm using Mac

Any extra information that might be useful in the debugging process.

what 'old wallet' do you have?  The QT wallet or Electrum ?  Can you open it, go to Help -> Debug .. and post a screen shot of the information tab.

Need a good samaritan to walk me through this. I've gone out to the Verge site directly to pull the most recent wallet for Windows. I have an old version of the wallet, on a different computer all together, and would like to transition over to an ios iphone wallet.

why did you get the most recent wallet for windows, if you want to transition from the old qt on a different computer to the iOS?

Could someone reach out with steps about how to install the most updated wallet, then, how to get them on the ios wallet for iphone?

open your old wallet, immediately send the coins on it to the ios wallet that you installed on your iphone from the itunes store.

Thank you for the advice. I'll fire up the old wallet and see if I can send over to my IOS wallet. I was avoiding doing so due to some language that I saw out on the main Verge site, that said, I'll still take a shot at it.

not sure what you mean by that, but ok =]


No builds triggered for D71598

There are no builds triggered for https://reviews.llvm.org/D71598.
Figure out why that is and how we can solve it.
Hint: It might be related to submitting it as raw patch, not via arc.

It seems that this is because I did not use arc to create the diff: another patch of mine (D71880) has triggered the builds.

However, the build that was triggered reports Clang-Tidy warnings that are not relevant to my changes :( Looking at the code here in lint.sh I can see that clang-tidy-diff is invoked, which seems correct, but I'm not sure why this results in unrelated code being reported in my patch.

On the clang-tidy warnings: we got a bunch of bug reports on this as well: #91

I see! Then this bug should probably be "buildbot is not triggered for patches not submitted via arc". We might want to simply add a note in documentation, I think that's a reasonable solution. I'm not familiar with the specifics of the bot, so I don't know if this will be hard to trigger it for non-arc submitted patches, too. Another question is whether we actually think it's important and that enough people prefer uploading plain diffs instead of using arc. Honestly, I don't know if there is any statistics on that but that might be interesting

We still need to understand why the build is not triggered and if the manual upload is really the source fo the problem.
I would like it also to be triggered for people uploading via the website (or some other API), so that we cover as many patches as we can.

Looks like there is not much we can do there, see analysis and comments in #96.


Can race conditions occur with useSuspense when only using SSR?

The last time I used Next.js / SSR was before useSuspense was introduced. I'm planning on only using this library with SSR, and not using RSC at all.
I'm wondering if the following warning from the README applies to useSuspense with SSR, i.e. is it possible for client components to render while other components are still SSR? As far as I understand this should not be possible.

❗ This package is experimental. Generally it should work well, you might run into race conditions when your Client Component is still rendering in SSR, and already making overlapping queries on the browser.
This cannot be addressed from our side, but would need API changes in Next.js or React itself.
If you do not use suspense in your application, this will not be a problem to you.

The same subtree should not render, but since Next.js streams data immediately and incrementally hydrates your UI, a very deeply nested suspense boundary can still be loading on the server while the client is (apart from that one subtree) already fully interactive.

I'm doing some housekeeping so I'm closing some older issues that haven't seen activity in a while.
If this is still relevant, please feel free to reopen the issue.


[Feature]: Custom Tokens Support

Describe the feature
https://docs.walletconnect.com/web3modal/vue/options#tokens
Can we add this feature?
Additional information

[ ] I intend to submit a PR for this feature.
[ ] I have already implemented and/or tested this feature.

@mrnasil
Hi, please upgrade to version 2.3.1.
You sent feature from walletconnect v3 docs, but this package depends on v2. So I implemented tokenImages and tokenContracts from v2.
You need to pass these parameters when setupping the package:
app.use(createWeb3Auth({
  web3modalOptions: {
    tokenImages: {
      ETH: "/images/eth.webp",
      AVAX: "/images/avax.webp",
    },
    tokenContracts: {
      1: '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984',
      137: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'
    }
  }
}))


Document metadata.namespace behavior for webhooks

What would you like to be added:
Webhook authors should be aware that the metadata.namespace of submitted objects is not trustworthy in Mutating Webhooks, and may be blank in Validation Webhooks. The namespace needs to always be read out of the AdmissionReview object.
Why is this needed:
If a webhook author does not test their code with a modified kubectl default namespace, a validating webhook may incorrectly think a resource is being created in the default namespace.
Namespaces that mismatch between the URL and resource are not blocked by the apiserver until after the object has been sent to Mutating webhooks. A mutating webhook that reads the wrong namespace field may be vulnerable to information disclosure in error messages, or in extreme cases acting as a Confused Deputy if the webhook has side effects (please do not make a mutating webhook with side effects).
The correct fix for these problems is to fix the webhook code via developer education. Improve the docs so this is obvious.
/sig api-machinery
/sig docs
/area ecosystem

The primary place to document this is on the Kubernetes website

/triage accepted
/priority important-longterm
/language en

fwiw, I'm looking at improving this behavior in https://github.com/kubernetes/kubernetes/pull/94637, but that will likely land in 1.24, so we still want this documented for things interoperating with older server versions

@sftim said: would you be willing to revise the issue description based on https://github.com/kubernetes/kubernetes/issues/88282#issuecomment-689213634 ?

I think someone already did - the issue text now already says "Namespaces that mismatch between the URL and resource are not blocked by the apiserver until after the object has been sent to Mutating webhooks". (Possibly me, but github shows no edit history.)
The only place I incorrectly stated that "intended behavior" was that comment.
I don't intend to actually work on this myself - I filed this because I saw a conversation somewhere (Slack??) about this suspicious API behavior and filed the issue to make sure it didn't get dropped.

I think

Webhook authors should be aware that the metadata.namespace of submitted objects is not trustworthy in Mutating Webhooks, and may be blank in Validation Webhooks. The namespace needs to always be read out of the AdmissionReview object.

is slightly misleading. The description for https://github.com/kubernetes/kubernetes/pull/94637 puts it more clearly. I want to make it obvious to anyone who does pick this issue up where they can find clear guidance on what to document.

To clarify:

If a webhook author does not test their code with a modified kubectl default namespace, a validating webhook may incorrectly think a resource is being created in the default namespace.

does not need a special warning, because even the most naive of validating webhooks doesn't need to care about namespace mismatches. Validation still fails at some point before persistence.


Allow .res and .tres extensions in the scene CLI positional argument

This closes #35709.

macOS editor bundle .plist should be also changed to make it openable from Finder (.res and .tres are already registered as public.res to set icon, but not marked as editable documents).
diff --git a/misc/dist/osx_tools.app/Contents/Info.plist b/misc/dist/osx_tools.app/Contents/Info.plist
index c519a232c4..e918a74605 100755
--- a/misc/dist/osx_tools.app/Contents/Info.plist
+++ b/misc/dist/osx_tools.app/Contents/Info.plist
@@ -55,6 +55,18 @@
 				<string>public.tscn</string>
 			</array>
 		</dict>
+		<dict>
+			<key>CFBundleTypeRole</key>
+			<string>Editor</string>
+			<key>LSItemContentTypes</key>
+			<array>
+				<string>public.res</string>
+			</array>
+			<key>NSExportableTypes</key>
+			<array>
+				<string>public.res</string>
+			</array>
+		</dict>
 		<dict>
 			<key>CFBundleTypeRole</key>
 			<string>Editor</string>

@bruvzg Not all resources are Godot scenes, though. This is kind of an edge case; you generally never save a scene with a .res or .tres extension, but Godot doesn't prevent you from doing so.
If we prevent the Godot editor from doing so (which is probably a good idea), this would make this PR redundant.

We should probably also disallow saving new scenes with .res or .tres.

Thanks!

Cherry-picked for 3.2.2.


Add body to generated bump: commits

Previously, bump commits like https://github.com/jenstroeger/python-package-template/commit/ba77a96deec32e351ecd931e2c15843522be36ad would have an additional body, e.g.
commit ba77a96deec32e351ecd931e2c15843522be36ad (tag: v2.0.0)
Author: github-actions<EMAIL_ADDRESS>Date:   Wed Jul 6 08:42:35 2022 +0000

    bump: release v2.0.0

    Automatically generated by python-semantic-release

whereas now that body doesn’t exist, e.g. commit https://github.com/jenstroeger/python-package-template/commit/f602cb4d81012453212cb3017a8ae2549347a4eb:
commit f602cb4d81012453212cb3017a8ae2549347a4eb (tag: v2.3.1)
Author: jenstroeger<EMAIL_ADDRESS>Date:   Fri Aug 26 06:37:50 2022 +0000

    bump: release 2.3.0 → 2.3.1

I think it would make sense to add a body text again.

Quick test, changing
https://github.com/jenstroeger/python-package-template/blob/f602cb4d81012453212cb3017a8ae2549347a4eb/pyproject.toml#L87
to
bump_message = """bump: release $current_version → $new_version

Automatically generated by Commitizen.
"""

results in this commit:
commit 8f7666ed4c7b046e3e2d44ef312389ff5d387acc (HEAD -> staging, tag: v2.3.2)
Author: Jens Troeger<EMAIL_ADDRESS>Date:   Wed Aug 31 00:40:29 2022 +1000

    bump: release 2.3.1 → 2.3.2

    Automatically generated by Commitizen.

PR #303, commit https://github.com/jenstroeger/python-package-template/commit/c755a0913c9f07e531526bb4fbde709d43c4d626.


Multiple joins of one table when using has_many :through or many_to_many

Environment

Elixir version (elixir -v): 1.2.4
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): Postgres 9.5.2
Ecto version (mix deps): ecto 2.0.0-rc.5
Database adapter and version (mix deps): postgrex 0.11.1
Operating system: OSX

Current behavior
I have a table which is kind of many-to-many, but between 3 tables. So this table has 3 tablename_id columns. For example, I have User, Role and Resource. Then there is roles_users_resources table which has user_id, resource_id and role_id. Many-to-many roles_users_resources table has belongs_to for user and role.
These are my associations in User:
schema "users" do
  has_many :roles_users_resources, MyApp.RolesUsersResource
  has_many :resources, through: [:roles_users_resources, :resource]
  has_many :roles, through: [:roles_users_resources, :role]
end

The problem is that if I join resources and roles in my query, roles_users_resources table will be joined twice.
This query
from u in User,
  join: role in assoc(u, :roles),
  join: resource in assoc(u, :resources),

results in
SELECT <...> FROM "users" AS u0 INNER JOIN "roles_users_resources" AS r3 ON r3."user_id" = u0."id" INNER JOIN "roles" AS r1 ON r1."id" = r3."role_id" INNER JOIN "roles_users_resources" AS r4 ON r4."user_id" = u0."id" INNER JOIN "roles_resources" AS r2 ON r2."id" = r4."resource_id" WHERE <.....>

To avoid that, I have to join more verbose:
User.ex
schema "users" do
  has_many :roles_users_resources, MyApp.RolesUsersResource
end

And this query:
from u in User,
  join: roles_users_resources in assoc(u, :roles_users_resources),
  join: role in assoc(roles_users_resources, :role),
  join: resource in assoc(roles_users_resources, :resource),

result in the following sql:
SELECT <...> FROM "users" AS u0 INNER JOIN "roles_users_resources" AS r1 ON r1."user_id" = u0."id" INNER JOIN "roles" AS r2 ON r2."id" = r1."role_id" INNER JOIN "roles_resources" AS r3 ON r3."id" = r1."resource_id" WHERE

Another option would be to use many_to_many like this:
schema "users" do
  many_to_many :resources, MyApp.Resource, join_through: "roles_users_resources"
  many_to_many :roles, MyApp.Role, join_through: "roles_users_resources"
end

and query in that case would look like this:
from u in User,
  join: role in assoc(u, :roles),
  join: resource in assoc(u, :resources),

but again, such query leads to roles_users_resources being joined twice.
Expected behavior
I'd expect that ecto can detect multiple joins through one table and join that table only once.
Thanks.

@gaynetdinov yes, you will need to go with the more verbose approach. While we could attempt to fix this, it is definitely a non-trivial fix and it seems to a corner scenario that can be solved with a more explicit approach, so that's the way to go. :)


Subnets

You can run this experiment on GENI, Cloudlab, or on the new FABRIC testbed! Refer to the testbed-specific prerequisites listed below.

FABRIC-specific instructions: Prerequisites
To run this experiment on FABRIC, you should have a FABRIC account and be part of a FABRIC project.

Follow the instructions for the testbed you are using (GENI, Cloudlab, or FABRIC) to reserve the resources and log in to each of the hosts in this experiment.

FABRIC-specific instructions: Reserve resources
To run this experiment on FABRIC, open the JupyterHub environment on FABRIC, open a shell, and run

git clone https://github.com/teaching-on-testbeds/fabric-education subnets
cd subnets
git checkout subnets

Then open the notebook titled "setup.ipynb".
Follow along inside the notebook to reserve resources and get the login details for each host in the experiment.
When you have logged in to each node, continue to the Challenge: design subnets section.


darcs: Fix build (Use old GHC)

Motivation for this change
Fix darcs by switching it to an older version of GHC.
This is the seventh or eighth time we've done this.  Past times:

da57804fff1d34154fc4d13e0fa02cfc23dcfc32 - d2d8d83f37118153ca92d58acca6ea22dc627fd9?
b1ec2a1eb26ecdd6dc93b9b39e63a257c0727e6e - 37f707fd9292ba434d4b53b02ae5ba8d4722310a
f0fcaa07b480c884e43ba8c9e4cd3b385dc5ba09 - 73bee7da33187a121ea94189e6d7758f9c2a64a7
21a83ed49b4186f7f4bb0bd39ef17fdced4e786e - #3792 (@peti, @MP2E)
3b8ae5cedce831fd971abd5ac7742bb1a719b5dd - f8d5b67c6192fb7791f10b621f43428503e56db2 (@peti, @MP2E)
3a4ff5fc7e91bd0c26d2622aa6884df49027e0d7 - 3594e34979c5bfc9d6189b0d0c386234451ccf38 (@peti, @peti)
ab3a12ed7ee0de4d247a8017151a1bf01829f6f7 - #46707 (@peti, @srhb)

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Thanks peti!  (Sorry, folks that got spurious review requests from the base-branch change.)


Split into separate projects

This PR splits the repo up into multiple projects. The broader goal here is to offer a more comprehensive set of examples that include CI, of course, but also non-CI projects. Note: I've left these two projects pretty much as-is but I think they could use some work (i.e. they could afford to be simpler), but I'll leave that for a separate PR.
An alternative strategy would be keeping this repo as-is and create a new repo for multi-example purposes. I'm open to that.

I got the go-ahead from @bufdev so I'll merge this.


Revert "Bump quarkus.platform.version from 3.2.0.Final to 3.2.1.Final in /java-components"

Reverts redhat-appstudio/jvm-build-service#760
There seems to be a jib issue affecting local development

/test jvm-build-service-in-repo-e2e


"Valea Seacă" is listed in the drop-down menu

Description:
"Valea Seacă" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Valea Seacă" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Valea Seacă, CĂLĂRAȘI (LEHLIU-GARĂ)".


Added 'vorpal_exit' event

Added vorpal_exit event on ctrl+c for exiting hook

superceded by #192

Hi @LongLiveCHIEF,
This patch adds a vorpal_exit event went ctrl+c is used. So it differs from #192. Maybe you can reconsider adding this?

Thanks.


PROXY_GUIDELINE.md Updates by Changyu Pang from Tsinghua

Add directory logs to avoid unnecessary errors.
Update PROXY_GUIDELINE.md to ensure Proxy works.

Fantastic, thanks for your contribution!


Modals may be too large for their content to be entirely visible

Hi, I recently went from Bootstrap modals to rmodal because I didn’t like Bootstrap’s bloated CSS, and I like rmodal a lot, but noticed an issue that doesn’t happen with Bootstrap modals : when you for example pin the web browser window to one half of the screen, or when you zoom, with Bootstrap the modals have a maximal width that doesn’t overflow the viewport, whereas with rmodal, the modals may easily become too large and the right part of their content is then invisible (there is no horizontal scroll bar either)

Should be quite easy to fix with a bit of CSS. Feel free to make a pull request.

Thank you for your answer :) I haven’t taken the time to understand how everything works yet, but I found a way of fixing it. You were right that it's easy, the problem comes from the width of .modal .modal-fixed, which is fixed to 1100px no matter the width of the viewport. By comparison, Bootstrap uses width: auto; and a (horizontal) margin of 10px, and in addition to that, it has a media query if the min-width is 768px :
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  …
}

I don’t know what you would prefer? A percentage value instead of 1100px also works. But it might be desirable to take more or less space depending on the width of the viewport


Choose a good value for REORG_THRESHOLD

We need to pick a good value for T from the algorithm in https://github.com/graphprotocol/graph-node/issues/281#issuecomment-415654036 . We may want different values for dev vs prod, and may want it to be configurable
See also #310 on Ethereum adapter configurability.

Closing this as we have settled on a threshold of 50 by default.


[Nominations Open] Top Doc(umenter) Award 2022 🏆

This issue is to receive nominations for the Top Doc(umenter) Award 2022.
This award recognizes excellence in documentation contributions to the CDF and its projects. Outstanding technical documentation is one of the best ways projects can lower the barrier to contribution.
To nominate someone, reply to this issue with the following:

Full name of the person you’re nominating
Short description of their contributions to the Continuous Delivery Foundation and why they should win.

Nomination Deadline: Tuesday, March 29, 2022 [EXTENDED to April 11, 2022]
More details are available here: https://cd.foundation/cdf-community-awards/

Nomination: Meg McRoberts (@StackScribe)
Meg is an active contributor to Jenkins documentation.  She has improved the Jenkins security documentation and the Jenkins user guide.  Her reviews of pull requests are consistently helpful and encouraging for new contributors.
Meg mentored the Jenkins project in the 2021 She Code Africa Contributhon.  She spent a month on a development project with five women from Africa as they submitted their first open source contributions.
Meg is an active participant in Jenkins documentation office hours.  She has guided documentation structural improvements, has planned the She Code Africa Contributhon for 2022, and continues to support documentation contributors.

Oleg Nenashev has done an amazing job in improving documentation across different areas of CDF, including TOC processes.

+1 for @oleg-nenashev

Nomination: Tara Hernandez
Tara has been part of the CDF community since very early days and contributed to initial versions of the TOC processes. She   served the community as a member to CDF TOC.
Tara currently chairs SIG Best Practices, leading efforts on collecting & documenting best practices and contributing to the development of the website to publish them. This initiative is one of the most critical initiatives happening within the CDF community since it will help organisations who are on their way to embrace CD with a place where they can learn about the practices they can adapt and Tara puts a lot of time and effort into it.

Nomination: Andrea Frittoli
Andrea has been very active in forming the written material around the CDEvents project, previously within the SIG Events repository and nowadays under its own Github organization. That work has involved launching a project page for CDEvents (https://cdevents.dev/), documenting the governance and related material for the CDEvents project itself, as well as providing a solid base for the CDEvents event specification itself.
Andrea should win the top doc award for his willingness to provide well written, relevant and accurate documentation for CDEvents

🚫 Nominations are now closed!
Voting will start April 13, link will be posted here.

Thank you, everyone! Award ceremony happened at cdCon 2022.
Congratulation to the winner @oleg-nenashev!
All winners here: https://github.com/cdfoundation/awards/blob/main/README.md


Interactive dismissal with nested subviews

This is kinda hard to explain.  So I have a cardView that's floating in the middle of the screen.  It has an imageView inside of it.  Like so:

When doing this:
Hero.shared.apply(modifiers: [.position(translation + cardView.center)], to: cardView)
Hero.shared.apply(modifiers: [.position(translation + imageView.center)], to: imageView)

When I begin to drag, the imageView jumps to this and then moves around with me as expected.

Full gesture callback:
    @objc func handlePan(gestureRecognizer:UIPanGestureRecognizer) {
        let translation = gestureRecognizer.translation(in: nil)
        let progress = translation.y / 2 / view.bounds.height

        switch gestureRecognizer.state {
        case .began:
            dismiss(animated: true, completion: nil)
        case .changed:
            Hero.shared.update(progress: Double(progress))

            Hero.shared.apply(modifiers: [.position(translation + cardView.center)], to: cardView)
            Hero.shared.apply(modifiers: [.position(translation + imageView.center)], to: imageView)
            Hero.shared.apply(modifiers: [.position(translation + titleLabel.center)], to: titleLabel)
        default:
            if progress + gestureRecognizer.velocity(in: nil).y / view.bounds.height > 0.3 {
                Hero.shared.end()
            } else {
                Hero.shared.cancel()
            }
        }
    }

Thanks!

If you are still experiencing this problem .Can you provide your heroModifier setup as well? during interactive transition, the imageView should move with the card view. You shouldn't need to update the position of the imageView.


DM: Track handle-error skip ddl

reopen https://github.com/pingcap/dm/issues/1717#issuecomment-952652199

And also it's better that we unify the skip logic. Currently our syncer.go is totally a mess, I have considered refine the main loop of syncer by a state machine or something, but no good design yet 😂

closed by https://github.com/pingcap/tiflow/pull/4178


Cannot read property 'label' of undefined

Issue Id: a63faf4f-4572-0379-ace9-6a4d78bae627Versions - 1.18.0-  af39ef560060e7e8ba8d75983c9ec1da3f4d2a20Stack TypeError: Cannot read property 'label' of undefined/vs/editor/contrib/colorPicker/browser/colorPickerWidget.ts#L59:61 (label)/vs/base/common/callbackList.ts#L36:22 (apply)/vs/base/common/event.ts#L123:26 (call)/vs/editor/contrib/colorPicker/browser/colorPickerModel.ts#L41:32 (fire)/vs/editor/contrib/hover/browser/modesContentHover.ts#L332:32 (colorPresentations)/vs/base/common/winjs.base.raw.js#L1170:0 (onComplete)/vs/base/common/winjs.base.raw.js#L852:0 (_notify)/vs/base/common/winjs.base.raw.js#L1068:0 (enter)/vs/base/common/winjs.base.raw.js#L1036:0 (_run)/vs/base/common/winjs.base.raw.js#L1170:0 (onComplete)

Thank you vscodeerrors, I already got that https://github.com/Microsoft/vscode/issues/37673


In disk_channel queues synchronously push to disk on shutdown (#18415)

Partial Backport of #18415
Instead of using an asynchronous goroutine to push to disk on shutdown
just close the datachan and immediately push to the disk.
Prevents messages of incompletely flushed queues.
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

make L-G-T-M work


Exception after upgrading from rc2 to 1.0

Ubuntu 15.04 + mono <IP_ADDRESS>  + asp.net core rtm. Any ideas how to fix it?
docker[16814]: Unhandled Exception: docker[16814]: System.TypeInitializationException: The type initializer for 'Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.Constants' threw an exception. ---> System.DllNotFoundException: System.Native docker[16814]: at (wrapper managed-to-native) Interop+Sys:GetUnixNamePrivate () docker[16814]: at Interop+Sys.GetUnixName () <0x417f5790 + 0x0000b> in <filename unknown>:0 docker[16814]: at System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform (OSPlatform osPlatform) <0x417f5720 + 0x00023> in <filename unknown>:0 docker[16814]: at Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.Constants.GetECONNRESET () <0x417f5350 + 0x0001f> in <filename unknown>:0 docker[16814]: at Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.Constants..cctor () <0x417f5300 + 0x0000b> in <filename unknown>:0 docker[16814]: --- End of inner exception stack trace --- docker[16814]: at Microsoft.AspNetCore.Hosting.Internal.WebHost.Start () <0x417f4460 + 0x000f8> in <filename unknown>:0 docker[16814]: at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run (IWebHost host, CancellationToken token, System.String shutdownMessage) <0x417f4070 + 0x0005d> in <filename unknown>:0 docker[16814]: at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run (IWebHost host) <0x417f3c40 + 0x001c7> in <filename unknown>:0 docker[16814]: at Must.Backend.Program.Main (System.String[] args) <0x41623e00 + 0x000d7> in <filename unknown>:0 docker[16814]: [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.Constants' threw an exception. ---> System.DllNotFoundException: S docker[16814]: at (wrapper managed-to-native) Interop+Sys:GetUnixNamePrivate () docker[16814]: at Interop+Sys.GetUnixName () <0x417f5790 + 0x0000b> in <filename unknown>:0 docker[16814]: at System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform (OSPlatform osPlatform) <0x417f5720 + 0x00023> in <filename unknown>:0 docker[16814]: at Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.Constants.GetECONNRESET () <0x417f5350 + 0x0001f> in <filename unknown>:0 docker[16814]: at Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.Constants..cctor () <0x417f5300 + 0x0000b> in <filename unknown>:0 docker[16814]: --- End of inner exception stack trace --- docker[16814]: at Microsoft.AspNetCore.Hosting.Internal.WebHost.Start () <0x417f4460 + 0x000f8> in <filename unknown>:0 docker[16814]: at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run (IWebHost host, CancellationToken token, System.String shutdownMessage) <0x417f4070 + 0x0005d> in <filename unknown>:0 docker[16814]: at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run (IWebHost host) <0x417f3c40 + 0x001c7> in <filename unknown>:0 docker[16814]: at Must.Backend.Program.Main (System.String[] args) <0x41623e00 + 0x000d7> in <filename unknown>:0

I have the same problem..
Mac osx el capitan + mono 4.40 + asp.net core rtm.
project.json
       {
    "version": "2.0.0",
    "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true,
    "debugType": "portable"
   },
   "configurations": {
   "Debug": {
  "buildOptions": {
    "define": [
      "DEBUG"
    ]
  }
},
"Release": {
  "buildOptions": {
    "define": [
      "RELEASE"
    ],
    "optimize": true
  }
}
},
 "dependencies": {
"Microsoft.NETCore.Platforms": "1.0.1",
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Configuration.Binder": "1.0.0",
"Serilog.Sinks.RollingFile": "2.0.0-rc-706",
"Ngonzalez.MongoRepository": "2.0.1",
"Ngonzalez.Util": "2.0.1",
"Serilog.Extensions.Logging": "1.0.0"
 },
 "frameworks": {
  "net451": {}
 },
 "runtimeOptions": {
  "configProperties": {
  "System.GC.Server": true,
  "System.GC.Concurrent": true
  }
 }
}

dotnet cli
$ dotnet --info
.NET Command Line Tools (1.0.0-preview2-003121)

Product Information:
Version:            1.0.0-preview2-003121
Commit SHA-1 hash:  1e9d529bc5

 Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.11
 OS Platform: Darwin
 RID:         osx.10.11-x64

Mono is not officially supported. And there is currently a bug that causes any uses of System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(...) to crash on mono.
See https://github.com/dotnet/corefx/issues/9012

I had the same issue after updating to RTM. Running this on Mac with Mono 4.4 when I publish my sample app dotnet publish -c Release -f net451 -o output and go to the output folder and run mono app.exe I get the same error as above.
So I went to /usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0 and copied System.Native.dylib to my output folder beside the exe file. When I run it again I still hit the same issue which was weird cause that's how Kestrel loads libuv as far as I know. So I looked at debug output for Mono and for some reason it tried to load libSystem.Native.dylib So I just renamed System.Native.dylib to libSystem.Native.dylib and I was able to run the sample app on Mono on Mac.
I actually have no idea why the last step was happening or if the sample app will even work beyond basic serving hello world. But at least it's not crashing on startup.

I can confirm that copying manually System.Native.so as libSystem.Native.so in the publish folder makes thungs work on linux also.
Big thanks for that find @yousifh

Closing this since Mono is not supported and a workaround exists for people hitting this issue.

@cesarbs Why Mono is not supported every time. It basically works. It just needs a small amount of love.
As far as I can see, the only real groundbreaking stuff you can with the new dotnet stuff is run it on linux. Specifically, docker. Since any real application will be needing to use the net4* platform (which mono provides on linux), this stance of not supported ktnxbye is not good enough.
ASP.Net Core basically works on linux/mono/net451 it just needs a little bit of love from M$. Please!

Mono is not officially supported.

That is amazing! I am in a world where most of the libraries are not available on .NET Core and I cannot progress working on docker because of this :disappointed:

I am having the same issue BTW https://github.com/aspnet/Home/issues/1652

Workaround suggest https://github.com/aspnet/KestrelHttpServer/issues/942#issuecomment-229129202 by @yousifh works, with a few tweaks:

I navigated to /usr/share/dotnet/shared/Microsoft.NETCore.App/1.0.0 and copied System.Native.so file (not System.Native.dylib, it does't exists for me) and have put it under my app (~apps/myapp/bin/Debug/net451/ubuntu.14.04-x64).

renamed it to libSystem.Native.so analogously.

This is such a shame though if this is the only problem, makes it really hard to transition for poeple considering lots of OSS libraries not available on coreclr.

@tugberkugurlu
You could probably just ln -s /usr/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Native.so /usr/lib/libSystem.Native.so and be done with it.

We don't test or support mono officially, it's a best effort thing (and community driven at this point). This specific issue is being tracked and discussed here https://github.com/dotnet/corefx/issues/9012

For this problem on OSX, see my comment over on #963: https://github.com/aspnet/KestrelHttpServer/issues/963#issuecomment-236603728.
Bottom line: set DYLD_LIBRARY_PATH to dir of System.Native.dylib and MONO_ENV_OPTIONS='--arch=64'.

@pompomJuice that trick worked on Linux quite well but on Mac, it's not taking effect:
ln -s /usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Native.dylib /usr/local/lib/libSystem.Native.dylib

Apparently you cannot write into /usr/lib/ on Mac that easily anymore, hence /usr/local/lib/.


Allow composite identifiers in loggable

Composite identifiers with foreign entities availaible for ORM > 2.6 due to earlier version not handling identifiers for newly inserted foreign objects

Closed in favor of #2128


chore: avoid running coveralls when releasing

:tada: This PR is included in version 5.1.0 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


add some parameter configs for different robocup leagues

I think it may be a good idea to include some common configs.

Thanks @jaagut


CSS highlight problem for linenos=table

The table width is not 100% when using linenos=table.

Here is the markdown file. (linenos=inline works as expected)
+++
title = "test"
+++

{{< highlight python3 "linenos=table, linenostart=1" >}}
def X1():
    return "x1"
{{< / highlight >}}

{{< highlight python3 "linenos=inline, linenostart=1" >}}
def X1():
    return "x1"
{{< / highlight >}}

@bebound I tested with your code, there's some style override with my content.scss, I will fix it later.

There is also a CSS problem only occur on Safari(macOS and iOS).
The code block has space on the right side.
url

@bebound Safari problem is caused by this CSS property.
.body {
  font-feature-settings: "liga" on;
}

I will fixed the issue tonight.


Spelling check language reset when typing

Hi.
I started to write a document in English, changed the document language to English, but spelling keep changing back to French (my default language) every time I hit the any key.
Best regards

Test Done on the following setup:
Windows 10
ONLYOFFICE Desktop Editors version <IP_ADDRESS>


Indicator issues

The metrics I used to test the 59th epoch with iPhone training were: Avg. LPIPS is 0.2057, PSNR is 21.9625 and SSIM is 0.7185
The metrics I used to test the 59th epoch with TCL training were:Avg. LPIPS is 0.2025, PSNR is 21.0502 and SSIM is 0.7367
All seem to differ from the metrics in the paper.I use the same data_v1.

In addition, I noticed that the learning rate of the pre-trained model of TCL and IPhone provided by you is not the same at the 50th epoch, and the validation metrics seem to be quite high. Do you have different learning rate scheduling for data taken by two different devices?


Fixed typo in utils.js filterComingSoonBetaChallenge

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 test. 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.
[ ] Closes currently open issue (replace XXXX with an issue no): Closes #XXXX

Description

I just fixed some typos where Coming was misspelled as Comming.

Tested locally. I don't see anything wonky. Looks like you caught them all. 👍


Add automatic checks for html validation & accessibility

Desired feature or idea.
I was looking into #1170 and #190 today and it reminded me of something I was playing around with for a different project a few months back:

The Nu Html Checker, the tool behind https://validator.w3.org/nu/. It can be run on the command line (requires java or docker!) within npm run test to generate a report. The current report is extremely long but lots of issues come from templates that can be fixed together
While not providing a perfect result, there are some tools to check for accessibility issues like Pa11y, others are mentioned at the Web Accessibility Evaluation Tool List. I choose pa11y because from a quick test it could also be integrated into npm run test

Is this something we want to have? Or is it adding to much complexity when people try to contribute (asking them to make sure that npm run test is not throwing errors anymore while be much harder then)

Thanks for the info about and link to the tools.
There are a number of checks that I'd like to add (currently at the top of my list is external links, #1052), but our focus has been on adding content so far -- and docsy-related work for me. As for the tools that you mention, I wouldn't consider adding them to CI checks, but it might make sense to consider using them now and again. My 2 cents.

As for the tools that you mention, I wouldn't consider adding them to CI checks, but it might make sense to consider using them now and again. My 2 cents.

I am fully OK with that, there are plenty of errors, you might not want to fix right now, some false positives, some things you just have to live with etc, so let me find some time to run them over some packages and report back some results.


HA always thinks light state is 'on'

I have an issue where HA always seems to think my switches are turned on.
If I use a switch.turn_off or switch.turn_on service, all my devices seem to respond well, but HA will only consider them 'off' for maybe a second, before their state changes back to 'on' - though the switch itself stays off.
Here is the log of one device using the turn_on or turn_off services:
2020-06-10 11:23:20  DEBUG    sonoff_local  1000906fcd => Local4 | {'switch': 'off'} <= {'seq': 342, 'error': 0}
2020-06-10 11:23:30  DEBUG    sonoff_local  1000906fcd => Local4 | {'switch': 'on'} <= {'seq': 343, 'error': 0}
2020-06-10 11:23:39  DEBUG    sonoff_local  1000906fcd => Local4 | {'switch': 'off'} <= {'seq': 344, 'error': 0}
2020-06-10 11:23:45  DEBUG    sonoff_local  1000906fcd => Local4 | {'switch': 'on'} <= {'seq': 345, 'error': 0

Here is using the toggle service:
2020-06-10 11:23:55  DEBUG    sonoff_local  1000906fcd => Local4 | {'switch': 'off'} <= {'seq': 346, 'error': 0}
2020-06-10 11:24:06  DEBUG    sonoff_local  1000906fcd => Local4 | {'switch': 'off'} <= {'seq': 347, 'error': 0}
2020-06-10 11:24:11  DEBUG    sonoff_local  1000906fcd => Local4 | {'switch': 'off'} <= {'seq': 348, 'error': 0}

You can see if keeps sending off because HA thinks the switch is always on.
If I toggle quickly, sometimes I can catch HA with the switch state as off, and it will toggle things to on, but it also usually produces something like this:
2020-06-10 11:26:53  DEBUG    sonoff_local  1000906fcd => Local4 | {'switch': 'off'} <= {'seq': 349, 'error': 0}
2020-06-10 11:26:53  WARNING  sonoff_local  1000906fcd => Local4 | {'switch': 'off'} !! [Errno 104] Connection reset by peer
2020-06-10 11:26:53  DEBUG    sonoff_local  1000906fcd => Local4 | Check offline with timeout 20s
2020-06-10 11:26:53  DEBUG    sonoff_local  1000906fcd => Local4 | {'cmd': 'info'} <= {'seq': 350, 'error': 0, 'data': '{"switch":"off","startup":"off","pulse":"off","pulseWidth":500,"ssid":"XYZ","otaUnlock":false}'}
2020-06-10 11:26:53  DEBUG    sonoff_local  1000906fcd => Local4 | Welcome back!

I'm using a local only setup, and I do have my switches on a different network, with mDNS setup and my firewall opened up for 5353 udp and tcp. My switches are mostly Sonoff S26s, with some Sonoff Basic R3s too - but they all show the same behavior.
Any help would be much appreciated 🙏

I thought I'd post my config too, but while I was there, I added
  default_class: switch

and rebooted HA, and things seem to be OK. I will let it run for a while and see if it stays OK!
My config:
sonoff:
  default_class: switch
  debug: True
  devices:
<PHONE_NUMBER>:
      name: BigSwitch1
    1000906fcd:
      name: BigSwitch2
    1000b0d34c:
      name: NiceSwitch1
      devicekey: xyz
    1000b0da5a:
      name: NiceSwitch2
      devicekey: xyz
    1000b0d618:
      name: NiceSwitch3
      devicekey: xyz
    1000b0d2f7:
      name: NiceSwitch4
      devicekey: xyz
    1000b0d598:
      name: NiceSwitch5
      devicekey: xyz
    1000b0d5af:
      name: NiceSwitch6
      devicekey: xyz
    1000b0d593:
      name: NiceSwitch7
      devicekey: xyz
    1000b0dc4f:
      name: NiceSwitch8
      devicekey: xyz

hmm, adding the default_class: switch seems to have fixed things for now (about 5 hours later).
Maybe close this for now, and I can re-open it, or reference it later?

30 hours later, all good, no worries!
Sorry for the spurious issue, but hopefully it will help someone else.


Please invite me to the GitHub Community Organization

Please invite me to the GitHub Community Organisation.

Name: Anshul

Discord Username(if exists): anshul_7sp1#8485

Additional Context:  Found this repo while searching for issues labelled for beginners 😅

Been coding for a while and want to involve in contributing to opensorce!

Welcome to the community!


Add watchOS 2.0 to pod deployment target

If you change the target branch to https://github.com/duemunk/Async/tree/feature/Swift_2.1, I'll merge.


Tooltip: Remove Chinese in English docs.

Please makes sure these boxes are checked before submitting your PR, thank you!

[x] Make sure you follow Element's contributing guide (中文 | English).
[x] Make sure you are merging your commits to dev branch.
[x] Add some descriptions and refer relative issues for you PR.

大佬，我昨天没来得及看呢，我发现英文的文档，有的地方比中文的清晰多了。


Add DKRZ/Levante batch scripts for release recipe running

Description

We need these before we integrate and streamline the RWT process. Thanks to @sloosvel for writing the batch generator script - works like a charm, I added the output parser which makes things pretty easy to look at what succeeded and what crashed and burnt. That needs a bit more tweaking, and we need documentation :+1:
Docs: https://esmvaltool--2883.org.readthedocs.build/en/2883/utils.html#running-multiple-recipes

Before you get started

[ ] ☝ Create an issue to discuss what you are going to do

Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

[x] 🛠 This pull request has a descriptive title
[x] 🛠 Code is written according to the code quality guidelines
[x] 🛠 Tests run successfully
[x] 🛠 All checks below this pull request were successful

I feel a bit queasy about this. It seems to have considerable overlap with earlier and ongoing work by @bouweandela and the testing framework effort led by @ehogan. Before spending more time on this, we should make clarify how it fits together with those pieces.

your comment is perfectly justified @zklaus - but I have three word for you - just in case - the RTW will most probably be experimental for the upcoming release, so a full run of the recipes at release point will most prob be needed, also - what if the RM really wants to run, say 20-30 recipes, the ones that caused RTW problems? :beer:

before I start cleaning up this mess, can we please have a couple moments and decide if we want to include these in the package @ESMValGroup/technical-lead-development-team - we may want to talk about this at the next Techy call, or if people prefer, can comment here. My view is that if the next RM will have to use the same procedure for 2.8 release as for 2.7 then we may as well clean them up, write dox, and plug them in. Otherwise I might have to book a proper date with the RM (Remi?) since the procedure is a bit more involved than petting a mad dog :dog:

We discussed this at the @ESMValGroup/technical-lead-development-team meeting and decided to merge this since the work by @ehogan seems to have stalled and we need something working to do the tests for the release. Before this can be merged, documentation would need to be added/updated here: https://github.com/ESMValGroup/ESMValTool/pull/2883. Once we have a cylc (or something else) that is more portable and easier to maintain, we can retire the scripts again.

cheers @bouweandela - let me clean up this whole thing - note: I will not change any functionality since that may affect the release workflow, but I really have to clean up :broom:

Ok, I have kind of cleaned generate.py and took into account the mail stuff. Let's see if codacy complains. The rest of the files I think it's best if @valeriupredoi takes care of them.

thanks a lot @sloosvel - I was just about to get on it myself, makes me work lighter now :beer:

OK @sloosvel and myself have cleaned up the hot mess - I suggest we merge these interms, documentation is not strictly needed since we mention the use of these bits in #3032 alas, the pointers to this PR there should change to pointers to the actual codes, where'd they be living in harmony in the main branch - @bouweandela @remi-kazeroni and the @ESMValGroup/technical-lead-development-team what say you fellas?

OK Codacy is now fixed too, apart from stuff that can sock it :+1:

Thanks very much @sloosvel and @valeriupredoi for tackling this!! I'm afraid I don't really have time for a review now. I think it would be super helpful for me if this would be merged before doing the first round of recipe testing (early next week?). If I would then notice some issues using these scripts, we could open a quick fix PR to adjust things.

sounds good to me, Remi! Who gunna merge? - maybe @schlunma or @zklaus pls (not @bouweandela coz he'll find at least 17 wiggles that need fixing :rofl: )

Just one review comment from me then: could you please add a bit of documentation for the script here?

Just one review comment from me then: could you please add a bit of documentation for the script here?

one but a good one - will do, bud :beer:

I think I addressed all your comments @remi-kazeroni . I can try to address the codacy issues as well, I don't think they are that big of a deal.

I think I addressed all your comments @remi-kazeroni . I can try to address the codacy issues as well, I don't think they are that big of a deal.

Thanks a lot @sloosvel! All looks good to me and I don't think the codacy issues matter too much. It would be to get a bit of documentation from @valeriupredoi or yourself, in particular regarding the parsing script 👍 And cheers for providing these scripts, that's really helpful for a RM 👍

aritey! I added dox for the el parsero :beer:

...and apparently fixed Codacy too, not that was my intention :laughing:

...and apparently fixed Codacy too, not that was my intention laughing

@sloosvel what you doing breaking Codacy again :laughing:
@remi-kazeroni @sloosvel cheers to you guys for polishing and streamlining this :hankey: - what we doing about merging it?

Thanks a lot @sloosvel and @valeriupredoi! I will take a final look and push it to the finish line 👍

Thanks all! Let me briefly check the functionality once more. If all works fine, this can be merged. I would really need this in to finish #3032...

Thanks all! Let me briefly check the functionality once more. If all works fine, this can be merged. I would really need this in to finish #3032...

Will finish that tomorrow

Nothing else to add on my side. This is very useful not only for release managers but also for ESMValTool users on SLURM-based clusters who will be able to generate batch scripts tailored for their favourite recipes. This is ready to be merged imo.
@bouweandela could you please approve and merge if this is fine for you?

Woohoo! Many thanks for all your wonderful work on this @sloosvel @remi-kazeroni @bouweandela 🍺 x3


verify_release_candidate.sh script fails verifying 23.0.0 rc 2

Describe the bug
When trying to verify the release using the verify_release_candidate.sh script from https://github.com/apache/arrow-rs/blob/master/dev/release/verify-release-candidate.sh we see an error:
...
+ cargo publish --dry-run

*    Updating* [crates.io](http://crates.io/) index

*   Packaging* arrow v23.0.0
(/private/var/folders/cl/ycxd_6916zlf50f8mpthd9qw0000gn/T/arrow-23.0.0.XXXXX.yNgAGJ0B/apache-arrow-rs-23.0.0/arrow)

*error**:* failed to prepare local package for uploading

Caused by:

  no matching package named `arrow-buffer` found

  location searched: registry `crates-io`

  required by package `arrow v23.0.0
(/private/var/folders/cl/ycxd_6916zlf50f8mpthd9qw0000gn/T/arrow-23.0.0.XXXXX.yNgAGJ0B/apache-arrow-rs-23.0.0/arrow)`

To Reproduce
./dev/release/verify-release-candidate.sh 23.0.0 2

Expected behavior
Script should pass
Additional context
Reported by @iajoiner  on https://lists.apache.org/thread/df08cc4hg42rg5g5jzb804bvbf9v7jtz

Proposed fix in https://github.com/apache/arrow-rs/pull/2752


Idea non exit

hi,
is it possible to make vfrmap wait for connection
	s, err := simconnect.New("msfs2020-go/vfrmap")
	if err != nil {
		print("Wait for connection...\n")
		time.Sleep(5*1000*1000*1000)
		goto startConnection

	}

and restart when the socket to MSFS was lost?

good idea! will add it in next release


ci: empty commit to trigger codebuild

Definition of done (v0.0.1)

[ ] Automated integration test
[ ] Integrity protection according to ADR-NNNN
[ ] Structured Logging and Monitoring for Lambda function according to ADR-NNNN

add a comment to test trigger

test comment


[v9rc3] Theme Customization Color Picker Color Values

Currently the color picker for the theme customization area does NOT show the color values.  If a user would like to change colors and match one color setting to another, it becomes a guessing game as to picking the exact same color without the values being visible to copy/paste for instance...

Fixed in the Elemental theme updates branch and will be released in the next release candidate.


Option to retain type information in objects (instanceof with interfaces)

I know TS is designed to throw away type information during compilation.
However, it would be really useful in larger applications to have the option to retain it.
Pros:

instanceof would then work with interfaces.
Code completion could then work properly:

Currently one has to access members of a class like
myClass{"someProperty"} = ...;
where I would rather go
if (myClass instanceof somePropertyInterface)
  myClass.someProperty = ...;

Cons:

Performance and memory footprint would suffer, as every object would have to have an array of objects in it.

Meta:
This would be an optional flag, disabled by default.

See #1549 or many other suggestions to the same effect


How to change the compression level?

I see it has clap arguments, but I can't quite figure out where to apply them.

Compression level is a repository option, i.e. it is saved in the repository config and needs to be set only once (or when you want to change it).
You can already set it when initializing a repository and change it using the command rustic config --set-compression.
NB: Questions about usage are better placed in the Discussions, I'm closing this as IMO it is not an issue.


[ERROR?] VaryByHeader rewrite by IIS (tested on 8.5 and 10) but ok for Kestrel and Azure

I have next code in my app
            services.AddMvc((options) =>
            {
                options.CacheProfiles.Add("DefaultAPI", new CacheProfile()
                {
                    Duration = 1 * 60 * 60,
                    Location = ResponseCacheLocation.Any,
                    VaryByQueryKeys = new[] { "test" },
                    VaryByHeader = "locale"
                });
            })

When I run it locally on Kestrel or Azure everything is fine.
Response header is "Vary:locale,Accept-Encoding"
But when it runs in IIS, I'm getting only "Vary:Accept-Encoding"
I did a workaround via web.config, but it's not an ideal solution
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="Vary" value="locale" />

Ideas?

Moving to discussion milestone since this is an IIS issue and not an ANCM issue.

@bariscaglar Thoughts?

VaryByHeader = "locale"

Is this the line that adds the header? Is the claim then IIS somehow removes this header? I don't see any reason why. Are we certain this is an IIS issue?

We periodically close 'discussion' issues that have not been updated in a long period of time.
We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.


Verify use of i64 versus u64 in API

Neither the lightning-cli help nor the c-lightning man-pages describe the exact type of values and amounts used in requests/responses.
In case it was unknown I have used i64 everywhere, except in one case where it caused problems (max_htlc_value_in_flight_msat in listpeers). However, it would be good to go over the structures in requests and responses and reconcile them with the C source code.

I'd personally prefer newtype pattern in this case. We're dealing with money and it might be easy to confuse satoshis vs millisatoshis.
Regarding signedness, it makes more sense to me to use u64, since paying negative amount makes little sense to me, but I can imagine i64 being used in some calculations.

My point here is that the types in the requests/responses simply have to match the parsing/serialization on the server side. This prevents parse errors at either side.
Not all the numbers on the interface are amounts of money, FWIW. Some things can have negative values!
For the high-level interface it'd be an idea to use some more specific wrapper type, sure.

Yeah, I meant it more generally - if some number shouldn't be negative, use unsigned number.
Of course, the types should match. If the API uses e.g. signed number for amounts, I'd consider it a bug (or imperfection, maybe) on the server side.

On the generation side, there are two relevant calls.
/* '"fieldname" : value' or 'value' if fieldname is NULL */
void json_add_num(struct json_result *result, const char *fieldname,
                  unsigned int value);
/* '"fieldname" : value' or 'value' if fieldname is NULL */
void json_add_u64(struct json_result *result, const char *fieldname,
                  uint64_t value);

On the parsing side
/* Extract number from this (may be a string, or a number literal) */
bool json_to_number(const char *buffer, const jsmntok_t *tok,
                    unsigned int *num);
/* Extract number from this (may be a string, or a number literal) */
bool json_to_u64(const char *buffer, const jsmntok_t *tok,
                 uint64_t *num);

There's nothing to suggest signed values at all, so it looks like you're right.


Add interaction checks to all interactions

Since #698 got merged. We need to find and change all interactions to use it to check whether the interaction is valid.
It got added to Drop and Pickup, but many other interactions still need the check.

Taking this on.

As per the mentioned unmerged PR, it also seems I should add checks for bound UIs to a common base class so I will see about that too.


accept-licence: any-open-source wildcard

It would be very useful if you could add something like accept-licence: any-open-source which would be same as accepting all the versions of open source licences. I have this is my list and it is a bit bothering to maintain it.
      "accept-license:Apache-2.0",
      "accept-license:BSD-2-Clause",
      "accept-license:BSD-3-Clause",
      "accept-license:GPL-2.0",
      "accept-license:GPL-2.0-only",
      "accept-license:GPL-3.0",
      "accept-license:GPL-3.0-only",
      "accept-license:ISC",
      "accept-license:LGPL-2.1-or-later",
      "accept-license:LGPL-3.0",
      "accept-license:MIT",

This in concept is nice, in practice though who's going to decide what "any open source" means? Does that refer to licenses considered open source by the FSF, or licenses approved by OSI, or would it refer to what is generally accepted in the PHP community?
For example in your list I'm surprised to see the full GPL. If you depend on a GPL package it turns your entire project into a derivative work. You then have to distribute the whole thing under the terms of the GPL. That's why it's a very uncommon license to use for PHP packages, and also the reason why I deliberately do not allow GPL packages in my projects (the LGPL is fine though).
Also the newest license in the list is the (L)GPL 3.0 and that's already 14 years old. These things very rarely change, to be honest I can't remember the last time I had to make a change to my accept-license: list. This ticket is now over a year old, so I'm kind of curious. How much has this list change for you since you created this ticket? :)

Well, it historically changed only when new package was installed and it was licensed in a way that we didn't see before. And that was actually a motivation to write this issue.
But as I see it now I completely agree with what you say.
And thank you for the tip with the full GPL 👍 .


Binary media type not using HttpBinaryRequest type tag

Describe the issue
Basically, when a request is an actual binary request, it is incorrectly using the HttpWithBodyRequest tag instead of the HttpBinaryRequest tag. This causes deserialization issues for C#.

This is from the media_types.json swagger on the test server.
** REQUIRED **
ModelerFour version: 4.9.225
AutoRest-core version: 3.0.6237
AutoRest version: 3.0.6191

Hitting this in form analytics.

Try<EMAIL_ADDRESS>and let me know if this is fixed for you!

Fixed. Thank you! Closing.


external repositories fetched from remote sources aren't re-fetched if local copy is changed

This is kind of the complement to #251.

Machinery from 6ddbb6e should be sufficient  for implementing remaining cases, I think.

I think this is obsolete by @lberki's changes and my external mutability fixes.  Please comment if there are any other cases still open.


Adding Autocomplete IT for Java once more

r: @jasonkuster
This reverts commit e3ddecdda6587233b333da4aa8a0e0dba66c7337.

Run Java PostCommit

The problem was that the pipeline is run via the main method, and it should be run as a JUnit test, via the @Test-marked methods.

LGTM -- thanks!

Is there a JIRA for this?


Certificate chain reported as missing Intermediate certificate, throwing 502 error, with V2 Application Gateway only. V1 is fine.

Certificate chain reported as missing Intermediate certificate, throwing 502 error, with V2 Application Gateway only. V1 is fine.
This is will a full chain RapidSSL wildcard PFX certificate.

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

ID: 77a317f1-deef-4ba7-5839-f39ce3733655
Version Independent ID: d85aa8fe-7270-d073-ea56-d1c0759383b8
Content: Enabling end to end SSL on Azure Application Gateway
Content Source: articles/application-gateway/ssl-overview.md
Service: application-gateway
GitHub Login: @amsriva
Microsoft Alias: victorh

@loopfish Thank you for your feedback . We will investigate and update the thread further.

@loopfish, Try checking the intermediate certs on the backend cert. Here is an online tool for checking SSL certificates. Inccorect bundled cert would show something like one below:

A Properly Bundled Cert would show something like the one below:

Resolution:
Certificate has to be properly bundled again including the Intermediate Certs. Please use a bundle of Root and Intermediate Certs.

There is nothing wrong with the cert bundle. As I mentioned, it works absolutely fine with a v1 AG, and the Digicert SSL checker confirms all 3 parts of the cert are present and correct

@loopfish, This requires a deeper investigation, so if you have a support plan, I request you file a support ticket, else please do let us know, we will try and help you get a one-time free technical support. In this case, could you send an email to AzCommunity[at]Microsoft[dot]com referencing this thread and your subscription id?
Thank you for your cooperation on this matter and look forward to your reply.

We are closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.

I have a similar problem with normal Virtual Machines and Azure keyvault. I uploaded a bundle cert (server + intermediate) to Azure keyvault successfully. Then added the secret to a linux VM, so it is automatically fetched to /var/lib/waagent. However, the .crt file in the folder only includes the server certificate, i.e., intermediate certificate is no longer present.
No errors were thrown at any given point. Furthermore, if I download the cert in PFX/PEM format from Azure portal UI, the intermediate cert is still present in this file.
Why is the intermediate cert removed from the .crt file?

Unfortunately Microsoft don't seem to want to know, on this occasion. I spent a lot of time with support and escalation demonstrating there was nothing wrong with my cert bundle, but they insisted it was. Given up using the product due to this.

@SubhashVasarapu-MSFT Any comment on this?

Any comment on this?
I just upgraded an AppGw V1 into V2 and looks like I need to roll it back. Intermediate CA certificate needs to be delivered in the TLS handshake. I'm even using the same certificate .pfx file than with V1 and it worked there. With V2, no such joy.

Got the same issue, the intermediate certs are not being sent during the TLS handshake

@shashishailaj please could you re-open this issue for investigation?

I got my AppGw V2 working. The clues for solution are scattered, but they are out there.
What Azure fails to properly document is the new requirement of PFX-file to contain the intermediate too. However, my case was bit complex. I had bound my AppGw certificate into Azure Key Vault. However, you cannot have a Key Vault Certificate with intermediate (or entire chain).
So, I detached the Key Vault association and wrote some PowerShell scripting to export a .Net Security.Cryptography.X509Certificates.X509Certificate2Collection and Set-AzureRmApplicationGatewaySslCertificate that into AppGw. Works great!

One would imagine using a key vault is encouraged. Indeed that is what I am using.

Yes, using a Key Vault is encouraged and that's what I'm still doing.
The solution is obvious, store the Base64-encoded PFX-file into a secret.
The code I'm using is adapted from https://www.rahulpnath.com/blog/pfx-certificate-in-azure-key-vault/

I experienced the same issues that others above have been facing. In particular, we only had the SSL validation errors for certain devices like Android and Python on Windows. But we also had the same symptoms that were mentioned here: https://github.com/MicrosoftDocs/azure-docs/issues/35298#issuecomment-514918980
After contacting Azure support, we did not have any luck solving things, but we eventually just exported the certificate with all intermediary certificates in the chain using the Certificate Manager MMC Snap In.

While this was a very easy problem to solve, it was not particularly discoverable.

I experienced the same issues that others above have been facing. In particular, we only had the SSL validation errors for certain devices like Android and Python on Windows. But we also had the same symptoms that were mentioned here: #35298 (comment)
After contacting Azure support, we did not have any luck solving things, but we eventually just exported the certificate with all intermediary certificates in the chain using the Certificate Manager MMC Snap In.

While this was a very easy problem to solve, it was not particularly discoverable.

i have implemented your solution and it worked for me, but now whrn i test my ssl it shows "Incorrect order, Contains anchor"
--

i have implemented your solution and it worked for me, but now whrn i test my ssl it shows "Incorrect order, Contains anchor"

You're not supposed to have the anchor cert in your AppGw. Only intermediate and site cert needed.
Having the anchor there isn't an error. The client is supposed to ignore it. This obviously will vary.

i have implemented your solution and it worked for me, but now whrn i test my ssl it shows "Incorrect order, Contains anchor"

You're not supposed to have the anchor cert in your AppGw. Only intermediate and site cert needed.
Having the anchor there isn't an error. The client is supposed to ignore it. This obviously will vary.

i have used .pfx file on appGw . now i am having
Chain issues | Incorrect order, Contains anchor.what is this.
-- | --

+1 having the same issue here after testing it through SSLLABS on App Gw v2. Any solution for this?

Azure Key Vault cannot import PKCS#12 (or a PFX if you will) into a secret.
What I do is import the bytes of the PKCS#12. See my comment above for details.
Also, please investigate the new approach of AppGw Key Vault integration.
Docs are at https://docs.microsoft.com/en-us/azure/application-gateway/key-vault-certs.

Doesn't work.

i have implemented your solution and it worked for me, but now whrn i test my ssl it shows "Incorrect order, Contains anchor"

You're not supposed to have the anchor cert in your AppGw. Only intermediate and site cert needed.
Having the anchor there isn't an error. The client is supposed to ignore it. This obviously will vary.

i have used .pfx file on appGw . now i am having
Chain issues | Incorrect order, Contains anchor.what is this.
-- | --

I have the same error.

Please reopen this ticket

Also when we use the Key Vault method to select the SSL certificate in the Listener, the order is not correct:

Please reopen this issue.

Here is an update to my previous post. As reported on some forums, merging a p7b cert has become unavailable according to MIcrosoft as reported on this post from a Microsoft specialist https://docs.microsoft.com/en-us/answers/questions/713593/got-the-error-while-merging-the-certificate-in-azu.html. on Feb 2022.
Unfortunately the problem of the broken SSL chain if you decide to merge the .cer downloaded from your CA.
The new word around is as follows:
In the case of many CA they will deliver to you a .cer along with a bundle.cer file containing the intermediate certificate to complete the chain.

Open the Bundle.cer file in a notepad
Open the certificate that was issued to you, the .cer file in a notepad
Copy the .cer file content INCLUDING THE HEADER AND FOOTER at the end of the content of the bundle.cer file
Save it into a new .cer file
Merge it using the Merge Signed Request option in Azure.

In my case, I used goDaddy to issue my certificate, the bundle contained several certificates, so at the end the content of my new file looked like this:
-----BEGIN CERTIFICATE-----
fhdjskfhdjskfhdsjkalfhdsjakfhdsjkflhsdajkhjklhjklhjk
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
fhjdkasfhdsjkalfhdsjaklfhdsajklfhdsjkflsdhafjkshdajk
rw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
djfkhdsljkfhdsjkfhsdajkfdhsjkafhdsjakfhdsjakfhdsjkl
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
dhfdasfdhsjkfdhsjakfhdsfjkadshfjkldsahfjklsadhjkhjkl
-----END CERTIFICATE-----
against all odds, it worked!!!
Hope you find this information useful.

Great Article. I tried your recipe above, merging the Cert.CER, the intermediate.CER and the root.CER in a single file using the Headers. Merged Signed request. It did successfully import to Azure Key Vault. Refreshed my Application Gateway. I still get a B from SSL Labs.

https://www.windowstechupdates.com/azure-application-gateway-chain-issues-incorrect-order-contains-anchor/

I have same cert + intermediate bundle, and I have same AppGw's - one in East 1 and another in West 1 regions. They behave differently with same PFX. East one works fine, returns cert as is. West one "contains anchor".

This is still an issue with application gateway v2 when using key vault certificates.

I selected include all certificates and the issue is resolved in my case I was directly uploading certificate to WAF V2 instead of using key vaults certificates.

Still an issue in 2024

It is still an issue in Aug 2024

It is still an issue in Dec 2024


[Task]: POC: Remove encryption handler funnel

Is there an existing issue for this?

[X] I have searched the existing issues

SubTasks
Today, when data is read from mongodb or written to goes through an extra step of encrypting/decrypting sensitive data, but the function that does that is synchronized on instance, so it is not possible to process them in multiple threads.
We need to create a POC to check if we can use ConcurrentHashMap or some other way to remove that bottleneck.

cc @nidhi-nair