feat: add deny pull secret deletion policy

Which issue this PR addresses:
https://issues.redhat.com/browse/ARO-4552
What this PR does / why we need it:
add a new Guardrail policy exclusively for deny pull secret deletion
Test plan for issue:
Rego unit test, Gator test, dev cluster test
Is there any documentation that needs to be updated for this PR?
N/A

Test result:
➜  policies git:(feat/pull-secret-deny-policy) ✗ ./scripts/test.sh
expand constraints gkconstraints/aro-machine-config-deny.yaml
expand constraints gkconstraints/aro-machines-deny.yaml
expand constraints gkconstraints/aro-master-toleration-pod-deny.yaml
expand constraints gkconstraints/aro-privileged-namespace-deny.yaml
expand constraints gkconstraints/aro-pull-secret-deny.yaml
[opa test] -> gktemplates-src/library/common.rego gktemplates-src/aro-deny-delete-pull-secret/*.rego
PASS: 4/4
[gator verify] -> gktemplates-src/aro-deny-delete-pull-secret
=== RUN   deny-pull-secret-delete-tests
    === RUN   allow-create-pull-secret
    --- PASS: allow-create-pull-secret  (0.004s)
    === RUN   allow-update-pull-secret
    --- PASS: allow-update-pull-secret  (0.005s)
    === RUN   not-allow-delete-pull-secret
    --- FAIL: not-allow-delete-pull-secret      (0.003s)
        open /home/huili/Codes/Work/ARO-RP/pkg/operator/controllers/guardrails/policies/gktemplates-src/aro-deny-delete-pull-secret/gator-test/allow_delete_pull_secret.yaml: no such file or directory
--- FAIL: deny-pull-secret-delete-tests (0.016s)
FAIL    gktemplates-src/aro-deny-delete-pull-secret/suite.yaml  0.016s
FAIL

Error: FAIL
➜  policies git:(feat/pull-secret-deny-policy) ✗ ./scripts/test.sh
expand constraints gkconstraints/aro-machine-config-deny.yaml
expand constraints gkconstraints/aro-machines-deny.yaml
expand constraints gkconstraints/aro-master-toleration-pod-deny.yaml
expand constraints gkconstraints/aro-privileged-namespace-deny.yaml
expand constraints gkconstraints/aro-pull-secret-deny.yaml
[opa test] -> gktemplates-src/library/common.rego gktemplates-src/aro-deny-delete-pull-secret/*.rego
PASS: 4/4
[gator verify] -> gktemplates-src/aro-deny-delete-pull-secret
=== RUN   deny-pull-secret-delete-tests
    === RUN   allow-create-pull-secret
    --- PASS: allow-create-pull-secret  (0.004s)
    === RUN   allow-update-pull-secret
    --- PASS: allow-update-pull-secret  (0.005s)
    === RUN   not-allow-delete-pull-secret
    --- PASS: not-allow-delete-pull-secret      (0.003s)
--- PASS: deny-pull-secret-delete-tests (0.017s)
ok      gktemplates-src/aro-deny-delete-pull-secret/suite.yaml  0.017s
PASS

[opa test] -> gktemplates-src/library/common.rego gktemplates-src/aro-deny-labels/*.rego
PASS: 3/3
[gator verify] -> gktemplates-src/aro-deny-labels
=== RUN   machines-deny
    === RUN   master-machine-deny
    --- PASS: master-machine-deny       (0.004s)
    === RUN   worker-machine-allowed
    --- PASS: worker-machine-allowed    (0.002s)
    === RUN   no-label-machine-allowed
    --- PASS: no-label-machine-allowed  (0.003s)
--- PASS: machines-deny (0.012s)
ok      gktemplates-src/aro-deny-labels/suite.yaml      0.012s
PASS

[opa test] -> gktemplates-src/library/common.rego gktemplates-src/aro-deny-machine-config/*.rego
PASS: 5/5
[gator verify] -> gktemplates-src/aro-deny-machine-config
=== RUN   deny-cluster-machineconfig-modification-tests
    === RUN   not-allow-create-cluster-machine-config
    --- PASS: not-allow-create-cluster-machine-config   (0.004s)
    === RUN   not-allow-delete-cluster-machine-config
    --- PASS: not-allow-delete-cluster-machine-config   (0.004s)
    === RUN   not-allow-update-cluster-machine-config
    --- PASS: not-allow-update-cluster-machine-config   (0.004s)
    === RUN   allow-create-custom-machine-config
    --- PASS: allow-create-custom-machine-config        (0.003s)
    === RUN   allow-delete-custom-machine-config
    --- PASS: allow-delete-custom-machine-config        (0.003s)
--- PASS: deny-cluster-machineconfig-modification-tests (0.023s)
ok      gktemplates-src/aro-deny-machine-config/suite.yaml      0.023s
PASS

[opa test] -> gktemplates-src/library/common.rego gktemplates-src/aro-deny-master-toleration-taints/*.rego
PASS: 5/5
[gator verify] -> gktemplates-src/aro-deny-master-toleration-taints
=== RUN   deny-master-toleration-taint-pods-in-nonprivileged-namespaces
    === RUN   create-not-allowed-in-nonprivileged-namespaces
    --- PASS: create-not-allowed-in-nonprivileged-namespaces    (0.005s)
    === RUN   create-allowed-in-privileged-namespaces
    --- PASS: create-allowed-in-privileged-namespaces   (0.004s)
    === RUN   update-not-allowed-in-nonprivileged-namespaces
    --- PASS: update-not-allowed-in-nonprivileged-namespaces    (0.005s)
    === RUN   deletion-allowed-in-nonprivileged-namespaces
    --- PASS: deletion-allowed-in-nonprivileged-namespaces      (0.004s)
--- PASS: deny-master-toleration-taint-pods-in-nonprivileged-namespaces (0.021s)
ok      gktemplates-src/aro-deny-master-toleration-taints/suite.yaml    0.021s
PASS

[opa test] -> gktemplates-src/library/common.rego gktemplates-src/aro-deny-privileged-namespace/*.rego
PASS: 16/16
[gator verify] -> gktemplates-src/aro-deny-privileged-namespace
=== RUN   privileged-namespace
    === RUN   ns-allowed-pod
    --- PASS: ns-allowed-pod    (0.005s)
    === RUN   ns-disallowed-pod
    --- PASS: ns-disallowed-pod (0.006s)
    === RUN   ns-disallowed-deploy
    --- PASS: ns-disallowed-deploy      (0.004s)
    === RUN   ns-allowed-deploy
    --- PASS: ns-allowed-deploy (0.004s)
--- PASS: privileged-namespace  (0.024s)
ok      gktemplates-src/aro-deny-privileged-namespace/suite.yaml        0.024s
PASS

[opa test] -> gktemplates-src/library/common.rego gktemplates-src/library/*.rego
[gator verify] -> gktemplates-src/library
PASS


Error: MAC Invalid in CI

There are intermittent CI failures with this error.  What can cause it?
Example: https://travis-ci.com/ipfs/interop/jobs/286758788
  1) pubsub
       publish from JS, subscribe on Go
         "before all" hook: connect for "should exchange ascii data":
     HTTPError:
    Error: MAC Invalid: f39fb68d3b3b8804823a153d1173f29f160588d02ff8715f0a58edc437a1fe4b != 3954fc7fb2c158dce5a18a26b5042fc502dcd480ad04da8c428a8da276aed2b2
        at C:/Users/travis/build/ipfs/interop/node_modules/ipfs/node_modules/libp2p-secio/src/etm.js:33:15
      at errorHandler (node_modules\ipfs-http-client\src\lib\error-handler.js:41:17)
      at process._tickCallback (internal/process/next_tick.js:68:7)

We've seen this intermittently in the past. This is occurring when we are reading in messages, so I am thinking this may be do to a remote reset on the stream while we're reading. Do you know if MDNS is enabled for the tests that are failing intermittently? Since this is in the before all hook, it could be a result of the tcp simultaneous dial issue in Go. I'm curious if both peers are attempting to dial one another, or if it's just a one way connection.

The tests use the test: true flag to ipfsd-ctl which means it uses the test profile so MDNS shouldn't be enabled, no.
https://github.com/ipfs/js-ipfs/blob/master/src/core/components/config.js#L75-L89


Request: AngularDart with Sentry.io (or similar service).

One awesome feature of Dart and AngularDart is centralized exception handling. Google has its own (internal) services for logging errors and stack traces that occur in production, so we haven't hit this issue, but this would be a great small project for some folks in the community to tackle.
Please contact me or post on this thread if you are interested in contributing.

@zoechi created a nifty sentry.io raven js interop client for a project we're working on. We open sourced it & you can find it here: https://github.com/jimmyff/raven.dart
It's working however I believe there is currently an issue with building due to dartojs & the js interop. Also I should probably move it under my organisations github profile rather than having it sitting on my personal one.

Cool! Let me know if you have any questions maybe I can help.

FYI, I'm going to try and wire up Sentry.io for Flutter apps. I think I might have to write a pure Dart client (hopefully this is not too hard 🤞). Perhaps there's room for collaboration. I'll report back as I find out more.

That would be great!
On Mon, Jun 19, 2017, 3:44 PM Yegor<EMAIL_ADDRESS>wrote:

FYI, I'm going to try and wire up Sentry.io for Flutter apps. I think I
might have to write a pure Dart client (hopefully this is not too hard 🤞).
Perhaps there's room for collaboration. I'll report back as I find out more.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/angular2/issues/413#issuecomment-309594237,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKQ7tY1-IIpgQw_GJAHZC4Lbr020KYYks5sFvnVgaJpZM4NmnxA
.

Update: I have a working pure Dart Sentry.io client: https://github.com/yjbanov/sentry
However, it does not yet work on the web because I haven't found a graceful way to handle request payload compression (https://github.com/yjbanov/sentry/issues/2).

Reopening this issue here, as the Flutter repo does not feel like the proper place to do discuss it.
Importing the Sentry lib in Angular Dart crashes the app :
Web console :
Uncaught SyntaxError: Unexpected token '<'
Webdev build :
build_web_compilers:entrypoint on web/main.dart: Skipping compiling volya_app_dart|web/main.dart with dart2js because some of its
transitive libraries have sdk dependencies that not supported on this platform:

sentry|lib/sentry.dart

https://github.com/dart-lang/build/blob/master/docs/faq.md#how-can-i-resolve-skipped-compiling-warnings

Any breaking changes since this was posted ?

I submitted a PR a long time ago on https://github.com/flutter/sentry/pull/22 (that I need to update)
But this repo https://github.com/leftyio/angular_sentry contain a working version for the last stable version of Angular.
It works even if sometimes, sentry failed to unminify stacktrace


[1.10.2] Many common ores from different mods not available/craftable as dimlets

An odd problem has arisen- we're trying to make an ore materials dimlet. Nickel, to be exact. But the workbench seems to only offer ores of certain mods: Vanilla, BoP, Tinkers, AE. For some reason the ores in Immersive Engineering, Mekanism, Forestry, Railcraft, and Thermal Foundation simply don't show up as options to build in the Workbench. Why might this be happening? Is this a CoFH issue? Here is a screenshot looking for nickel: https://gyazo.com/e49fba9b1b85b00e84a689494d0dd31c Even though they're not in there I tried putting an Absorber over the ores but it didn't collect them. Here's a ss with the versions of the mods we're running: https://gyazo.com/03e453e4d2add3d40b7e92f1a2d13032 This is on 1.10.2. Nickel is just an example, none of the ores from the previously mentioned mods are available. Neither are the liquids in those mods, as a matter of fact
We also tested this in single player, with just RFDims and Thermal Foundation, and found the ores to still be not available. Any ideas?

RFTools Dimensions does not by default add all materials (like it used to in 1.7.10). Materials have to be specifically added to the config:
https://wiki.mcjty.eu/mods/index.php/RFTools_Dimensions

Thanks. I've read through the page. We have not previously done any custom modifications to this config. Would these commands be correct? -
To add all of the above ores/liquids of the previously mentioned mods in one sweep, instead of doing a line for each item... :
{     "filter": {       "mod": "forestry",       "type": "material"     },     "settings": {       "worldgen": true,       "dimlet": true     }   }, {     "filter": {       "mod": "thermalfoundation",       "type": "liquid"     },     "settings": {       "worldgen": true,       "dimlet": true     }   },
etc? All above the marker line, of course

McJty, your linked page about the mod is no longer available.  Is this information still available somewhere?

https://wiki.mcjty.eu/mods/index.php?title=RFTools_Dimensions

Thank you for the fast response McJty.  Much appreciated.  Keep up the good work.  Have a great xmas.

@Jadziyah Do those instructions solve this?


[Event Request] Table 5050 Contact - OnAfterCreateCustomerLink

The existing OnAfterCreateCustomerLink could have an additional "Customer" parameter, so subscribers directly know which customer the contact was linked to.
procedure CreateCustomerLink()
var
    Cust: Record Customer;
    ContBusRel: Record "Contact Business Relation";
begin
    [...]
    OnAfterCreateCustomerLink(Rec, Cust);
end;

The extended publisher with the new Customer parameter:
[IntegrationEvent(false, false)]
local procedure OnAfterCreateCustomerLink(var Contact: Record Contact; Customer: Record Customer)
begin
end;

Thanks!

Since the corresponding CreateVendorLink function does not get the Vendor and I would like the events to have the same signature, I closed this request.


Update aws-core, http-client-spi, ... to 2.17.119

Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

from 2.17.118 to 2.17.119.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #685.


redis-status: Does the Plugin evaluate the Statistics Data in a Cluster correctly?

In GitLab by @markuslf on Jan 24, 2022, 11:50

Not currently planned.


Bug: Version 0.3.0 on Crates.io - the trait From<XlsxError> is not implemented for polars::prelude::PolarsError

Current behavior
Looks like cargo check / build is returning a trait related error when tying it use version 0.3.0 and 0.2.0 on Crates.io.
https://crates.io/crates/polars_excel_writer/versions
Error:
$ cargo check
    Checking polars_excel_writer v0.3.0
error[E0277]: `?` couldn't convert the error to `polars::prelude::PolarsError`
   --> /home/adelg003/.cargo/registry/src/index.crates.io-6f17d22bba15001f/polars_excel_writer-0.3.0/src/xlsx_writer.rs:468:33
    |
468 |         self.workbook.save(path)?;
    |                                 ^ the trait `From<XlsxError>` is not implemented for `polars::prelude::PolarsError`
    |
    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
    = help: the following other types implement trait `From<T>`:
              <polars::prelude::PolarsError as From<regex::error::Error>>
              <polars::prelude::PolarsError as From<std::io::Error>>
              <polars::prelude::PolarsError as From<polars::error::ArrowError>>
    = note: required for `Result<(), polars::prelude::PolarsError>` to implement `FromResidual<Result<Infallible, XlsxError>>`

Expected behavior
When installing polars_excel_writer from crates.io, the versions available should be free of the From<XlsxError> is not implemented for polars::prelude::PolarsError error.
Sample code to reproduce
Use the following version in the Cargo.toml:
polars_excel_writer = "0.3.0"

or
polars_excel_writer = "0.2.0"

Environment
- polars_excel_writer version: 0.3.0 and 0.2.0
- rustc version: rustc 1.74.0 (79e9716c9 2023-11-13)
- Excel version: N/A
- OS: Tested on Manjaro Linux and Mac (Intel version)

Any other information
Ironically, it looks like the current commit (31f09fb3560543a8cdd5bbbfe3eb7a2d3ffc5467) in the main branch does not have this issue.
Version with error from Crates.io:
polars_excel_writer = "0.3.0"

and
polars_excel_writer = "0.2.0"

(0.1.0 does not have this error)
Working version from github:
polars_excel_writer = { git = 'https://github.com/jmcnamara/polars_excel_writer' }

May make sense to update the version present in crates.io with what is current in the main branch and yank versions 0.2.0 and 0.3.0.
If more information is needed, please let me know.

Thanks for the report.
I fixed the underlying issue in rust_xlsxwriter (https://github.com/jmcnamara/rust_xlsxwriter/commit/ef6cac015369e8121a4f464951f566ecb6aeb835) back in September and, as you spotted, I prepped polars_excel_writer but somehow forgot to release it.
I'll update to the latest versions and recheck and I'll push out a version tonight.

I've pushed an updated version (v0.4.0) that is pegged to Polars v0.33.2 (same as rust_xlsxwriter). There may be some issues with the latest Polars and rust_xlsxwriter which I need to look into.
I'll leave this open until I do that but at least v0.4.0 should work for now. Let me know if you have any issues.

I've released v0.50.0 which ties polars_excel_writer to the Polars v0.35.4 which is the version supported by rust_xlsxwriter. It fixes this issue.


testdata

Hi, where can I get the testdata files?
% grep -r testdata .
./incremental_test.go:	java, err := ioutil.ReadFile("testdata/test.java")
./gpeg_test.go:// These require `bible.txt` in the testdata directory.
./gpeg_test.go:	data, err := ioutil.ReadFile("testdata/bible.txt")
./re_test.go:	json, err := ioutil.ReadFile("testdata/test.json")
./re_test.go:	java, err := ioutil.ReadFile("testdata/test.java")

I had initially not committed them because the testdata files are somewhat large, but it isn't really a big deal, so I have committed them now.


Missing explanation of 'dynamic' data type

This article mentions some values will now be stored a 'dynamic' data type.  How do we access / reference such data?  It would help to provide some instruction, example, or link to information on how to deal with this new TSI data type.  I can't find info anywhere about it, so our data is now inaccessible in this new TSI environment.

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

ID: 1b6d4386-1adb-3a49-d62d-317b231e54ec
Version Independent ID: 2cba9b4a-428c-1da4-3db0-e76f17fea5e4
Content: Upcoming changes to the ingestion and flattening rules in Azure Time Series Insights Gen2
Content Source: articles/time-series-insights/ingestion-rules-update.md
Service: time-series-insights
GitHub Login: @lyrana
Microsoft Alias: lyhughes

Hi @rgamage, in order for your complex JSON to be flattened as it was before the change and not stored whole as a dynamic type you'll need to make sure that your time series ID and/or timestamp is configured correctly with the new "." delineator, take a look at the examples here: https://docs.microsoft.com/en-us/azure/time-series-insights/concepts-json-flattening-escaping-rules#understanding-the-dual-behavior-for-arrays
If you provide an example of your JSON shape, not necessarily the actual values but just the general shape such as
{
timestamp:
series: [
{  barId:
value:
}
]
}
we can work through this on the thread here.

Thank you for your response.  I've provided a sample of our data that includes two sections.  One section ('Bag Levels') is working (we can display the data in TSI explorer), and the other ('Valves') is now broken with the new TSI environment, due to the conversion to 'dynamic' data type, which is not allowed as a Type in the TSI explorer.  We need a way to display our Valve data, but it is inside an array.
We can display, for example, the "Aux 1 Weep" bag level by defining a data type with this parameter:
$event.Data.BagLevels['Aux 1 Weep'].Double
This works fine.  Note we are using .Double notation, NOT _double notation as described in the docs.
However, if we want to display the position of valve 1, we don't know how.  This value expression used to work, but now no longer does:
$event.Data.Valves['ValvePosition'].Double
Our TimeSeriesId is three parts:
iothub-connection-device-id, PlatformName, SubSystemName
Our time index is SampleTime
If you can give us guidance on how we would define a Type in the TSI environment to display the Valve properties, it would be much appreciated.
[{
    "EnqueuedTimeUtc": "2020-08-17T22:35:47.8350000Z",
    "Properties": {
        "SystemName": "$twin.tags.systemName"
    },
    "SystemProperties": {
        "connectionDeviceId": "Edge-TG-1",
        "connectionModuleId": "forwardingmodule",
        "connectionAuthMethod": "{\"scope\":\"module\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
        "connectionDeviceGenerationId": "637311345840222553",
        "contentType": "application/json",
        "contentEncoding": "utf-8",
        "enqueuedTime": "2020-08-17T22:35:47.8350000Z"
    },
    "Body": [
        {
            "SampleTime": "2020-08-17T15:35:17.3846226-07:00",
            "PlatformName": "ROV",
            "SubSystemName": "FSM",
            "Data": {
                "DataType": 8,
                "Profile": 1,
                "IsOverrideLockoutsEnabled": false,
                "BagLevels": {
                    "Aux 1 Trash, Starboard": 9.944108128547668,
                    "Aux 1 Weep": 32.60530233383179,
                    "Aux 2 Weep": 31.71919286251068,
                    "Aux 1 Glycol, Port": 89.67241644859314,
                    "Aux 1 Glycol, Starboard": 93.71660351753235,
                    "Aux 1 Trash, Port": 9.944108128547668
                }
            }
        },
        {
            "SampleTime": "2020-08-17T15:35:17.3846226-07:00",
            "PlatformName": "ROV",
            "SubSystemName": "ValvepacksModular_12_Station",
            "Data": {
                "DataType": 15,
                "Type": 2,
                "Name": "Modular_12_Station",
                "ID": 201,
                "ValvepackState": null,
                "Valves": [
                    {
                        "ValveNumber": 1,
                        "ValveState": 1,
                        "ValvePosition": 0.0,
                        "PressureMode": null,
                        "PressureSetpoint": null
                    },
                    {
                        "ValveNumber": 2,
                        "ValveState": 1,
                        "ValvePosition": 0.0,
                        "PressureMode": 1,
                        "PressureSetpoint": 0.0
                    }
                ]
            }
        }
    ]
}
]

@dmdenmsft take a look at the above payload when you have the chance.
Hi @rgamage,
Yes the above payload is problematic if you require that the "Valves" array be flattened. Typically when we see time series batched within objects of an array there is also a unique identifier for the tag that is within the objects--which has been set up as the TS ID (or part a composite TS ID). That is our signal to flatten/unroll the array and create multiple events/rows in your storage account.
I have a few questions for you, and if you prefer that we do a Teams meeting you can submit a ticket via the Azure portal and mention this GitHub question. I'll then be able to view your contact information and can set up a meeting.
-Is this payload "locked" or do you have the ability to transform it at the edge before reaching TSI?
-I see your PlatformName is ROV in both events, are there other possible values for PlatformName such that it must be part of the unique identifier for tags? Or is this a static value that can be removed from the composite TS ID?
-We're interested in hearing any use-cases you have around array analytics, ie, would you ever want to create a derived tag that would sum or aggregate all of the Valves' pressure set points for the modular 12 station for example?

Thanks for your response.  Yes I would like to set up a meeting to better
understand our options.  Regarding the payload format, it is not locked
yet, we can still make some adjustments in the structure of the data.  Yes
we need the PlatformName as one of the elements of the composite key, it is
used to separate instances into different hierarchies depending on
platform.  We need all of our three keys, so we can't add another one for
the purpose of valve enumeration.  But we could perhaps flatten the valve
data in some way before it reaches the Hub.
I don't foresee any need to aggregate the valve pressures, but we have many
other data items in our environment that we may want to aggregate sometime
in the future.  The Valve data is the only one having this array of objects
issue.
So from your answer I assume that since the data is not being flattened and
is being stored as 'dynamic', does that mean it is inaccessible in terms of
displaying it in the TSI environment?  If so, this is confusing to me, as this
article
https://docs.microsoft.com/en-us/azure/time-series-insights/concepts-supported-data-types
says this about Dynamic data types: "Payload properties stored as this
type are accessible through the Azure
Time Series Insights Gen2 Explorer and the GetEvents Query API."
Apparently that is not the case?
On Wed, Aug 19, 2020 at 8:51 PM lyrana<EMAIL_ADDRESS>wrote:

@dmdenmsft https://github.com/dmdenmsft take a look at the above
payload when you have the chance.
Hi @rgamage https://github.com/rgamage,
Yes the above payload is problematic if you require that the "Valves"
array be flattened. Typically when we see time series batched within
objects of an array there is also a unique identifier for the tag that is
within the objects--which has been set up as the TS ID (or part a composite
TS ID). That is our signal to flatten/unroll the array and create multiple
events/rows in your storage account.
I have a few questions for you, and if you prefer that we do a Teams
meeting you can submit a ticket via the Azure portal and mention this
GitHub question. I'll then be able to view your contact information and can
set up a meeting.
-Is this payload "locked" or do you have the ability to transform it at
the edge before reaching TSI?
-I see your PlatformName is ROV in both events, are there other possible
values for PlatformName such that it must be part of the unique identifier
for tags? Or is this a static value that can be removed from the composite
TS ID?
-We're interested in hearing any use-cases you have around array
analytics, ie, would you ever want to create a derived tag that would sum
or aggregate all of the Valves' pressure set points for the modular 12
station for example?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/61118#issuecomment-676974634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAGYEFB53WBMRIE4JVGL33SBSMV5ANCNFSM4QEFEPWQ
.

Hi @rgamage since this is a public thread I won't include my e-mail address here, but if you reach out either via LinkedIn or by submitting a support ticket via the Azure portal I'll set up a meeting.
Yes, it looks like there is an error in the data types table, that sentence should read "...Explorer only via the GetEvents API." Currently dynamic types cannot be plotted, but the value is visible when highlighting a region and selecting Explore raw events. Users with custom front-end applications can also retrieve the values and parse them client-side.

@rgamage was a CSS ticket submitted and if so do you have the ticket ID? How should we contact you?

Hi @rgamage,
Below is a modified JSON payload that might work for your scenario. To trigger array flattening, either one or more TS IDs or the event source timestamp should be within the objects of the array. To achieve that I moved "SampleTime" down into "Data," but could have selected "PlatformName" or "SubSystemName" instead. Admittedly, "SampleTime" is now being duplicated by n number of valves that each station has, but at least you'll now get an event/row created in your storage account for each ValveNumber. I'm unfamiliar with your solution but I made a simple hierarchy and a Valve Type as well as a FSM Type (JSON for FSM below). You can play around with categorical variables to set different colors for the different valve states. Still, this solution feels incomplete to me since I would assume that you consider each valve to be a tag and thus it should be part of your environment's TS ID as a unique identifier?
Another question--are "DataType", "Type", "Name" and "ID" static descriptive fields? If so, you can configure them to be instance fields for ValvepacksModular_12_Station and remove them from every telemetry message.
Let's keep this issue open until the doc updates propagate
[     {         "PlatformName": "ROV",         "SubSystemName": "FSM",         "Data": {             "SampleTime": "2020-08-17T15:35:17.3846226-07:00",             "DataType": 8,             "Profile": 1,             "IsOverrideLockoutsEnabled": false,             "BagLevels": {                 "Aux 1 Trash, Starboard": 9.944108128547668,                 "Aux 1 Weep": 32.60530233383179,                 "Aux 2 Weep": 31.71919286251068,                 "Aux 1 Glycol, Port": 89.67241644859314,                 "Aux 1 Glycol, Starboard": 93.71660351753235,                 "Aux 1 Trash, Port": 9.944108128547668             }         }     },     {         "PlatformName": "ROV",         "SubSystemName": "ValvepacksModular_12_Station",         "Data": [             {                 "SampleTime": "2020-08-17T15:35:17.3846226-07:00",                 "DataType": 15,                 "Type": 2,                 "Name": "Modular_12_Station",                 "ID": 201,                 "ValvepackState": null,                 "ValveNumber": 1,                 "ValveState": 1,                 "ValvePosition": 0.0,                 "PressureMode": null,                 "PressureSetpoint": null             },             {                 "SampleTime": "2020-08-17T15:35:17.3846226-07:00",                 "DataType": 15,                 "Type": 2,                 "Name": "Modular_12_Station",                 "ID": 201,                 "ValvepackState": null,                 "ValveNumber": 2,                 "ValveState": 1,                 "ValvePosition": 0.0,                 "PressureMode": 1,                 "PressureSetpoint": 0.0             }         ]     } ]

{   "id": "4bad9298-b12e-4d1c-a5fd-0f8cd926431a",   "name": "FSM",   "variables": {     "Aux 1 Trash, Starboard": {       "kind": "numeric",       "value": {         "tsx": "$event.Data.BagLevels['Aux 1 Trash, Starboard'].Double"       },       "aggregation": {         "tsx": "avg($value)"       }     },     "Aux 2 Weep": {       "kind": "numeric",       "value": {         "tsx": "$event.Data.BagLevels['Aux 2 Weep'].Double"       },       "aggregation": {         "tsx": "avg($value)"       }     },     "Aux 1 Weep": {       "kind": "numeric",       "value": {         "tsx": "$event.Data.BagLevels['Aux 1 Weep'].Double"       },       "aggregation": {         "tsx": "avg($value)"       }     },     "Aux 1 Glycol, Port": {       "kind": "numeric",       "value": {         "tsx": "$event.Data.BagLevels['Aux 1 Glycol, Port'].Double"       },       "aggregation": {         "tsx": "avg($value)"       }     },     "Aux 1 Glycol, Starboard": {       "kind": "numeric",       "value": {         "tsx": "$event.Data.BagLevels['Aux 1 Glycol, Starboard'].Double"       },       "aggregation": {         "tsx": "avg($value)"       }     }   } }

I have created a support ticket in the Azure portal, request<PHONE_NUMBER>00044
Thanks,
Randy

@rgamage  We hope your issue is resolved as per the #SR<PHONE_NUMBER>00044
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Add tests

[ ] Add decryption tests for vectors generated by the reference implementation.
[x] Set up CI (AppVeyor supports Windows).
[x] Run the tests under Valgrind and see what shakes out.

Now that we have #14, we can do a full integration test. Additionally, the Node library can dump test vectors, which the Python library uses to test itself. A set of static test vectors would be useful for testing Firefox's implementation, too.

We have integration tests now, plus tests for valid and invalid inputs. I think the bulk of the work is done, but we can always add more.


FancyZones does not work for some programs after update

Microsoft PowerToys version
0.59.1
Running as admin

[ ] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
FancyZones does not work for some (not all) programs after the recent update. I can launch the layout editor, but when I hold the shift key to activate the zones, the zones do not show up.
✔ Expected Behavior
The zone shows up and resize the window when I hold the shift key to activate the zones.
❌ Actual Behavior
The zone does not show up when I hold the shift key
Other Software
The 2 programs I have problems with are TIM and Onmyoji.
Solution
It gets fixed by enabling Allow popup windows snapping.
No response

related to this:

https://github.com/microsoft/PowerToys/issues/18786#issuecomment-1158359960

?

related to this:

FancyZones not working on specific applications #18786 (comment)

?

Hi DanteDT,
Thanks for your reply. You are right. It actually launches but just does not work on some programs. Previously I just tried it on one specific 3rd-party program so I didn't realize it works for other programs.
On my computer, it does work for Edge.
And it also works for a lot of 3rd party programs I installed from download: Chrome, Firefox portable, Steam, Sublime, uTorrent ...
But it didn't work for a few other programs. I may run further testing to figure out which programs do not work with FZ.

What programs are causing the issue? Do you have Allow child windows snapping and Allow popup windows snapping options enabled?
/needinfo

What programs are causing the issue? Do you have Allow child windows snapping and Allow popup windows snapping options enabled? /needinfo

Thank you very much! By enabling Allow popup windows snapping  it works now!
Allow popup windows snapping does not affect it.
I didn't change these 2 options, and I didn't remember if they were checked in the previous version.
The 2 programs I have problems with are TIM and Onmyoji. They are both Chinese programs, but not all Chinese programs have this problem.
So they are treated as popup windows rather than programs?

As in my prior comment, linked above, I remain surprised that reports differ so much. I have now enabled (still running PT as User , not Admin):

Allow popup windows snapping
Allow child windows snapping

Nonetheless with v0.59.1, FZ "work" (with active Shift + dragging) for

MS/Windows apps like Explorer, Edge, Photos, Word;
3rd party apps via the MS Store like iCloud; EarTrumpet

FZ do not work for

3rd-party app that I install from download, like Firefox, Signal, Notepad++, RStudio, Sonos, KeePass ...

As in my prior comment, linked above, I remain surprised that reports differ so much. I have now enabled (still running PT as User , not Admin):

Allow popup windows snapping
Allow child windows snapping

Nonetheless with v0.59.1, FZ "work" (with active Shift + dragging) for

MS/Windows apps like Explorer, Edge, Photos, Word;
3rd party apps via the MS Store like iCloud; EarTrumpet

FZ do not work for

3rd-party app that I install from download, like Firefox, Signal, Notepad++, RStudio, Sonos, KeePass ...

It's weird. Seems like the problem on your side is different than mine.
I corrected my previous reply. Enabling Allow popup windows snapping is the one that works for me. Allow child windows snapping makes no difference. I also run as general user, not admin.
Maybe collaborator SeraphimaZykova will have a better idea about the issue?
Attached is my setting for your reference.

Thanks for that. I synced my FZ options. To match yours, I had to:

activate show zones on all monitors..., and
deactivate Allow child windows snapping

I still get the same partial FZ functionality.
Mainly Win/MS apps and MS Store apps "work".
FZs do not appear on Shift-drag for most apps that

I install from download, or
that do not require installation, like SysInternals Autoruns and Process Explorer.

I now add "most" since I've found one that I can Shift+drag to FZs: Foxit Reader ... it's a short list
I can't recognize any other connection between apps that work and don't work with FZ on my system

Hi everyone.

So they are treated as popup windows rather than programs?

Some programs have the WS_POPUP style even on the main window. This is done by the developers of that program. So Allow popup windows snapping is required for FancyZones to be able to snap such windows. Am I getting it right that enabling this option resolved the problem for you @YingfenYi?
@DanteDT it looks like you have a different problem, can you please open another issue attaching there your bug report?

Please see https://github.com/microsoft/PowerToys/issues/18975
I think the conflict that disables FZ for me is a default "compatibility" setting for most of my apps, to run a program as administrator. I don't think I set that compatibility mode, myself. I think most installations and portable apps default to this (???)


DDPB-3281 - Delete Lay users - remove conditions

Purpose
Removes restrictions around deleting deputies with clients and reports and removes delete permissions from admins.
Fixes DDPB-3281
Approach
I was going to leave the fallback text in so super admin users got a message saying they can't delete themselves but I didn't think this added much value so I've removed it completely.
For other Users they just won't see the button now which, as we've actively removed this permission, seemed like the right thing to do.
Checklist

[x] I have performed a self-review of my own code
[ ] I have updated documentation (Confluence/ADR/tech debt doc) where relevant
[x] I have added tests to prove my work
[ ] The product team have approved these changes

I've been through the scenario of a Deputy having a client with a single report and multiple reports and in both cases, the User, Client and all Reports have been deleted successfully. Am I missing any other relationships linked to any of the entities?

No I think that's it, just wanted to make sure we understood what would happen since I think the cascade triggers are a bit hidden :)


chef vault refresh and chef-client 12.4.0

I have already opened an issue here:
https://github.com/Nordstrom/chef-vault/issues/175
Not sure where it has to be fixed.

I believe this is fixed now.


Take System dlls from testhost folder

Description
For TestHostNetFramework folder, embed dlls from the various net framework folders of the testhost projects rather than from netstandard library package.
Related issue
Relates to AB#1843962

Tested on windows and on linux and can run tests in both.
n@RDESKTOP:~$ dotnet exec /mnt/s/p/vstest2/artifacts/packages/Debug/Shipping/Microsoft.TestPlatform.CLI.17.8.0-dev/conte
ntFiles/any/netcoreapp3.1/vstest.console.dll t/mstest2/bin/Debug/net472/mstest2.dll
Microsoft (R) Test Execution Command Line Tool Version 17.8.0-dev (x64)
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.

Passed!  - Failed:     0, Passed:     1, Skipped:     0, Total:     1, Duration: 111 ms - mstest2.dll (net472)
n@RDESKTOP:~$

Hi
Will this fix make it into .NET 8? I tested with the latest daily SDK for .NET 8 RC1, and it still fails.
Microsoft (R) Test Execution Command Line Tool Version 17.7.0-preview-23317-01+919ec8358820228cc5fa77ef000051c1d6875399 (x64)
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
Testhost process for source(s) '/home/runner/work/grpc-dotnet/grpc-dotnet/test/Grpc.Core.Api.Tests/bin/Release/net472/Grpc.Core.Api.Tests.dll' exited with error: Unhandled Exception:
System.TypeInitializationException: The type initializer for 'Microsoft.VisualStudio.TestPlatform.ObjectModel.EqtTrace' threw an exception. ---> System.TypeLoadException: Could not load type of field 'Microsoft.VisualStudio.TestPlatform.ObjectModel.PlatformEqtTrace:TraceSourceLevelsMap' (1) due to: Could not resolve type with token 01000019 from typeref (expected class 'System.Diagnostics.TraceLevel' in assembly 'System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089') assembly:System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089 type:System.Diagnostics.TraceLevel member:(null)
   --- End of inner exception stack trace ---
  at Microsoft.VisualStudio.TestPlatform.TestHost.Program.Main (System.String[] args) [0x00033] in <e7703d16410b4b2f944f9c05b9b253d1>:0
Error:  FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'Microsoft.VisualStudio.TestPlatform.ObjectModel.EqtTrace' threw an exception. ---> System.TypeLoadException: Could not load type of field 'Microsoft.VisualStudio.TestPlatform.ObjectModel.PlatformEqtTrace:TraceSourceLevelsMap' (1) due to: Could not resolve type with token 01000019 from typeref (expected class 'System.Diagnostics.TraceLevel' in assembly 'System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089') assembly:System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089 type:System.Diagnostics.TraceLevel member:(null)
   --- End of inner exception stack trace ---
  at Microsoft.VisualStudio.TestPlatform.TestHost.Program.Main (System.String[] args) [0x00033] in <e7703d16410b4b2f944f9c05b9b253d1>:0
. Please check the diagnostic logs for more information.

I see the version is 17.7.0 while the version that you tested is 17.8.0.


Transparent endpoint HTTP CONNECT handling is broken #339

Doneness:

[X] Build is okay - I made sure that this change is building successfully.
[ ] No Bugs - I made sure that this change is working properly as expected. It doesn't have any bugs that you are aware of.
[ ] Branching - If this is not a hotfix, I am making this request against develop branch

:white_check_mark: Build Titanium-Web-Proxy 3.0.391 completed (commit https://github.com/justcoding121/Titanium-Web-Proxy/commit/e8cce9c5fa by @honfika)


Replace run back to submit

This is a reminder before aiida_1.0_migration branch can be merged to the develop
Currently, we are experiencing problem on AiiDA lab server: when using submit AiiDA is not able to find a work chain even though it is in the PYTHONPATH (see  https://github.com/aiidateam/aiida-core/issues/3189).
To temporary fix this problem we replaced all submit calls with run. We need to replace it back once the https://github.com/aiidateam/aiida-core/issues/3189 is fixed.

run was replaced by submit in SubmitButton widget since the issue aiidateam/aiida-core#3189 is fixed.


Color neutral

Description

Colors for this won't match designs due to the 25 shade being too adrk. We need a lighter shade or to adjust the algorithm that generates the scale.
We can't use an arbitrary scale in foundations/colors like we used to as it's not consistent with the shade generation.

Checklist

[ ] npm test runs as expected.
[ ] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[ ] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/backend
[ ] @clerk/chrome-extension
[ ] @clerk/clerk-js
[ ] @clerk/clerk-expo
[ ] @clerk/fastify
[ ] gatsby-plugin-clerk
[ ] @clerk/localizations
[ ] @clerk/nextjs
[ ] @clerk/clerk-react
[ ] @clerk/remix
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/themes
[ ] @clerk/types
[ ] build/tooling/chore

Closing in favour of #2746


fix mistake in the template/haproxy.cfg.j2

There is a mistake in template of haproxy

This is already handled by https://github.com/ceph/ceph-ansible/pull/5028


Related entities not persisted when using Collection.add()

Bug description
When fetching a record from the database via orm.em.findOne() and adding a relation record to it, using collection.add() the added relation mapping is not persisted to the database.
Stack trace
No stack trace was provided. MikroOrm thinks it has persisted everything correctly.
To Reproduce
In this example we assume a Book can only have one Author, but an author can have many books.
Steps to reproduce the behavior:

Create two entities with a OneToMany and ManyToOne relation to each other.
Fetch the owning side, eg. using author = orm.em.findOneOrFail(Author, {'name': 'William Shakespeare'}, ['books'])
Create a new inverse side eg: book = new Book('Romeo and Juliet', 'Some world renown content')
Add the inverse side to the owning side, eg: author.books.add(book)
Persist both entities (just to be sure, this step should not be necessary) orm.em.persist(author); orm.em.persist(book)
Flush the entity manager await orm.em.flush()
Create a new ORM instance with MikroOrm.init(...) (or restart the node process)
Query the author author = orm.em.findOneOrFail(Author, {'name': 'William Shakespeare'}, ['books'])
Log the books of the author console.log(author.books.getAll()). This returns an empty array.

Expected behavior

To fill the relation reference eg: authorId in the Book collection
To get an array containing the Book we just added, using author.books.getAll()

Versions

Dependency
Version

node
12.0.0

typescript
3.9.8

mikro-orm
4.4.2

driver
MongoDriver (also tested with MySQL)

Please provide the reproduction as code, including the entity definitions, ideally as a single file test case.

Query the author author = orm.em.findOneOrFail(Author, {'name': 'William Shakespeare'}

Here you say you do not populate the books property, why do you expect it to contain something? It should actually throw that it is not populated.

Here you say you do not populate the books property, why do you expect it to contain something? It should actually throw that it is not populated.

I'm sorry, didn't add it to the issue, but tested it with author = orm.em.findOneOrFail(Author, {'name': 'William Shakespeare'}, ['books'])

There are many tests that would match your reproduction, they all pass. My guess is some issue in entity definition, the relation needs to be properly linked.

To fill the relation reference eg: authorId in the Book collection

This sounds a bit like you are using mapToPk? If so, you are responsible to fill the FK. Propagation works only with regular relations.
Also ensure you have aligned ORM package versions, sometimes weird things happen if you have multiple copies of the ORM installed.

Add the inverse side to the owning side, eg: author.books.add(book)

This is actually the opposite, here you are adding the owner to the inverse side. Author is the inverse, book is the owner - where the FK is stored.

Here are two Entity definitions, set-up as described in: https://mikro-orm.io/docs/defining-entities
import {Entity, ManyToOne, PrimaryKey, Property} from "@mikro-orm/core";
import {Author} from "./Author";

@Entity()
export class Book {
    @PrimaryKey()
    public id: number;

    @ManyToOne(() => Author, {nullable: true})
    public author?: Author;

    @Property()
    public title!: string;

    @Property()
    public content!: string;

    constructor(title: string, content: string)
    {
        this.title = title;
        this.content = content;
    }
}

import {Collection, Entity, OneToMany, PrimaryKey, Property} from "@mikro-orm/core";
import {Book} from "./Book";

@Entity()
export class Author
{
    @PrimaryKey()
    public id: number;

    @Property()
    public name: string;

    @OneToMany(() => Book, (book) => book.author)
    public books: Collection<Book> = new Collection<Book>(this);

    constructor(name: string)
    {
        this.name = name;
    }
}

First we create a new Author in our database:
orm.em.persistAndFlush(new Author('William Shakespeare'));

Then (restarting the node process, so the UoW is empty), we query that Author and add a Book to it.
const author = await orm.em.findOneOrFail(Author, {name: 'William Shakespeare'}, ['books']);
const book = new Book('Romeo and Juliet', 'Some world renown content');

author.books.add(book);

orm.em.flush();

Then, again in a new node process we query the Author again and want to get it's books:
const author = await orm.em.findOneOrFail(Author, {name: 'William Shakespeare'}, ['books']);

console.log(author.books.getItems());

This now logs an empty array, while an array with the Book we just created and added to the author is expected.

You are missing two awaits in your code. This is passing for me:
import { Collection, Entity, ManyToOne, MikroORM, OneToMany, PrimaryKey, Property } from '@mikro-orm/core';
import { SqliteDriver } from '@mikro-orm/sqlite';

@Entity()
export class Book {

  @PrimaryKey()
  public id!: number;

  @ManyToOne('Author', { nullable: true })
  public author?: any; // to get around early usage

  @Property()
  public title!: string;

  @Property()
  public content!: string;

  constructor(title: string, content: string) {
    this.title = title;
    this.content = content;
  }

}

@Entity()
export class Author {

  @PrimaryKey()
  public id!: number;

  @Property()
  public name: string;

  @OneToMany(() => Book, book => book.author)
  public books = new Collection<Book>(this);

  constructor(name: string) {
    this.name = name;
  }

}

describe('GH issue 1438', () => {

  let orm: MikroORM<SqliteDriver>;

  beforeAll(async () => {
    orm = await MikroORM.init({
      entities: [Author, Book],
      dbName: ':memory:',
      type: 'sqlite',
      debug: true,
    });
    await orm.getSchemaGenerator().createSchema();
  });

  afterAll(() => orm.close(true));

  test('cascade persist with pre-filled PK and with cycles', async () => {
    await orm.em.persistAndFlush(new Author('William Shakespeare'));
    orm.em.clear(); // simulate new request

    const author = await orm.em.findOneOrFail(Author, { name: 'William Shakespeare' }, ['books']);
    const book = new Book('Romeo and Juliet', 'Some world renown content');
    author.books.add(book);
    await orm.em.flush();
    orm.em.clear(); // simulate new request

    const author1 = await orm.em.findOneOrFail(Author, { name: 'William Shakespeare' }, ['books']);
    expect(author1.books.getItems()).toHaveLength(1);
  });

});

Btw you said you are using mongo? If you want to have a non-ObjectId PK in mongo, you need to provide its value, only ObjectId will be autogerated.

Btw you said you are using mongo? If you want to have a non-ObjectId PK in mongo, you need to provide its value, only ObjectId will be autogerated.

Yes I'm using Mongo. Honestly, I don't really care how MikroOrm stores the relations in the database (that's why I'm using an ORM...).
Using your exact test it still returns an empty array on my machine. (also with the sqlite driver)

Using your exact test it still returns an empty array on my machine. (also with the sqlite driver)

Nope, it does pass in sqlite, as is. I did test it myself before sending it here. Do you really think I wrote the test case without trying? :]

Yes I'm using Mongo. Honestly, I don't really care how MikroOrm stores the relations in the database (that's why I'm using an ORM...).

Well as I said, for mongo you need to use ObjectId or provide the PK value yourself (e.g. uuid). Afaik mongo does not offer any numeric auto increment capabilities. Moreover you are required to use _id as the primary key name.
Those are requirements of mongo, nothing we can do about from the ORM point of view.
Here is a working mongo version:
import { Collection, Entity, ManyToOne, MikroORM, OneToMany, PrimaryKey, Property } from '@mikro-orm/core';
import { SqliteDriver } from '@mikro-orm/sqlite';
import { ObjectId } from 'bson';

@Entity()
export class Book {

  @PrimaryKey({ name: '_id' })
  public id!: ObjectId;

  @ManyToOne('Author', { nullable: true })
  public author?: any; // to get around early usage

  @Property()
  public title!: string;

  @Property()
  public content!: string;

  constructor(title: string, content: string) {
    this.title = title;
    this.content = content;
  }

}

@Entity()
export class Author {

  @PrimaryKey({ name: '_id' })
  public id!: ObjectId;

  @Property()
  public name: string;

  @OneToMany(() => Book, book => book.author)
  public books = new Collection<Book>(this);

  constructor(name: string) {
    this.name = name;
  }

}

describe('GH issue 1438', () => {

  let orm: MikroORM<SqliteDriver>;

  beforeAll(async () => {
    orm = await MikroORM.init({
      entities: [Author, Book],
      type: 'mongo',
      clientUrl: 'mongodb://localhost:27017,localhost:27018,localhost:27019/mikro-orm-test321?replicaSet=rs0',
      debug: true,
    });
  });

  afterAll(() => orm.close(true));

  test('cascade persist with pre-filled PK and with cycles', async () => {
    await orm.em.persistAndFlush(new Author('William Shakespeare'));
    orm.em.clear(); // simulate new request

    const author = await orm.em.findOneOrFail(Author, { name: 'William Shakespeare' }, ['books']);
    const book = new Book('Romeo and Juliet', 'Some world renown content');
    author.books.add(book);
    await orm.em.flush();
    orm.em.clear(); // simulate new request

    const author1 = await orm.em.findOneOrFail(Author, { name: 'William Shakespeare' }, ['books']);
    expect(author1.books.getItems()).toHaveLength(1);
  });

});

https://mikro-orm.io/docs/usage-with-mongo#defining-entity
Closing as it works correctly when having the PK defined correctly.


frontend not showing different lines for 3rd dimension (RLTA)

When plotting multiple car age brackets of RLTA in the frontend, it's not making them into different lines. Instead, we get a single line with multiple values per year:

This is a known bug. We don't have this issue for other purposes where we use a similar GUI, so I can have a quick look, but no guarantees.

Not sure why that is not working the existing version. I have just created a new branch with a new frontend tab call Results (Beta) where I have brought in all my frontend improvements from other version. This allows for feedback and comparison with the old version directly in the same version.


Made accordion out of the accessibility links

Related Issue #994
Closes #994
Description
Made the entire accessibility section into an accordion for better experience and better utilization of space
Screenshots

Checklist

[x] My code adheres to the established style guidelines of the project.
[x] I have included comments in areas that may be difficult to understand.
[x] My changes have not introduced any new warnings.
[x] I have conducted a self-review of my code.

before

After


Updated version and changelog for 2.4.0

@ferhatelmas I've also tagged it but I'm not sure about the process to release it, how would I do that?

Pushing the tag at this stage is good then create a release with the existing tag. You can add the relevant part from changelog to release description too.

This is correct because if you push the tag before, version will be old one.


[Bug]: Rails 7 not recovering from error state

Steps to reproduce the bug
The title is maybe off, feel free to change. I'll add STR below where they're easier to read.

Screenshot
No response
Expected behavior
No response
Additional Screenshots
No response
Environment
Development (docker)
Sandbox Used
No response
Version
8f904c50bc2d1f591b18bb112b7bc03b12dca632
Browser Used
No response

STR: I suspect the same will happen on any similar introduced code error, but here's a specific one:

Go to /signup. Reload the page as many times as you want, all is fine.
Go to the file app/views/users/_form.html.erb for that form and introduce a syntax error, like on line 43 change f.checkbox to f.checkbo.
Reload /signup. Get the expected error page saying undefined method 'check_bo' for an instance of ActionView::Helpers::FormBuilder.
Now fix the syntax error.
Reload /signup.

See the error can't add a new key into hash during iteration with backtrace
app/models/taxon_name_classification.rb:334:in `map'
app/models/taxon_name_classification.rb:334:in `descendants'

Reload that page again. Now see the error uninitialized constant TaxonNameClassification::Icn with the same backtrace.

Now you get the same error trying to load any page.

If I now ctrl-c in my terminal and restart everything then all is good again.

I think I understand the base error behind this (can't add a new key into hash during iteration).  Will try to refactor the method in question, that does a ton of map() etc.

@kleintom this may be resolved with the 0882c41 commit, if so please feel free to close.

Seems to be working, thanks!


Remove unneeded isFile call in UfsBaseFileSystem.getStatus

Use mdtest to get file status of 1000 files, by removing the isFile call, the get status performance can double.

Thanks for the improvement!

Thanks for reviewing! @jja725

alluxio-bot, merge this please


Wrong overlay when function IntelliSense hint block crosses the border of terminal on right

Does this issue occur when all extensions are disabled?:
This is an issue related to the IntelliSense information block and terminal display area. Without any extension almost all code completion is unavailable. So I guess I should answer Yes here.

VS Code Version: 1.63.2
OS Version: Windows 10 21H1

And I guess this configuration might also help:

Terminal > Integrated: Gpu Acceleration: off

Steps to Reproduce:

Put the integrated terminal to the right.
Trigger function IntelliSense at a line long enough so that hint block should float on the right end.
You should get a wrong overlay at Z direction now. The hint block is hard to see.

I've tried Python and C++. Both reproduced. So this should be an issue with VS Code instead of language IntelliSense extensions.

I can definitely reproduce. The terminal is rendering on top of other stuff 🤔

And the behavior differs with different Terminal > Integrated: Gpu Acceleration option.

Oh this only affects parameter hints, not the regular hover.

Looks good!


Incorrect gate counts for controlled gates

Controlled bloqs do not have correct costs when the subbloq provides specialized controlled versions for only a subset of CtrlSpec.
from qualtran import CtrlSpec
from qualtran.bloqs.basic_gates import XGate
from qualtran.resource_counting import get_cost_value, QECGatesCost

def show_cost(bloq):
    cost = get_cost_value(bloq, QECGatesCost())
    print(f"{bloq} :: {cost}")

show_cost(XGate().controlled(CtrlSpec(cvs=(1, 1))))
show_cost(XGate().controlled(CtrlSpec(cvs=(1, 0))))
show_cost(XGate().controlled(CtrlSpec(cvs=(1, 1, 1))))

Toffoli :: toffoli: 1
C[2][XGate] :: -
C[3][XGate] :: -

It's sortof impossible for it to know the accurate counts for a Controlled() atomic bloq.
But there's a bug nevertheless -- it shouldn't report successfully zero counts; it should raise an error

How does the t_complexity protocol handle these?

.t_complexity() raises a TypeError for the second and third examples.

fixed in #1313  -- this will cause an error to be raised. Open follow-up issues for missing costs for Controlled(Atomic)


Allow to configure some kubelet flags

Is your feature request related to a problem? Please describe.
In some occasions, a customer needs non-generic values for kubelet flags. Ex:

--registry-qps, --registry-burst For clusters were application have a high number of replicas (and big nodes that could hold several)  QPS limit is exceeded.
--allowed-unsafe-sysctls Some customer workloads need to harden the worker machines increasing default Kernel values. When these parameters are no safe, then kubelet flag should be added.
...

Describe the solution you'd like
The customer can define by cluster the whitelisted kubelet flags. It can be part of the cluster custom resource or a specific configuration file (configmap) that allows customer to establish the values.
Describe alternatives you've considered
Make these flags general can impact other clusters in terms of security or performance so it is discarded.
Additional context

Reading the official k8s docs I have found the Kubelet dynamic configuration can help us to achieve this.
cc/ @cornelius-keller

closing in favor of https://github.com/giantswarm/roadmap/issues/201

closing in favor of https://github.com/giantswarm/roadmap/issues/201


Implement Access Point mode for ESP32 MCUs

Implemented missing functions for third party ESP drivers.

Thanks for sharing your ESP32 WiFi function implementations.   The Amazon FreeRTOS team is currently in the process of transitioning to using Github as a primary development repository and unfortunately, there is still a little work to be done in determining the internal procedure for accepting public contributions.

We apologize that it takes so long to provide feedback. Our code base has changed a lot and now we accept external Pull Request.  I am sorry that I will close this Pull Request but you are welcomed to open a new one if needed.
For your reference, here are latest code:
https://github.com/aws/amazon-freertos/blob/master/vendors/espressif/esp-idf/components/esp32/include/esp_event.h#L47
https://github.com/aws/amazon-freertos/blob/master/vendors/espressif/boards/esp32/ports/wifi/iot_wifi.c

@morganatkinspa @qiutongs  I am trying to implement an AP for Esp32 DevKitC. The AP is successfully created but when I try to connect by laptop to the created AP , it get a max connection deauth error (log: wifi: max connection, deauth!).
I know this might not be the right place for this question, but just wanted to bring that up here too.


Added forward port for bug-fix-3.9/distinguish-query-options-warning-…

Scope & Purpose
Forward port for https://github.com/arangodb/arangodb/pull/16741

[x] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification

Checklist

[ ] Tests

[ ] Regression tests
[ ] C++ Unit tests
[ ] integration tests
[ ] resilience tests

[x] :book: CHANGELOG entry made
[ ] :books: documentation written (release notes, API changes, ...)
[ ] Backports

Related Information
(Please reference tickets / specification / other PRs etc)

[ ] Docs PR:
[ ] Enterprise PR:
[x] GitHub issue / Jira ticket: https://arangodb.atlassian.net/browse/BTS-721
[ ] Design document:

Only unrelated known failure on Windows in Jenkins.


docs: Add Careem to the user's list

Adding 'Samra Hanif'/Careem to the user's list

Incorporated


Hook up the batch edit page to the modules in the sidebar

In the admin UI, when a series is selected in the navigation, the page should show the batch edit mode page.

Committed an initial version, I'll be refining the hashchange behaviour but this is ready for an initial look

Coverage remained the same at 100.0% when pulling a3e7b232e3093894ad0ef636998b2cb9bc42c54d on bp323:batchEditPage into acbd7f1b262685d6a5c8e7913111c00b6f7aec96 on CUL-DigitalServices:master.

Reassigning to @Coenego for review.

Coverage remained the same at 100.0% when pulling d0b51297ea8c8350338ede795cb7a3de017ac69c on bp323:batchEditPage into acbd7f1b262685d6a5c8e7913111c00b6f7aec96 on CUL-DigitalServices:master.

Coverage remained the same at 100.0% when pulling aae2c1e88eb3a1c8a5d98e75300acbce9ca78650 on bp323:batchEditPage into acbd7f1b262685d6a5c8e7913111c00b6f7aec96 on CUL-DigitalServices:master.

I've bumped https://github.com/CUL-DigitalServices/grasshopper-ui/issues/124 to high priority as we'll need it for batch editing. More info in that issue.

Left a couple of minor comments. Reassigning to @bp323

Followed up on review, back to @Coenego for review.


Fail to identify the latest version for the dependencies which are hosted in custom maven repository repository

I'm using some java third-party dependencies which are hosted in Maven central and some are hosted in custom maven repository WSO2 Public Maven Repo.
I could observe that Dependabot fails to identify the third party dependencies which are hosted in the above URL. (Note that I have configured this URL in config variable)
Eg: org.wso2.orbit.com.fasterxml.jackson.core
I'm not sure whether I have to any other configuration. Could you please Advise on this?

Hi @mathuriga,
It looks to me like Dependabot is finding that dependency at the URL you've passed as a config variable, it's just that no update is available. Can this be closed?

Hi @greysteil ,
I'm have mentioned version 2.6.1.wso2v1 in the pom, but the latest version is 2.6.1.wso2v3 as per [1].
[1]

Awesome, thanks for using Dependabot, and don't ever hesitate to open issues if it can be better in any way 🙂


feat: incremental update

Fix #56.

[x] Support incremental for TS script snapshot
[x] Fix diagnosis range flicker with cache
[ ] Incremental parser (Will work on new PR)

Merge without implement incremental parser because need to refactor source map first.


Col as index to solution

Would you like to be added to the @rust-or organisation, @mmghannam ?
Yes, happily!


Support different types of asserts in tests.

Currently we have only one assert supported -- assert_eq. While we was working with arithmetics it was enough. But now, when we started work with memory operations, extends, etc, we need reacher set of asserts -- assert_fail, assert_trap, etc.

Since assert_fail, assert_trap are irrelevant due to migration to filetests is #229 resolving it?
cc @akashin

Since assert_fail, assert_trap are irrelevant due to migration to filetests is #229 resolving it?
cc @akashin

Yes, I think we can mark this as resolved.


Ardunio code won't compile due to AVR PROGMEM changes

Need to change lines such as PROGMEM const char* weekString[] to PROGMEM const char* const weekString[], otherwise, it'll report errors like:

error: variable 'weekString' must be const in order to be put into read-only section by means of 'attribute((progmem))'

Arduino wiki for AVR PROGMEM errors

Thanks for your reporting.
I'll fix it in a few days!

PROGMEM const char* const weekString[] = {"", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
PROGMEM const char* const ampmString[] = {"AM", "PM"};
use this instead


How to "Enable Information Protocol plugin"?

I've looked everywhere on how to enable it and have come up with nothing. I must be missing something obvious if all that was said was to "Enable Information Protocol plugin".
I am using wayfire 0.7.4-1 from the aur and built wf-info using the instructions. I added wf-info to plugins in the wayfire.ini.

Adding wf-info to [core] plugins is the same as enabling Information Protocol (which is what it is called in wcm). You should be able to run wf-info from a terminal now that you've enabled the plugin. Does this help?

Ah, that's what I already had. running wf-info in the terminal outputs Wayfire information protocol not advertised by compositor. Is wf-info plugin enabled?.

The only dependency is wf-info plugin enabled in wayfire. Can you upload the log from wayfire? Maybe the plugin is not loading for some reason.

Here is the log file.
log.txt

Here is the log file for running wf-info in the terminal.
log-wf-info.txt

Can you upload the output of WAYLAND_DEBUG=1 wf-info?

Text file for WAYLAND_DEBUG=1 wf-info.
wf-info-debug.txt

It's not advertising "wf_info_base" and I'm not sure why. The only difference I see is that you're using wayfire 0.7.4-1 and I'm using git, though I don't see any reason it shouldn't work with 0.7.4.

I have just switched to wayfire-git on the aur. wayfire -v outputs 0.8.0-da7a929c (Sep   6 2022, branch 'master'
I have attached the log file for wayfire, wayfire+wf-info and WAYLAND_DEBUG=1 wf-info in case you see any changes that might help.
log-aur-git.txt
log-wf-info-aur-git.txt
wf-info-debug-aur-git.txt
I can remove the aur-git and try building it from the git hub if more data is needed to help solve the issue.

I notice the log says there are errors in the config file, maybe you need to fix those?

I commented out line 69 and it kept moving down. So when I rebooted it would say 70.

Here is my wayfire.ini file.
wayfire.txt

Ah, I see the problem now. The # you have for wobbly is affecting wobbly and all the plugins listed thereafter. I can reproduce and when I remove the #, it works.

I was just about to say, yea removing the # fixed the error, but I still can't use wf-info.
log-uncomment-wobbly.txt

You need to rebuild wf-info (against wayfire git).

That has done the trick, it is now working. I guess I have to delete plugins I don't want instead of commenting them out.
wf-info-working.txt
Thank you for the help.


RxSegue

Hi, guys !
I've made RxSegue
It's contains of couple reactive units to abstract navigation routine
If you think it could be useful, will be have to contribute to the community :)

Looks really cool! What can we do to support you? We can add you to the list of RxSwift community projects, and/or we can transfer your library to our organization, whatever works for you!

Well, I will be very honored, if my project will be in your organization :)

Do I need any permissions to transfer my repo?

Awesome! I've invited you to the org, and you can transfer the repo after that. Here's a previous example where we did a transfer, and includes tasks we did with explanations. It's deceptively easy :smile: Make sure to take a look at the contributor guidelines too, and let me know if I can answer any questions, or can be of any help :bow:

Hi, guys.
Looks like I've made all required steps, so RxSegue is now part of community 🌎🎉🎉
If, you see that I missed some, please let me know 😀

Thank you very much for the invitation 😊

Awesome, I think this is closed, eh?


PDF download of "Intro to Ada" issues.

The PDF generated by PDF download button in the index page of introduction to Ada course has the following issues:

Code examples do not list the code file name. Hence it is difficult to know if it is an adb or ads file extensions.
In the tabbed code examples, PDF file generated do not print out all the tabs, just the codes on the first tab.

On the webpages, some code examples lacked the download button. Also some codes are downloaded in a zip files (which is greatly appreciated since it contains all the code examples listed in the bundle) while some download in individual files (download only the code shown in the active tab).
Other than that the introduction course is very helpful for a beginner like me.
For the online lab issues, if you write the code on the online editor:

Hello world expect an index or integer input which is not stated in the problem statement. Doing it on and compiling on an offline editor or GNAT is straightforward, but not on the online editor.
 Especially if we expect the statement is complete. Again, the expected integer input is not stated clearly in the problem statement. If we do the exercises on our computer we can do it relatively straight forward. Not on the online editor.
I can't speak of the other exercises, since I gave up on the online editor and just do it on GNAT. But the experience of using the online editor just for those two beginning problem is less pleasant.
Thanks.

@DelusionalMuppet Thanks for your feedback! We have updated the site to include some fixes from your report. Other items from your report, we need some clarification so that we can track down the problems.
1.) The code examples in the PDF now include the file names.
2.) Can you provide a specific example where you see this happening? We have not seen this occur.
The download button issue has been fixed and deployed.
Labs:
1.) The Hello World example doesn't expect any input. You can see the solution here:
https://learn.adacore.com/labs/intro-to-ada/chapters/solutions.html#hello-world
2.) Can you provide some more detail, or a suggestion for the Greet lab? Above the code editor there is the "Requirements" section which does describe that the program expects some input string to be processed.
3.) Its possible that the "Submit" button is the confusing part here? The Submit button submits the code in the editor(s) to our servers which passes it through a series of tests. Each test has an input and an expected output. If you hit submit on a lab, you'll see the set of Test Cases that were used to judge the lab. Each test case lists the input that was used, the expected output, and the received output.

Right, thank you.
Regarding number 2, that was me earning my username. Careful reading do show the tabs are printed correctly. Sorry about that.
Regarding the lab:
It is correct that the submit button behaviour that is confusing. The programs successfully compile but then proceed to fail. Such as hello world program fail with test number 0. If the test case is important, should it not be specified on the problem statement?
That way we as a beginner also need to be aware of the test cases and what we as a beginner need to be aware of. The lab problem by itself is straight forward, although stating the string variable do throw me off a little bit.
As it is thank you for the enhancement and I consider this issue closed.


Update asm, asm-util to 9.2

Updates

org.ow2.asm:asm
org.ow2.asm:asm-util

from 7.3.1 to 9.2.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.ow2.asm" } ]

labels: library-update, commit-count:1

this gets us to the version Scala 2.13.8 is on.


Handler set via set_root is ignored in pfio.mkdir

It seems the handler set via set_root is ignored in pfio.mkdir.
>>> import pfio
>>> pfio.set_root(pfio.create_handler('hdfs'))  # or pfio.set_root('hdfs')
>>> pfio.mkdir('test/test')  # this is treated as Posix path
>>> pfio.open('test.txt')   # this is treated as HDFS path

(I was just playing around these APIs so this issue is low-priority (at least for me))

This is a known issue and we were trying to fix it in #99, but it ended up in redesign the API and the task became too huge. We didn't work on that after that, but please let us know if it became a problem, we then can allocate efforts to fix it.

Closing in favor of v2 API.


Loss is inversely proportional to batch_size

I changed the batch size (x2) in the middle of training and the loss cut in half with no performance improvement. Is this accepted behavior? I then have to do bookkeeping to keep track of this hyper-parameter to determine if it performs well.

This is not expected behavior. I have to think about this issue for a bit, but the batch size should not affect the loss structurally, because at the end of the loss function, the loss is divided proportionally to the number of items that go into it, n_positive (n_negative is a multiple of n_positive).
The loss value has no absolute meaning of course, only a relative meaning, and there's generally no point in changing the batch size in the middle of training because keeping the hyper parameters constant is exactly what you want to do to see how the loss improves relatively over time, but the behavior you describe could hint at a possible bug. For some loss functions, the loss value can depend on the batch size, but the particular loss function used here should be independent of the batch size for the reason explained above.
Did this happen within the same IPython session or with two separate, fresh sessions, where you loaded the weights of the last session into the model of the new session and then changed the batch size?

This occurred after stopping training in a python script and loading the weights files for the new batch_size from the previous training.

I was able to reproduce and track down the issue. Keras seems to display the average of the loss across the batch (sum of the loss for each batch item divided by batch size) rather than the total loss for the batch (sum of the loss for each batch item). Since the SSD loss function divides by the number of positive ground truth boxes in the batch, which is proportional to the batch size on average, this produces the effect you are seeing. Effectively, the total summed loss over the batch is being divided by the batch size (or a number proportional to the batch size) twice. This is why the loss is inversely proportional to the batch size. I tested this by commenting out the division by tf.maximum(1.0, n_positive) in the penultimate line of keras_ssd_loss.py. Doing this makes the loss independent of the batch size (and it makes the absolute loss much larger, obviously).
The good thing is that this means that this behavior is irrelevant for the performance of the training.


Fix crash when accessing TEK history without tracing enabled (EXPOSUREAPP-4284)

We crashed when tracing was disabled and tried to update the TEK history during submission.
This PR:

Refactors the tracing permission helper to offer more reusability
The TEKHistoryUpdater will now use the TracingPermissionHelper to request tracing permission to be enabled when we want to update the TEK history
Besides fixing the crash it has the added benefit that the user no longer has to leave the submission flow if they have had tracing disabled.

Testing

Enable / disable tracing where ever possible
Perform submission with tracing enabled and disabled
If the user never gave consent during onboarding, the tracing consent dialog needs to be shown every time we want to enable tracing on any screen until consent was given once, and tracing has been enabled

Did I cover all edge-cases in TracingPermissionHelperTest and TEKHistoryUpdaterTest?


Update Github account link for Sam Chrisinger

Fix the Github account link for Sam Chrisinger. (the old link failed with a 404)
Found a broken link while looking for the Node refactor code. Minor priority, but submitting a PR before I forget about it.

:+1:


support for excallidraw and canvas

Currently, it doesn't support excallidraw and canvas

Hope to support EXcalidraw, thank you


Nginx Proxy Manager

Hello I need some help. I just installed Nginx Proxy Manager and connected it to the CLOUDFLERE DNS server, when I set it to Nigix a new link writes me ERROR (Internal Erron).
Wher I look for SSL shows HTTP only and not working at all.
Please help.
Thansk.
Adam Križaj

Hey Mate,
Have you made sure there is port forwarding set from your router to the proxy host. You can disable it after (if using it locally and re-enable for renewal) but it is required for lets encrypt to create the cert. Guessing that might be the issue.

could also check out this thread https://github.com/NginxProxyManager/nginx-proxy-manager/issues/1846