Prevent installing with older gcc builds

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, rerender

I think it is blocked on these errors:

ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-elfedit': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-gprof': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/ld': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-ld': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/ld.bfd': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-ld.bfd': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/ld.gold': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-ld.gold': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/nm': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-nm': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/objcopy': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-objcopy': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/objdump': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-objdump': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/ranlib': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-ranlib': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/readelf': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-readelf': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-size': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-strings': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/x86_64-conda_cos6-linux-gnu/bin/strip': File exists
ln: creating symbolic link `/home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/x86_64-conda_cos6-linux-gnu-strip': File exists

I know. I'm trying to figure out why binutils_impl_linux-64 is used when packaging it. That's the source of the issue.
2020-05-21T20:03:02.3116899Z Packaging binutils_impl_linux-64
2020-05-21T20:03:02.3118005Z INFO:conda_build.build:Packaging binutils_impl_linux-64
2020-05-21T20:03:02.3118827Z INFO conda_build.build:build(2074): Packaging binutils_impl_linux-64
2020-05-21T20:03:09.7231564Z Collecting package metadata (repodata.json): ...working... done
2020-05-21T20:03:11.1923535Z Solving environment: ...working... done
2020-05-21T20:03:11.3199974Z
2020-05-21T20:03:11.3201290Z ## Package Plan ##
2020-05-21T20:03:11.3201799Z
2020-05-21T20:03:11.3202660Z   environment location: /home/conda/feedstock_root/build_artifacts/binutils_split_1590091119448/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh
2020-05-21T20:03:11.3203550Z
2020-05-21T20:03:11.3203965Z
2020-05-21T20:03:11.3204468Z The following NEW packages will be INSTALLED:
2020-05-21T20:03:11.3204926Z
2020-05-21T20:03:11.3206069Z     _libgcc_mutex:          0.1-conda_forge   conda-forge
2020-05-21T20:03:11.3206928Z     _openmp_mutex:          4.5-0_gnu         conda-forge
2020-05-21T20:03:11.3207796Z     binutils_impl_linux-64: 2.31.1-h7fc9f1b_6 conda-forge
2020-05-21T20:03:11.3213032Z     gcc_impl_linux-64:      7.5.0-hd420e75_6  conda-forge
2020-05-21T20:03:11.3213990Z     gfortran_impl_linux-64: 7.5.0-hdf63c60_6  conda-forge
2020-05-21T20:03:11.3214632Z     gxx_impl_linux-64:      7.5.0-hdf63c60_6  conda-forge
2020-05-21T20:03:11.3215252Z     ld_impl_linux-64:       2.34.0-h53a641e_2 local
2020-05-21T20:03:11.3215885Z     libgcc-ng:              9.2.0-h24d8f2e_2  conda-forge
2020-05-21T20:03:11.3216488Z     libgfortran-ng:         7.5.0-hdf63c60_6  conda-forge
2020-05-21T20:03:11.3217104Z     libgomp:                9.2.0-h24d8f2e_2  conda-forge
2020-05-21T20:03:11.3217703Z     libstdcxx-ng:           9.2.0-hdf63c60_2  conda-forge

It is a run dep of gcc_imply IIUIC: https://github.com/conda-forge/ctng-compilers-feedstock/blob/master/recipe/meta.yaml#L54

But why is that installed, when host of binutils_impl doesn't have it?

Right. On a whim, maybe comment out the downstream tests?

Lots of clobber warnings. I think those are expected?

2020-05-21T20:18:36.5563873Z ClobberWarning: This transaction has incompatible packages due to a shared path.
2020-05-21T20:18:36.5565808Z   packages: local/linux-64::ld_impl_linux-64-2.34.0-h53a641e_2, local/linux-64::binutils_impl_linux-64-2.34.0-h53a641e_2
2020-05-21T20:18:36.5568129Z   path: 'bin/x86_64-conda-linux-gnu-ld'
2020-05-21T20:18:36.5569052Z
2020-05-21T20:18:36.5569550Z
2020-05-21T20:18:36.5570185Z ClobberWarning: This transaction has incompatible packages due to a shared path.
2020-05-21T20:18:36.5572571Z   packages: local/linux-64::ld_impl_linux-64-2.34.0-h53a641e_2, local/linux-64::binutils_impl_linux-64-2.34.0-h53a641e_2
2020-05-21T20:18:36.5574004Z   path: 'x86_64-conda-linux-gnu/bin/ld'
2020-05-21T20:18:36.5574656Z
2020-05-21T20:18:36.5575139Z
2020-05-21T20:18:36.5575771Z ClobberWarning: This transaction has incompatible packages due to a shared path.
2020-05-21T20:18:36.5577119Z   packages: local/linux-64::ld_impl_linux-64-2.34.0-h53a641e_2, local/linux-64::binutils_impl_linux-64-2.34.0-h53a641e_2
2020-05-21T20:18:36.5579205Z   path: 'x86_64-conda_cos6-linux-gnu/bin/ld'

I don't get this at all.

packaging binutils_impl stil uses an older ld_impl.

Huh? Those two packages are both local so the ld is not older, right?

See the build logs please.

Right. I am looking over them but now there is a hash conflict. My deep confusion continues!

Thanks for hard work and for answering my annoying questions here! conda build was acting very strange indeed, but the final recipe looks reasonable.


Set up Buisness Email

so far with the business. I need to set up a business email for social accounts.

3


What is the meaning of control type for command powercap-set？

I am not clear what the meaning of control type for command powercap-set is？
What are its choices. Such as for --zone=ZONES, the range of ZONES includes PACKAGE, CORE, UNCORE,etc.

You're getting projects mixed up - energymon doesn't do anything with power capping.  I think you're asking about the powercap project at https://github.com/powercap/powercap .  The powercap-set command is a generic interface to the powercap control types exposed by the kernel at /sys/class/powercap.  AFAIK, intel-rapl is the only supported control type.  See the kernel documentation on powercap: https://www.kernel.org/doc/Documentation/power/powercap/powercap.txt
powercap-set isn't really intended to be used -- your life would be simpler if you used the rapl-set command instead.  Note, though, that even rapl-set deals with zones by index numbers exactly as they are exposed by the powercap interface in sysfs.  See the output of rapl-info and check the man pages to see examples and further documentation: man rapl-info and man rapl-set.
To manage zones by name, you want to use the abstractions provided by rapl-configure-* binaries in the raplcap project at https://github.com/powercap/raplcap .  I think we sorted this out over email.  In the future, let's please discuss questions over email instead of opening issues (unless there is actually a bug in the software).  Cheers.


New Kubernetes Tutorial Request

Problem description

I had trouble finding the information that I needed: The closest references that I found were :

https://www.pulumi.com/docs/tutorials/kubernetes/kubernetes-ts-configmap-rollout/
https://www.pulumi.com/docs/tutorials/kubernetes/kubernetes-ts-s3-rollout/

Other:

Never the less, none of the two above mentioned examples match a simple, I believe extremely natural case to work on, which the following :

I develop a software, and I package it as a docker container, so I build a docker image : quay.io/mysupercompany/myawesomeapp:0.0.1
to deploy my awesome software, I created a Helm Chart
I use pulumi to, in a row, provision a Kubernetes Cluster, and execute my Helm Chart, with a value setting the docker image tag of my software, for my helm release, from the pulumi config. Great. SO I start with tag 0.0.1
Ok now I want to jsut deploy new versions of my app, cahnging just one thing, the docker image of My app. There two scenarios :

After I pushed the 0.0.1 version of my image, I ideitified a bug in my source code, SO I fixed the bug, and duilt again the docker image with image tag :  How Do I deploy that with Pulumi ?
I fixed a bug or added a new feature, and I publish a new version of my docker image (so a new image tag) : How do I do that with Pulumi and my embedded Helm Chart

Finally wanna add, that I googled to try and find  :

How to I execute Helm upgrade with pulumi ?
How do I execute a Kubernetes Rolling update , with pulumi ?

All questions that I think many teams  of course fall on very quickly : it would very valuable, I believe, that such questions are answered, and proper fully fledged tutorial on the matter. Pulumi is awesome, let's make it even more accessible to more teams.
Finally, I am devops architect at https://github.com/gravitee-io ( see also https://gravitee.io ), and since I am working on the subject right now:

I will be glad to share the result of my work with Pulumi 's great team
and author the tutorial on the subject, (my work will include writing afull article anyway, for internal devops portal, formated with gohugo.io )

I will watch this issue everyday for answers, will be glad to take any tech tip to push up the subject as quickly as possible, and will also answer asap on any of your questions / requests
Kind Regards,
<EMAIL_ADDRESS>Affected product version(s)

Suggestions for a fix

Hi @Jean-Baptiste-Lasselle
I'm sorry we took so long to get back to you here. Thanks for opening the issue, this isn't something we plan on adding to our docs right now but we would gladly accept a pull request to our github.com/pulumi/examples repo to cover this scenario please let us know if you have any questions - a good place to find information is in our community slack
Thanks
Paul


Snippet: Generate parquet schema

Hey guys,
we're currently integrating the parquetjs package into our datalake-graphql-wrapper to provide the functionality to upload data in our data lake via graphql.
After some try&error we were able to generate a parquet file which can used in the trino cluster.
Not sure if someone else had already this problem or a solution.. anyway... here our helper functions + example.
// License Apache-2
// helpers/parquet.ts

import { FieldDefinition, ParquetType } from '@dsnp/parquetjs/dist/lib/declare'

export function createStringField({
  optional = true,
}: Partial<{
  optional: boolean
}>): Partial<FieldDefinition> {
  return createField({ type: 'UTF8', optional })
}

export function createBooleanField({
  optional = true,
}: {
  optional: boolean
}): Partial<FieldDefinition> {
  return createField({ type: 'BOOLEAN', optional })
}

export function createIntField({
  optional = true,
}: {
  optional?: boolean
}): Partial<FieldDefinition> {
  return createField({ type: 'INT64', optional })
}

export function createFloatField({
  optional = true,
}: Partial<{
  optional: boolean
}>): Partial<FieldDefinition> {
  return createField({ type: 'FLOAT', optional })
}

export function createDecimalField({
  precision = 3,
  optional = true,
}: Partial<{
  precision?: number
  optional?: boolean
}>): Partial<FieldDefinition> {
  return createField({ type: 'DECIMAL', precision, optional })
}

export function createTimestampField({
  optional = true,
}: Partial<{
  optional?: boolean
}>) {
  return createField({ type: 'TIMESTAMP_MILLIS', optional })
}

export function createRepeatableStructField({
  fields,
}: {
  fields: { [fieldName: string]: FieldDefinition }
}): Partial<FieldDefinition> {
  return {
    optional: true,
    type: 'LIST',
    fields: {
      list: {
        optional: false,
        repeated: true,
        fields: {
          element: {
            optional: true,
            repeated: false,
            fields: fields,
          },
        },
      },
    },
  }
}

export function createStructField({
  fields,
}: {
  fields: { [fieldName: string]: FieldDefinition }
}): Partial<FieldDefinition> {
  return {
    optional: true,
    fields: fields,
  }
}

export function createArrayField({
  type,
  optional = true,
}: Partial<{
  type: ParquetType
  optional?: boolean
}>): Partial<FieldDefinition> {
  return createField({
    optional,
    type: 'LIST',
    fields: {
      list: {
        optional: false,
        repeated: true,
        fields: {
          element: {
            type,
            optional: true,
          },
        },
      },
    },
  })
}

export function createField(
  definition: FieldDefinition,
): Partial<FieldDefinition> {
  return definition
}

And here a "short" example:
// License Apache-2

import path from 'path'
import parquetjs from '@dsnp/parquetjs'
import {
  createArrayField,
  createFloatField,
  createIntField,
  createRepeatableStructField,
  createStringField,
  createStructField,
  createTimestampField,
} from './helpers/parquet'

const examplePath = path.resolve('test_parquet.parquet')

const parquetSchema = new parquetjs.ParquetSchema({
  stringfield: createStringField({}),
  intfield: createIntField({}),
  floatfield: createFloatField({}),
  timestampfield: createTimestampField({}),
  arrayfield: createArrayField({ type: 'UTF8' }),

  objfield: createStructField({
    fields: {
      sub1: createStringField({}),
      sub2: createStringField({}),
    },
  }),

  structfield: createRepeatableStructField({
    fields: {
      structfield_array: createArrayField({ type: 'UTF8' }),
      structfield_string: createStringField({}),
      structfield_struct: createStructField({
        fields: {
          structfield_struct_string1: createStringField({}),
          structfield_struct_string2: createStringField({}),
        },
      }),
    },
  }),
})

const writer = await parquetjs.ParquetWriter.openFile(
  parquetSchema,
  examplePath,
)

await writer.appendRow({
  stringfield: 'string value',
  intfield: 10,
  floatfield: 10.5,
  timestampfield: new Date(),

  arrayfield: {
    list: [{ element: 'arrayfield val1' }, { element: 'arrayfield val2' }],
  },

  objfield: {
    sub1: 'objfield_sub1 val',
    sub2: 'objfield_sub2 val',
  },

  structfield: {
    list: [
      {
        element: {
          structfield_array: {
            list: [{ element: 'val1' }, { element: 'val2' }],
          },
          structfield_string: 'structfield_string val',
          structfield_struct: {
            structfield_struct_string1: 'structfield_struct_string1 val',
            structfield_struct_string2: 'structfield_struct_string2 val',
          },
        },
      },
    ],
  },
})

await writer.close()

const example_df = await parquetjs.ParquetReader.openFile(examplePath)

console.log(JSON.stringify(example_df.schema.schema, null, 2))

Hope that helps you as it helps us :)

@noxify Those examples worked for me!
I've got a backlog item to have a standard way to write a portable schema #73
This will be helpful to expanding that some to support more use cases. I like how you have little default helpers for the different types. Makes it easy to build up a schema.

The list is not complete but these are our main types, but I will update this post if we create new helper
I tried it also with a repeatable structure inside a repeatable structure but it seems they are not supported in Trino or I missed something.
I have checked then our other parquets/hive tables and realized that we have no need (currently) to support this - maybe in the future 🤷🏾♂
P.S. If you think the helper could be useful in this package, feel free to copy&paste them into the library.

Hey @wilwade,
I was able to create some new functionality which allows you:

to generate a ParquetSchema based on a given JSON-Schema
to convert a given user input in the required appendRow format

Could this be helpful, too?

@noxify That sounds great. I think next week I'll have some time to incorporate some helpers along with #73 into a PR, so feel free to drop any code you think might be helpful and I can pull it into that work. Or if you prefer, feel free to open a PR. Either way, thanks for the help!

Hi @wilwade ,
i have created a Gist: https://gist.github.com/noxify/9b9d933ac742937a6360366851da97cf
With this code ( and a lot more e.g. to generate the create table statement) I was able to create an standardized way to provide an mutation endpoint with minimal manual interaction.

We have a small script which generates the boilerplate based on a template
We only have to define the json-schema
We only have to define the interfaces and some definitions for the graphql schema

all other stuff is generated based on the json-schema definition.
If something isn't working, please let me know and I will provide a working example.

@noxify
I have pulled together a PR generally based on your code. If you have a minute, it'd be great to have you take a look at it: https://github.com/LibertyDSNP/parquetjs/pull/82

I close this issue since we integrated the snippet into the package via #82 .
Related docs:

https://github.com/LibertyDSNP/parquetjs#helper-functions
https://github.com/LibertyDSNP/parquetjs#json-schema


Loading reads should bail early if possible if --max-reads is set

If --pair-min-mapq is not set, we can check if we've exceeded --max-reads periodically, and bail. Need:

test case

with and without --pair-min-mapq
with a few values or --min-mapq

to decide where to check for read counts
double-check that we're using the same metric that will bail in app.py

After implementing #25, this should be much easier

see a8fefa1fddb87aecf1d5315793e341bdf93f81d1


Change PHP8 requirement

Change PHP8 requirement

Fix error: Required plugin/package "php ^7.4 || 8.0" does not match installed version == <IP_ADDRESS>.

Bump plugin version

Hi Melvin, thank you for your contribution! 🥳💙


Choppy performance redmi note 7

Using this with the Redmi 4 works flawlessly. Recently got a Redmi note 7 and with this device the stream is less smooth, pretty stuttery. The device should be faster. Using the fps counter shows a lot of frames being skipped (+1 to +5, ocassional spike to +13) on the redmi note 7 even when just looking at homescreen. Performance in phone itself is smooth.
Whether I use -m 1920, 1280 or 800 all provide same performance.
The recorded file --record file.mp4 is smooth upon playback.
Is there any option I might be missing on the phone that is causing this?

The recorded file --record file.mp4 is smooth upon playback.

Using the fps counter shows a lot of frames being skipped (+1 to +5, ocassional spike to +13)

This suggests that the problem may be on the computer side (but not sure).

I see, I'll try to connect it to an USB 3.0 on the back of my PC and set power savings to high performance.

Hmm.. no idea. I've ordered a USB 3.1 to 3.1 cable since my pc has one usb 3.1 connector, maybe that will work.
Do the skipped frames indicate my pc being the problem or the fact that the recording is smooth?

Do the skipped frames indicate my pc being the problem or the fact that the recording is smooth?
If you have 15 skipped frames by seconds, the PC has probably a problem.


v3 Table of Contents styling not quite right yet - last span is not responsive

On the staging site, the ToC styling isn't quite right.

Once I get to double digit numbers for the page number it sends the second digit to a new line.  The width of that final span is set to 1%; any change in percent I did in the inspector dramatically messes up the ToC.   This should be done with Flexbox.   Here is my fix:
/* basic toc v3 */

.toc h1 + ul {
	margin-top:20px;
}

.toc ul {
	list-style:none;
	padding-left:0;
}

.toc ul a {
	display:flex;
	text-decoration:none;
	color:inherit;
}

.toc ul a span:nth-child(2) {
	flex:1;
	display:flex;
}

.toc ul a span:nth-child(2):before {
	content:'';
	flex:1;
}

.toc ul ul a span:nth-child(2):before {
	content:'';
	flex:1;
  border-bottom: .05cm dotted #000;
	margin: 0 2px 4px 2px;
}

.toc ul li a span:nth-child(2) {
	font-family:'bookinsanityremake';
	font-size:.34cm;
	font-weight:initial;
	color:black;
}

.toc ul ul {
	margin-left:1em;
}

.toc ul li+li h3 {
    margin-top: .26cm;
    line-height: 1em;
}

This introduces no new syntax for the Brew side of things, only CSS.  It fixes my issue with the line breaks in the page number (it can handle many digits without issue), and works with 'wide' as well.

Might want to double check it works with the various levels of the ToC as I tested that only a little bit.  Gotta go to bed now, but if issues i can look tomorrow.

This is working fine for me.
https://homebrewery-stage.herokuapp.com/share/8F8dzHy_uXCB

ahem... which version of Chrome are you using :wink: ?
I can check your option out, but remember there was an issue putting the dot leaders in the :before of the second span. It does not extend all the way to the title if the title is multi-line.

Oh thank goodness. Thanks for figuring it out!


[SPARK-48148][CORE] JSON objects should not be modified when read as STRING

What changes were proposed in this pull request?
Currently, when reading a JSON like this:
{"a": {"b": -999.99999999999999999999999999999999995}}

With the schema:
a STRING

Spark will yield a result like this:
{"b": -1000.0}

Other changes such as changes to the input string's whitespace may also occur. In some cases, we apply scientific notation to an input floating-point number when reading it as STRING.
This applies to reading JSON files (as with spark.read.json) as well as the SQL expression from_json.
Why are the changes needed?
Correctness issues may occur if a field is read as a STRING and then later parsed (e.g. with from_json) after the contents have been modified.
Does this PR introduce any user-facing change?
Yes, when reading non-string fields from a JSON object using the STRING type, we will now extract the field exactly as it appears.
How was this patch tested?
Added a test in JsonSuite.scala
Was this patch authored or co-authored using generative AI tooling?
No

cc @dongjoon-hyun @HyukjinKwon

SPARK-48148: values are unchanged when read as string *** FAILED *** (134 milliseconds)

seems it fails

Hey @HyukjinKwon, can you take another look and possible re-trigger tests? I believe multiline should be working now.

Merged to master.

btw you can trigger on your own https://github.com/eric-maynard/spark/runs/24789350525 I can't trigger :-).

Is there a reason this was only done for scan and not from_json/get_json_object?  Especially from_json where in the past it behaved almost identically to the JSON scan (everything except empty row handling and new line characters).

@eric-maynard would you mind checking if this is true? we should match the behaviour at least with from_json.

ping @eric-maynard

sent offline ping too.

I did some tests and it looks like that this PR doesn't address the same issue with from_json. Json expressions including from_json use CreateJacksonParser.utf8String to create jackson parser, which in turn converts UTF8String to an InputStreamReader. The latter doesn't allow to copy buffers from random offset. I tried to create jackson parser using the underlying byte array of UTF8String, but ran into SPARK-16548 (that was fixed by https://github.com/apache/spark/pull/17693).

Let me take a look

Hm, I think this PR also doesn't cover multiline cases.
Another problem is that it seems parser.currentLocation.getByteOffset doesn't report correctly too so we cannot really get the current byte offset ..

This is what I tried:
ff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/CreateJacksonParser.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/cat
alyst/json/CreateJacksonParser.scala
index ba7b54fc04e8..721d611bc414 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/CreateJacksonParser.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/CreateJacksonParser.scala
@@ -28,6 +28,10 @@ import org.apache.hadoop.io.Text
 import org.apache.spark.sql.catalyst.InternalRow
 import org.apache.spark.unsafe.types.UTF8String

+private[sql] trait WithByteArrayInputStream {
+  val source: ByteArrayInputStream
+}
+
 object CreateJacksonParser extends Serializable {
   def string(jsonFactory: JsonFactory, record: String): JsonParser = {
     jsonFactory.createParser(record)
@@ -40,7 +44,10 @@ object CreateJacksonParser extends Serializable {
     val bain = new ByteArrayInputStream(
       bb.array(), bb.arrayOffset() + bb.position(), bb.remaining())

-    jsonFactory.createParser(new InputStreamReader(bain, StandardCharsets.UTF_8))
+    jsonFactory.createParser(
+      new InputStreamReader(bain, StandardCharsets.UTF_8) with WithByteArrayInputStream {
+        override val source: ByteArrayInputStream = bain
+      })
   }

   def text(jsonFactory: JsonFactory, record: Text): JsonParser = {
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonParser.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/
json/JacksonParser.scala
index 32a1731a93d4..d98a14302d5a 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonParser.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/JacksonParser.scala
@@ -17,7 +17,7 @@

 package org.apache.spark.sql.catalyst.json

-import java.io.{ByteArrayOutputStream, CharConversionException}
+import java.io.{ByteArrayOutputStream, CharConversionException, InputStreamReader}
 import java.nio.charset.MalformedInputException

 import scala.collection.mutable.ArrayBuffer
@@ -332,6 +332,14 @@ class JacksonParser(
               val buffer = new Array[Byte](size)
               positionedReadable.read(startLocation.getByteOffset, buffer, 0, size)
               UTF8String.fromBytes(buffer, 0, size)
+            case inputStream: InputStreamReader with WithByteArrayInputStream =>
+              skipAhead()
+              val endLocation = parser.currentLocation.getByteOffset
+
+              val size = endLocation.toInt - (startLocation.getByteOffset.toInt)
+              val buffer = new Array[Byte](size)
+              inputStream.source.read(buffer, startLocation.getByteOffset.toInt, size)
+              UTF8String.fromBytes(buffer, 0, size)
             case _ =>
               val writer = new ByteArrayOutputStream()
               Utils.tryWithResource(factory.createGenerator(writer, JsonEncoding.UTF8)) {
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/JsonExpressionsSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark
/sql/catalyst/expressions/JsonExpressionsSuite.scala
index a23e7f44a48d..12cc8165a39e 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/JsonExpressionsSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/JsonExpressionsSuite.scala
@@ -432,6 +432,16 @@ class JsonExpressionsSuite extends SparkFunSuite with ExpressionEvalHelper with
     )
   }

+  test("from_json - nested object to string") {
+    val jsonData = """{"a": {"b": -999.99999999999999999999999999999999995}}"""
+    val schema = StructType(StructField("a", StringType) :: Nil)
+    checkEvaluation(
+      JsonToStructs(schema, Map.empty, Literal(jsonData), UTC_OPT),
+      InternalRow("""{"b": -999.99999999999999999999999999999999995}""")
+    )
+  }
+
+
   test("from_json - invalid data") {
     val jsonData = """{"a" 1}"""
     val schema = StructType(StructField("a", IntegerType) :: Nil)


Fix processor when scope provider in another package

Thanks for the great library!
If the scope provider is in another package, it couldn't be imported and the build failed.
This was fixed by using KotlinPoet's Members format.
https://square.github.io/kotlinpoet/#m-for-members

I tried using CodeBlock. How is it?

@takahirom thank you very much for this contribution. I refactored it a bit and merged. Will hopefully release 0.3.5 today.

Thank you for the early release!


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>

Coverage remained the same at 4.268% when pulling 03077fbb8abbea545cc4d39f4062ed48c6f188da on template-sync-1 into 7ac6b195f23c15ff977f9f93d6ad1bfbd75e846f on master.


Split components into several for re-use

This is the first step towards having parsers for ALB, CloudFront, and maybe CloudTrail as well. The code for dealing with log buckets is split out and mostly ELB-specific info is contained in main.go (so that the other modules can be re-used).
Signed-off-by: Nathan LeClaire<EMAIL_ADDRESS>

To support ALB / other formats we will simply need to:

[ ] add access log format for that to publisher format file const
[ ] add some small bits to support custom paths in the bucket (e.g., CloudFront is less complicated than ELB, it's simply optional-prefix/distribution-ID.YYYY-MM-DD-HH.unique-ID.gz)
[ ] copy-pasta main.go with a few modifications into other repos
[ ] come to think of it, unzipping gzip files looks like it might be needed as well


Debug and sanity mode

Description

Add sanity check mode. It will sample the source data and make sure key join matches.
Add debug mode to provide more debugging information.
Refactor parameter setting code.

One suggestion would be to have incremental smaller pull requests, which would be easier to review. It could be broken down into three parts, as described in the description of the pull request.


use node array to refer to variables

I use this cookbook via the "include_recipe 'consul'" method as I include this in one of my "base-server" cookbooks.
When I try to pass atlas autojoin/cluster/token variables through my cookbook the variables are not picked up by consul. I had a look through the code and found that the variables were referenced via "node.consul.atlas_autojoin" rather than "node['consul']['atlas_autojoin']". I'm not sure if there was a particular reason for this but changing it like this means the variables are picked up correctly.
@shanesveller originally wrote this in https://github.com/johnbellone/consul-cookbook/pull/135 not sure if there was a reason you referenced the variables this way Shane so happy for commentary if there was a particular reason :)
Tests still pass correctly, though I'm not sure how to word a test to cover this particular case?
Thanks,
Craig

Square-brackets notation and dot notation for attributes is a stylistic choice and should behave mostly identically in either case. If you're seeing otherwise, that sounds like a bug. It's been some months since I wrote that code, but I actually do prefer square-brackets notation in my personal work. Odds are I was matching other code in this cookbook due to a FoodCritic rule or something of that nature - I can't think of why else I would write it this way.

rebased on master 5 July 2015.


Question to EEGNet models

Since I'm really new to EEG and Deep learning, I'm experimenting with your example codes.
Especially with your notebook "plot_bcic_iv_2a_moabb_trial".
I wanted to try out your EEGNet models (the ShallowFBCSPNet,Deep4Net worked just fine), so I naively changed the model in the notebook to EEGNetv1 with the BNCI2014001 dataset.
Everything up to fitting the classifier worked just fine.
I get the following error message:
"Expected 4-dimensional input for 4-dimensional weight [16, 22, 1, 1], but got 3-dimensional input of size [64, 22, 1125] instead"
I'm really lost on what I'm doing wrong, could you give me a hint why this error is occurring or what I need to take into account?
Thank's you for your Answer!

Hi @NeoMW, it looks like the network expects the input to have 4 dimensions, but your input only has 3. Quickly looking at the code, it looks like ShallowFBCSPNet and Deep4Net both have a self.add_module("ensuredims", Ensure4d()) line that EEGNet doesn't have, and which should take care of adding a fourth dimension to the input automatically. @robintibor does that make sense?

there is no good reason for this, let's fix it!

So started a fix in https://github.com/braindecode/braindecode/pull/187 . will merge tomorrow

Hi, @robintibor @hubertjb many thanks for your helpful and fast response. I'm excited about the patch.

Hi, @robintibor @hubertjb I made the "ensure dimension change" locally, and noticed that the EEGNets throw "Calculated padded input size per channel: (8 x 942). Kernel size: (13 x 929). Kernel size can't be greater than actual input size" for both nets when I call the  "get_output_shape" function if I set "final_conv_length" to "auto". Is there any quick fix for this?  ^^

So I have updated PR further, should be ready to merge hopefully.
Regarding your question, this indicates the n_in_times is too small, e.g., try this it should work:
``python
from braindecode.models.util import get_output_shape
n_channels = 2
n_in_times = 200
model = EEGNetv1(n_channels, n_classes, input_window_samples=n_in_times)
get_output_shape(model, n_channels, n_in_times)
``
Do you have any reason to prefer EEGNetv1 over EEGNetv4? In most cases v4 should be similar or better I think.

No, I don't have a reason, in that case, I will use EEGNetV4.
n_in_times is already at 1000, should I put that higher?
For EEGNetv4, if I input small values for final_conv_length  it somehow works.
Many thanks for your help.^^

Hi,
I was trying to understand how brain-decode works.
I think the training dataset created from windows_dataset returns a tuple of length 3
and the first element in this tuple represents data to be passed to model (and has shape of (channels, time_points))
Here i am not able to understand, why(/how) 4d input is passed?
since i was hoping for input of form (batch_size, channels, time_points)
Looking forward to your help.
Thanks and regards
bokey

Hil,
in general in Pytorch, datasets you get individual items like in our case channels x timepoints of one window. To get batches you use dataloaders that create batches from the datasets.
https://pytorch.org/tutorials/beginner/basics/data_tutorial.html explains it fairly well I think

ohh. seems like pytorch expects a volume as input, thus  -- > input had to be in the form of (batch_size, 1, channels, temp_point)
--> and thus 4d input
@robintibor --> thanks for the response.
but i still don't understand how/which object/class implements pytorch dataset/dataloder in brain-decode. Is it windows_dataset or EEGClassifier ?

PyTorch does not expect any specific input, it depends on the model what input it expects :)
Regarding datasets/dataloaders, you have to distinguish between datasets and dataloaders.
In Braindecode, we provide a lot of dataset functionality like WindowsDatasets etc.. These Braindecode-Pytorch Datasets can be indexed and return one element from the dataset (e.g., a window of EEG data).
Dataloaders you just use regular PyTorch Dataloader, we have not implemented any specific Dataloader to use here, although we now prevent some samplers (which can be used together with the PyTorch Dataloder to determine which elements come in one batch) https://github.com/braindecode/braindecode/tree/master/braindecode/samplers
So, in summary, Braindecode gives you PyTorch datasets that you can use together with regular PyTorch dataloaders.
EEGClassifier internally creates the dataloader already, that's why you don't have to construct a dataloader explicitly if you use EEGClassifier.


send properties when closing the drwaer

Hi, I want to send some data when I close the drawer, how can I do that?
or to say it by another way, I want to change the state of the main component that contains the drawer

you can use redux for it


Electron sample app crash on Mac

Issue description
Electron sample app crash on Mac
Expected Behavior
no crash
Actual Behavior
crash
Steps to reproduce
Im testing with template https://github.com/withcatai/node-llama-cpp/tree/master/templates/electron-typescript-react and installed app .dmg file (the result is the same). After browse and choose model Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf Electron app crash with the log
My Environment
OS: macOS 23.4.0 (x64)
Node: 18.18.2 (x64)
node-llama-cpp: 3.1.1
Metal: not supported by llama.cpp on Intel Macs
CPU model: Intel(R) Core(TM) i5-8500B CPU @ 3.00GHz
Math cores: 6
Used RAM: 99.24% (31.76GB/32GB)
Free RAM: 0.75% (248.02MB/32GB)
Additional Context
No response
Relevant Features Used

[ ] Metal support
[ ] CUDA support
[ ] Vulkan support
[ ] Grammar
[ ] Function calling

Are you willing to resolve this issue by submitting a Pull Request?
Yes, I have the time, but I don't know how to start.

It appears that crash depend of the model I dont have problem with gemma-2-2b-it-Q4_K_M.gguf file

There seems to be an issue with one of the latest llama.cpp releases that introduced this crash on macOS when Metal is not used (I managed to reproduce it on an M1 machine by building with Metal support disabled).
It only happens on Electron, and probably has something to do with Electron's strict guards on memory allocation.
From my tests, it seems that the llama.cpp release that's bundled with node-llama-cpp version 3.1.0 is not affected, so I recommend locking your package.json to that version until this issue is fixed.
I'll continue investigating the root cause of this.

To make it easier to reproduce this issue on Apple Silicone Macs, these command can be used:
mkdir repro
cd repro
npm init -y
npm install<EMAIL_ADDRESS>electron
npx --no node-llama-cpp source build --gpu false
npx electron ./node_modules/node-llama-cpp/dist/cli/cli.js chat --prompt 'Hi there!' --gpu false


Facebox for frontal faces are not centered

Hi there,
If facebox cropping is used for the generator, the frontal faces are not centered in the box, but shifted either to the right or to the left. My expectation would be that the facebox is still centered. See the following example (used variable pitch from -x to x and took the two frontal examples):

Start

Front 1 (Shifted, but should be centered?)

Front 2 (Shifted, but should be centered?)

End

Do you use  x-translation-distribution or y-translation-distribution?
If yes, this is an expected result. If no that looks like a bug.
Can you share your config file, or a minimal config file reproducing the error. Is the error on the current master?

The standard controlled faces script is used, just with the difference of having the facebox. No translation distribution is set.

I get the same bug - since facebox is the default setting in the RandomScript that should be fixed before releasing a new version...

The bug is the hardcoded "centershift" in line 258 in Helpers.scala. It should be depending on the pose angle.


[azure-cli] Add package

what

Add azure-cli python package
Demonstrate how to define APKBUILD templates for non-binaries

why

Operate Azure cloud services

references

https://github.com/Azure/azure-cli/issues/6973

This is outdated. If we want to add azure-cli we should start over.


os-freeradius sqlcounter option trough GUI

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
[x] I have searched the existing issues, open and closed, and I'm convinced that mine is new.
[x] When the request is meant for an existing plugin, I've added its name to the title.

Is your feature request related to a problem? Please describe.
Support of sqlconter configuration trough GUI.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Im not an freeradius expert, so I apologize if the "feature" is already possible with current implementation. I think it would be nice if we could have accounting option, to have control of max daily, weekly and monthly session time for particular user. As I understand the freeradius docs this can be done with enabling/configuring  sqlcounter. Prerequisite here is of course usage of mysql for database, that is already supported for configuration inside the plugin.
Describe alternatives you've considered
Currently plugin supports Max-Daily-Session variable that works with captive portal only. Suggested alternative can be used for users that dont use captive portal.
Additional context
Add any other context or screenshots about the feature request here.

I think this is already possible but there is no glue between Plugin and core services.
What exactly so you want to achieve

Hi,,
I would like to have an option that I can configure for each user maximum daily "on air" time. After the time limitation is reached eg. 1h in current day, the user is kicked out of Wifi, and unable to login till next day, when counter resets.
From the freeradius configuration point of view..i dont have the exact config needed yet for rlm_sqlcounter to work, so I cant exactly describe you the functionality from configuration point..I wil try to set this up on stand alone radius server and compare to os-freeradius config, and what needs to be configured, if this makes sense.
Thanks for looking into this..

This is usually done by vendor VSA .. like mikrotik etc.
I need some more details as there is no generic approach for such a feature

Maybee here is a better explanation;
https://gist.github.com/nasirhafeez/6669b24aab0bda545f60f9da5ed14f25#sqlcounter
The access point for sure needs to handle/support Session-Timeout packet sent from radius server to disconnect the client.

Its already there
https://github.com/opnsense/plugins/blob/master/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-counter
https://github.com/opnsense/plugins/blob/master/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/users#L6

Yes..checked that..if you are referencing to setting up Max-Daily-Session value..I tried that..but nothing is sent from radius towards AP/NAS after time expires.....as I said..im still learning this radius part so bear with me :). I will try with some more tests.  Thanks.

im closing this since I couldn't make working config with standalone freeradius server, and I used workaround with captive portal where max daily session is working.


restivus breaks iron:router on deployed apps

Check out the following two deployed apps:
functional site
busted site
They are both supposed to show a homepage, but the second one shows the iron:router splash page.  The only difference between them is that I initialized a RESTivus endpoint in the latter one.
The busted site still works fine on my local server -- it only gets confused and splash-screen-y when I deploy it.  I've tried deploying to meteor and to heroku -- both produce the same result.

Alright, let me look into this. I have the latest version of Restivus in an app that uses Iron Router fairly extensively, and it's deployed on both meteor and digital ocean and both are working fine. There must be something else to the error besides simply having Restivus in the deployed app. I absolutely hate those Iron Router errors. I get them all the time and the strangest things seem to cause them. So frustrating! I'll check out your repro apps and keep you posted. Thanks for reporting the issue.

Thanks!  And let me know if there's anything I can do to help.

I think you made your test repo private. Could you please add me as a collaborator or make it public so I can check it out?

Derp!  I am not smarting well today.  It's public now.

I was able to get it to run when deployed on meteor by making the call to Restivus.add() from within Meteor.startup(). So in lib/restivus.js:
Change:
Restivus.add('test', {
    get: {
        action: function() {
            return "Hello World!";
        }
    }
});

to this:
Meteor.startup(function () {
    Restivus.add('test', {
        get: {
            action: function() {
                return "Hello World!";
            }
        }
    });
});

Would you be able to test that on Heroku when you have a chance and let me know if it works? I will make sure I add that to the docs. I've always done it that way, but I need to say it explicitly in the docs. Sorry about that!

We're good on heroku!  Thanks so much!

Alright, I updated the docs with that information. Sorry if you were alerted each time I rebased that commit. I have to push to test the GitHub markdown, and I was just making some minor cosmetic updates so I had to squash the commits.


strip "release/" and add "-head" suffix

After this, tags in the docker hub will be formatted as master-head and v2.2-head

LGTM

lgtm

once completely, should we delete the release-v2.2 image?


TypeError: undefined is not an object (evaluating 'c.scale')

Hello,
Does anyone know why I'm getting this error?
I'm just trying out some of the examples in the documentation and they do not seem to work. I keep getting the above mentioned error.

I'm getting the same error as well. Did you ever find out the cause? I was thinking that perhaps c3 couldn't find the element to bind to for some reason...

No, I could not find any solution so I gave up on it. I'm using HighCharts so much better documented.

It was fixed when I included c3.js not just c3.min.js

this error comes if you don't include d3 library before including c3. I fixed this just by inserting this to my index.html head:
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script>

I'm using c3 version 0.4.10

I'm closing this issue as it could be solved by including D3.js like shown in the "Getting started" section of the C3.js documentation.


Add global output_vars function instead of a procedural include

This PR comes after a discussion with @KorvinSzanto on Slack

This looks right to me! Love the return option!

I think that this should be merged asap, in order to fix tests

@mlocati any idea why the tests aren't passing on this PR?

@KorvinSzanto yes: https://github.com/concrete5/concrete5/pull/5914 should fix the tests


unable to access the shop pages i am using ohmybrew.

API Code:
$shop = ShopifyApp::shop();
$request = $shop->api()->rest('GET', '/admin/api/2019-04/pages.json');

if($request->body){
	return $request->body->pages;
}else{
	return null;
}

Returning empty or null.
while i have 2 pages in my store published and view able.
i am confused why it is not working with pages while working fine for me for products, orders or customers.
Do i need any access scopes ? but i read shopify they said no scope is required for accessing pages.
I am Stuck help will be appreciated?

Try to enable these scopes:
read_content, write_content
Access to Article, Blog, Comment, Page, and Redirect.

You need scopes.
/admin/api/2019-04/pages.json is also not required, you can set your API version with config/shopify-app.php, theres a spot to enter, you can then simply hit "/admin/pages.json" and it'll sort out the versioning for you.

thank you very much @ohmybrew  :)


Allow to disable images from 3-party server

Images form 3-party server can track hypha guests. We should allow to disable images from 3-party server.

Well, yeah.
We may add the option some day, maybe. Perhaps.

I can also suggest using CSP to prevent loading different kinds of 3rd-party content, including images and scripts.

Moved to https://todo.sr.ht/~bouncepaw/mycomarkup/9


Bump npm vulnerable library versions

npm audit fix --force
npm run test # passed
npm run build
git commit
git version patch

Tested with node v16.6.0 and npm 7.19.1.

Jest is a devDep so no this is not really a concern, at all


Tests that make a notan instance fail, winit "Initializing the event loop outside of the main thread is a significant cross-platform compatibility hazard"

Hello, I am trying to write a test for a struct that I have created - it will eventually be used for loading textures for an engine that I am making. Thus, I am trying to test the initialisation function for sanity. However, I am getting a test fail.
//! This is the library for texture operations as well
//! as the serialisation structures for the textures.

/// Constant that represents the missing texture path relative
/// to this file. The missing texture is used to represent when a
/// texture is not found by the game engine.
pub const MISSING_TEX_PATH: &str = "./assets/missingtexture.png";

use notan::app::Graphics;
use notan::prelude::{Texture, TextureBuilder};
use std::collections::HashMap;
use std::fs::read;

#[allow(dead_code)]
pub struct TextureLoader {
    textures: HashMap<String, Texture>,
}
impl TextureLoader {
    pub fn new(gfx: &mut Graphics) -> Self {
        let missingtex = TextureBuilder::new(gfx)
            .from_image(
                read(MISSING_TEX_PATH)
                    .expect("Texture Loading Failed")
                    .as_slice(),
            )
            .build()
            .expect("Texture Building Failed");

        let mut textures = HashMap::new();
        textures.insert("missingtex".to_owned(), missingtex);

        TextureLoader { textures }
    }
}

#[cfg(test)]
mod tests {
    use super::*;
    use notan::{draw::DrawConfig, prelude::*};

    #[test]
    fn panic_test() {
        notan::init()
            .add_config(DrawConfig)
            .draw(draw)
            .build()
            .unwrap();

        fn draw(_app: &mut App, gfx: &mut Graphics) {
            TextureLoader::new(gfx);
        }
    }
}

When I run with cargo test, I get a test failure with the message:
test tests::panic_test ... FAILED

failures:

---- tests::panic_test stdout ----
thread 'tests::panic_test' panicked at 'Initializing the event loop outside of the main thread is a significant cross-platform compatibility hazard. If you absolutely need to create an EventLoop on a different thread, you can use the `EventLoopBuilderExtUnix::any_thread` function.', /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.28.7/src/platform_impl/linux/mod.rs:697:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    tests::panic_test

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

Is there a known way to get around this to test functions that act upon structs given by a notan instance?

Hello! Winit (the window crate we use) needs to run in the main thread. But to run test we don't need winit, you can use notan without winit for testing. Just use the latest version on github (it has a small fix that avoids shader compilation without backend) and run your test with --no-default-features to remove the backend feature. You may want to add your own set of features, like draw, log etc...

Hello, I tried this and I still got the same error. I tried putting the following in my Cargo.toml:
[patch.crates-io]
notan = { version = "0.11.0", default-features = false, features = ["draw"] }

Like shown in https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html yet I'm still getting the same error.
Would there be any way to set up  Graphics without a notan build that does not require a backend?

Hmm, is there any reason to use [patch.crates-io ] instead of just cargo dependencies? I think I am missing some info here.
I think a cargo config like this:
[dependencies]
notan = { version = "0.11.0", git = "https://github.com/Nazariglez/notan", branch = "develop" }

[features]
testing = ["notan/log", "notan/draw", "notan/random", "notan/glsl-to-spirv"]

Will work, it will use default features when using the regular build command, and then we can do cargo test with no-default-features and passing features=testing to include the basic things you need.

Closing, feel free to reopen if there is still something to discuss. Thanks!


Apparently there is a need to add a dot at the end of certain operations such as "Add member to role"

I just had a bug raised with our Engineering team that for a customer, protection alerts are not working when an admin adds another user as a member in an admin role.
My customer created the alert by using the operation "Add member to role" and the alert never triggered. Engineering advised me in this bug https://o365exchange.visualstudio.com/IP Engineering/_workitems/edit/1988929, that the correct Operation to be added in the alert is "Add member to role."
This is because the unified audit log records the actions in this exact way:
RunspaceId   : ec6225e6-fa45-4b7e-b8dc-b4401c7e4de9
RecordType   : AzureActiveDirectory
CreationDate : 3/4/2021 12:50:48 PM
UserIds<EMAIL_ADDRESS>Operations   : Add member to role.
My ask is to please check with Engineering which actions should have the "." at the end, because here https://docs.microsoft.com/en-us/microsoft-365/compliance/search-the-audit-log-in-security-and-compliance?view=o365-worldwide#role-administration-activities, the dot is missing for each of the operations.

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

ID: 3494b782-92ad-e365-3398-bd2d760d10c6
Version Independent ID: fa4bca98-3975-23dd-dfac-f23049c71d01
Content: Search the audit log in the Security & Compliance Center - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/search-the-audit-log-in-security-and-compliance.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@Alex-Catalin I assume your customer is using PowerShell to create the alert policy. Azure activities (user, group, role, directory, application) contain a period in the operation. So the period much be included when specifying these operation name in parameter values for PowerShell command. I will update the search audit log topic, add the period to the operation names, and include this note:
Note
The operation names listed in the the Operation column in the following table contain a period ( . ). You must include the period in the operation name if you specify the operation in a PowerShell command when searching the audit log, creating audit retention policies, creating alert policies, or creating activity alerts. Also be sure to use double quotation marks (" ") to contain the operation name.

Yes Mark, that's correct, they are using Powershell because the interface no longer gives you the possibility to create alerts with certain operations. This is because we are deprecating activity alerts which were initially being used for operations such as the one "Add member to role".
Alexandru Cazacu
Sr. Support Escalation Engineer
Exchange Online
M365 EMEA Customer Service & Support
alexandru.cazacu<EMAIL_ADDRESS>9 AM - 6 PM (GMT+2)
<EMAIL_ADDRESS>From: Mark Johnson - MSFT<EMAIL_ADDRESS>Sent: Monday, March 8, 2021 11:04 PM
To: MicrosoftDocs/microsoft-365-docs<EMAIL_ADDRESS>Cc: Alexandru Cazacu<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/microsoft-365-docs] Apparently there is a need to add a dot at the end of certain operations such as "Add member to role" (#4362)
@Alex-Catalinhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAlex-Catalin&data=04|01|alexandru.cazacu%40microsoft.com|49635309b7ba42a045c808d8e275a172|72f988bf86f141af91ab2d7cd011db47|1|0|637508342145384814|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=CqnCD%2FY5GglCebOQJ0cmfvg44LPpMNVD2M3N5SkGBkY%3D&reserved=0 I assume your customer is using PowerShell to create the alert policy. Azure activities (user, group, role, directory, application) contain a period in the operation. So the period much be included when specifying these operation name in parameter values for PowerShell command. I will update the search audit log topic, add the period to the operation names, and include this note:
Note
The operation names listed in the the Operation column in the following table contain a period ( . ). You must include the period in the operation name if you specify the operation in a PowerShell command when searching the audit log, creating audit retention policies, creating alert policies, or creating activity alerts. Also be sure to use double quotation marks (" ") to contain the operation name.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmicrosoft-365-docs%2Fissues%2F4362%23issuecomment-793075347&data=04|01|alexandru.cazacu%40microsoft.com|49635309b7ba42a045c808d8e275a172|72f988bf86f141af91ab2d7cd011db47|1|0|637508342145394810|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=RBpTOAEbaNUL0%2Bvwk10uLM64oMqh27BrE71pVQti5ts%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKGDFI3L2RPQTDDI6CBKZT3TCU3SHANCNFSM4YYXS6LQ&data=04|01|alexandru.cazacu%40microsoft.com|49635309b7ba42a045c808d8e275a172|72f988bf86f141af91ab2d7cd011db47|1|0|637508342145404813|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=n1E11ZlEdvA5YhHeHLbgaGtexb6nWyZdiB7MQoVLesY%3D&reserved=0.


Are masking layers in CNN supported?

Will this code work properly? And by "work," I don't mean if this code will throw an error, because it does not. I've looked everywhere, but I can't find an answer to whether Keras supports masking layers with CNN layers.
inputs2 = Input(shape=(12,17))
mask2 = Masking(mask_value=20.0, input_shape=(4, 21))(inputs2)
conv2 = Conv1D(filters=84, kernel_size=8, activation='gelu')(mask2)
drop2 = Dropout(0.3)(conv2)
pool2 = MaxPooling1D(pool_size=4)(drop2)
flat2 = Flatten()(pool2)

@nox4y,
Can you please elaborate about your Feature. Also, please specify the Use Cases for this feature. Thanks!

Linking this issue #411  here

In short, CNN layers doesn't support masking.
Masking usually expects the inputs to be time sequence, eg, the second dimension of the input is timestep. However, the input to CNN layers are usually [batch, height, width, channel], or [batch, length, channel]. The conv ops couldn't correctly ignore the values in channel/feature, nor could it generate a correct mask for the output (the shape of height/width/length usually changes between inputs/outputs).
For any keras layers that support masking, they usually have a good semantic meaning of time sequences (eg RNN/LSTM), or pass through the input mask to output mask (eg Dense).


[Event Request] Report 1307 "Standard Sales - Credit Memo" – New Event “OnBeforeGetDocumentCaption”

[Event Request] Report 1307 "Standard Sales - Credit Memo" – New Event “OnBeforeGetDocumentCaption”
Could we please have a new publisher OnBeforeGetDocumentCaption in Function DocumentCaption, Report 1307 "Standard Sales - Credit Memo", as it already exists in Report 1306 “Standard Sales – Invoice”?
local procedure DocumentCaption(): Text[250]
begin
// >>>>>>>>
OnBeforeGetDocumentCaption("Sales Cr.Memo Header", DocCaption);
if DocCaption <> '' then
exit(DocCaption);
// <<<<<<<<
if Header."Prepayment Credit Memo" then
exit(SalesPrepCreditMemoNoLbl);
exit(SalesCreditMemoNoLbl);
end;
// >>>>>>>>
[IntegrationEvent(false, false)]
local procedure OnBeforeGetDocumentCaption(SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var DocCaption: Text)
begin
end;
// <<<<<<<<

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Output panel search box and clear button - two issues

While using output panel's search box and the clear search text button, I've noticed two bugs. The panel was docked to prevent auto-hide.

Just type some nonsense in the search box then click the clear search text button, click the search box again. Sometimes, the Search... invitation doesn't disappear, I can type right after it. The problem doesn't happen every time, not sure what are the conditions, sometimes it happens on first try.

Type some nonsense (e.g. something that can't be found in the output), then click the clear the search text button. Sometimes, the whole output gets selected. Doesn't happen every time, but it was pretty easy to reproduce. The problem also happens when searching for something that can be found, just not the whole output gets selected (e.g. I searched for Run, it was found, cleared the search, "Run" got highlighted with bright colors / not the same as used for search results normally).

PS White on blue (highlight/highlight-text) is not how the actual search matches look (unchanged background and dim blue background)

Issue 1 should be now fixed. 2 is down to buggy behaviour of the control, we need to change the control to Scintilla.

Looks like I can't reproduce #1 any more, great!


Adding redirect_uri to Joi validation

Fixes #784
Is this right @poznyakovskiy?

This change is

This is incorrect - redirect_uri is actually a server-wide configuration: auth.success_redirect and auth.failure_redirect (or auth_redirect in the cli config.toml).


Issue: Flashing Bootloader for Holyiot nrf52840

Hello joric,
I have followed your work for a while and they are really amazing.
Recently, i decided to design a board using nrf52840. So i bought some Holyiot nrf52840 module from China and followed your schematic. Currently, i am using stlink-v2 and Msys32 to flash this module. I can't unlock nor flash bootloader for this module. Please have look at below log for flashing bootloader:

$ openocd -f interface/stlink.cfg -f target/nrf52.cfg -c "gdb_flash_program enable" -c "gdb_breakpoint_override hard" -c "init"
Open On-Chip Debugger 0.10.0+dev-00870-gaf952850b (2019-05-22-11:05)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select '.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
force hard breakpoints
Info : clock speed 1000 kHz
Info : STLINK V2J29S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.143445
Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : Listening on port 3333 for gdb connections
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : accepting 'telnet' connection on tcp/4444
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00000a80 msp: 0x20000400
invalid command name "mass_erase"
invalid command name "mass_erase"
wrong # args: should be "program filename ?arg...?"
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00000a80 msp: 0x20000400
** Programming Started **
Warn : Unknown device (HWID 0x0000015b)
Info : Padding image section 0 at 0x00000b00 with 1280 bytes
Info : Flash write discontinued at 0x00025de8, next section at 0x000f4000
Warn : using fast async flash loader. This is currently supported
Warn : only with ST-Link and CMSIS-DAP. If you have issues, add
Warn : "set WORKAREASIZE 0" before sourcing nrf51.cfg/nrf52.cfg to disable it
Warn : using fast async flash loader. This is currently supported
Warn : only with ST-Link and CMSIS-DAP. If you have issues, add
Warn : "set WORKAREASIZE 0" before sourcing nrf51.cfg/nrf52.cfg to disable it
Warn : Adding extra erase range, 0x10001000 .. 0x10001013
Error: The chip was not pre-programmed with SoftDevice stack and UICR cannot be erased separately. Please issue mass erase before trying to write to this region
Error: failed erasing sectors 0 to 0
embedded:startup.tcl:449: Error: ** Programming Failed **
in procedure 'program'
in procedure 'program_error' called at file "embedded:startup.tcl", line 508
at file "embedded:startup.tcl", line 449
shutdown command invoked
Info : dropped 'telnet' connection

And when i tried to unlock this module, it gives me this mess:

$ openocd -d2 -f interface/cmsis-dap.cfg -f target/nrf52.cfg -c "init" -c "nrf52.dap apreg 1 0x04 0x01"
Open On-Chip Debugger 0.10.0+dev-00870-gaf952850b (2019-05-22-11:05)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
Info : auto-selecting first available session transport "swd". To override use 'transport select '.
Error: unable to find CMSIS-DAP device

Could you please give me some advice what I should do?
Thank you,

I've been told openocd just works without unlocking. Haven't really tried. The command was openocd -f interface/stlink.cfg -f target/nrf52.cfg -c "gdb_flash_program enable" -c "gdb_breakpoint_override hard" -c "init" -c "reset halt" -c "flash write_image erase ./adafruitnrf52.hex" hope that helps.


inconsistent variable initialization behavior for callables / ops

When a variable is initialized with a callable, running the initializer of the variable has no effect after it is run once:
import tensorflow as tf
import scipy

session = tf.InteractiveSession()
retrand = lambda: scipy.random.random(size=[2,2])
var = tf.Variable(retrand, dtype=tf.float32)
session.run(var.initializer)
var.eval()
# prints array([[ 0.73060566,  0.26469722],
#               [ 0.63376802,  0.64898247]], dtype=float32)
session.run(var.initializer)
var.eval()
# prints array([[ 0.73060566,  0.26469722],
#              [ 0.63376802,  0.64898247]], dtype=float32)
# (same as first call)

If a variable is initialized with a tensorflow init op, then rerunning the initializer changes the variable state:
var = tf.Variable(tf.random_normal([2,2]))
session.run(var.initializer)
var.eval()
#prints
#array([[ 0.61732173,  0.14423341],
#       [ 0.3965871 , -0.98214936]], dtype=float32)
session.run(var.initializer)
var.eval()
# prints
# array([[ 0.48240849,  0.26547143],
#      [ 1.18776596, -0.12901327]], dtype=float32)

Why do variables initialized with a callable only call the callable once, even if they are initialized repeatedly, when variables initialized with an init op rerun the op on each run of the initializer? Is there any way to have a variable initialized with a callable call it each time the variable's initializer is run?
Environment info
Operating System:  Mac OSX
(please attach the output of ls -l /path/to/cuda/lib/libcud*): None
If installed from binary pip package, provide:

Which pip package you installed.
https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0rc0-py2-none-any.whl
The output from python -c "import tensorflow; print(tensorflow.__version__)".
0.9.0rc0

Is there any way to have a variable initialized with a callable call it each time the variable's initializer is run?

You can define the initializer as a PyFunc op.
Note that you need to manually specify the output shape of your op with tensor.set_shape before you can use it to initialize a variable.
import tensorflow as tf
import numpy as np
import scipy

session = tf.InteractiveSession()

def get_random():
    return scipy.random.random(size=[2,2]).astype(np.float32)

init = tf.py_func(get_random, [], [tf.float32])[0]
init.set_shape((2, 2))
var = tf.Variable(init)
session.run(var.initializer)
print(var.eval())
#[[ 0.97525001  0.68293589]
# [ 0.59959763  0.14780547]]
session.run(var.initializer)
print(var.eval())
#[[ 0.7729072   0.84212685]
# [ 0.74777764  0.97365493]]

Thanks!
On Wed, Jun 22, 2016 at 3:47 PM, Igor Babuschkin<EMAIL_ADDRESS>wrote:

Is there any way to have a variable initialized with a callable call it
each time the variable's initializer is run?
You can define the initializer as a PyFunc op.
Note that you need to manually specify the output shape of your op with
tensor.set_shape before you can use it to initialize a variable.
import tensorflow as tfimport numpy as npimport scipy
session = tf.InteractiveSession()
def get_random():
return scipy.random.random(size=[2,2]).astype(np.float32)
init = tf.py_func(get_random, [], [tf.float32])[0]
init.set_shape((2, 2))
var = tf.Variable(init)
session.run(var.initializer)print(var.eval())#[[ 0.97525001  0.68293589]# [ 0.59959763  0.14780547]]
session.run(var.initializer)print(var.eval())#[[ 0.7729072   0.84212685]# [ 0.74777764  0.97365493]]
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/2990#issuecomment-227900152,
or mute the thread
https://github.com/notifications/unsubscribe/ACpC4M2MCb7ZvaD_jlqiYIAfJvEdvdhyks5qObuSgaJpZM4I7bnS
.

--
Danny Goldstein
http://astro.berkeley.edu/~dgold/


The last amounts digit should be 0 for all currencies except JPY and OMR

1. Rónán Gallagher (AlphaCommerceHub):

I realised why non 3DS are not working. Westpac return a response code based on the minor unit of the amount.
If you ensure the minor amount is 00 then you should get a success based on a normal test card.
Please note the amount field is 14,3 to allow for some currencies like OMR that use 3 decimal places but for an amount in AUD etc there should be an extra zero at the end e.g. 10.99 would be sent at 10990. But to get a success in test system please use something like 10000. You sent 160706 so was considered as 160.70 or .71 and those in Westpac are error codes
In terms of alt payments again I was not aware of the scope. These configurations need to be added to the test account. I will request these

2. Me:

What is the exact list of currencies which require a zero at the end of amounts?
The documentation says nothing about it.

3. Rónán Gallagher (AlphaCommerceHub):

I don't know what documentation you received but it is called out in API Notes in AlphaHPP guide.

I don't know if the shopping cart has standards on currency exponents.
These are standard available in ISO currency tables.
4. Me:
I have seen this documentation section, but it mentions OMR and JPY only as examples.
Are OMR and JPY the only currencies which can have a non-zero last digit in the amounts, and all other currencies should have a zero at the end of amounts?

It looks like I misunderstood Rónán.
So this task is wrong.
The right task is #17: The last 3 digits of every payment amount should be «000» in the test mode for Westpac


Update outdated Go toolchain version for .drone.yml

Other CI pipelines already use Go1.11. So, we update this one too.

Codecov Report

Merging #5146 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5146   +/-   ##
=======================================
  Coverage   37.49%   37.49%
=======================================
  Files         309      309
  Lines       45782    45782
=======================================
  Hits        17164    17164
  Misses      26157    26157
  Partials     2461     2461

Continue to review full report at Codecov.

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

Nooooo.... Please send PR to change it back as it was intentionally left this way to test if gitea builds with lowest supported golang toolchain version

@lafriks for Gitea v1.7 maybe we should change the lowest go version from go1.9 to go1.11 for using go modules?

@lunny probably but this change should come also with that migration to go modules and updated docs

OK


bugtool: dump iptables-legacy and iptables-nft

Fixes : #15270
Bugtool now  dumps iptables-legacy and iptables-nft .
Signed-off-by: Gaurav Genani<EMAIL_ADDRESS>

Marked this PR as a candidate for backports given that this is an improvement for a debug tool, see https://docs.cilium.io/en/latest/contributing/release/backports/#backport-criteria.


Adds link to description of all reports

...to improve discoverability.

Hi @psignoret, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (phsignor). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@psignoret It looks like your commits are still coming from the wrong/previous file path.  This is most likely why this PR can't merge.  Ie: instead of 'articles/active-directory-reporting-audit-events.md', your local changes should be sourced from 'articles/active-directory/active-directory-reporting-audit-events.md.  Make sure you refresh your local repo with the current content/structure of the azure-content/master repo (ie: git pull upstream/master if you have your upstream remote set to the azure-content repo).  If you look at the current directory structure for azure-content/master, this will make more sense.
Also, given that you are more than a casual contributor, it would be best for you to work against our private repo. You will get quicker response, and we also have bot automation that provides article validation and CI for quick preview of the articles.. You can learn more in the Contributors' Guide. Just be sure to take note of steps that are demarcated with "If you are a MSFT employee..."


Compiler hangs and chews memory with great abandon

(Great abandon = I killed elm-make when it hit 16 gigs of memory)
(Note: Edited the code to actually make it pass the type checker when applying the work around discussed in the follow up comment.)
Compiling the following function hangs elm-make 0.18:
cleanse :
    List (Result e v -> Result e v)
    -> List (() -> Result e v -> Result e v)
    -> v
    -> Maybe v
cleanse refinements checks value =
    let
        initial =
            Ok value

        refined =
            List.foldl (|>) initial refinements

        checked =
            List.foldl (\chk result -> chk () result) refined checks
    in
        checked |> Result.toMaybe

If you want a full program, I would submit an Ellie link but the code killed Ellie, so here is a copy and paste:
module Main exposing (..)

import Html exposing (Html, text)

main : Html a
main =
    text <|
        (cleanse [] [] "Test!" |> Maybe.withDefault "")

cleanse :
    List (Result e v -> Result e v)
    -> List (() -> Result e v -> Result e v)
    -> v
    -> Maybe v
cleanse refinements checks value =
    let
        initial =
            Ok value

        refined =
            List.foldl (|>) initial refinements

        checked =
            List.foldl (\chk result -> chk () result) refined checks
    in
        checked |> Result.toMaybe

I've isolated the issue. The problem is the use of (|>) as a function in computing refined. If I replace this with
refined = List.foldl (\refine result -> refine result) initial refinements

The code compiles successfully (once I narrowed the types relative to my first bug report).
I assume the problem is caused by optimizations around the pipe operators.

With the latest changes, the initial example gives the following error message:
-- INFINITE TYPE --------------------------------------------------- Problem.elm

I am inferring a weird self-referential type for the 2nd argument to function
`foldl`:

31|             List.foldl (|>) initial refinements
                                ^^^^^^^
Here is my best effort at writing down the type. You will see ∞ for parts of the
type that repeat something already printed out infinitely.

    a -> ∞

Usually staring at the type is not so helpful in these cases, so definitely read
the debugging hints for ideas on how to figure this out:
<https://github.com/elm-lang/elm-compiler/blob/0.18.1/hints/infinite-type.md>

Thanks for the report!


Incorrect Feature Diffing

Given:
x = Div [ a, b ] []
y = Div [ b ] []

When diffing x -> y, the diffing algorithm removes a and sets b and then removes b.
When using pure as I originally intended, declaratively, this doesn't arise often.  But when functionally transforming a list of features, it does arise - as I found in semantic-ui-pure.
The solution is to fully switch to properties only and track all changes, during diffing, in a set.  If, in the above example, b was set during the diff then the removal of b would be skipped.
This gets a little complicated for classes and styles. When diffing classes, during a set classes branch we have to break the class string on spaces, convert to a set and store the set. When we come to a removal branch, we break the the class string on spaces, convert to a set and difference that set with the previous set. Anything in the difference should then be removed.
The same goes for styles, but instead of a Set of String, we need a Map of String -> String and we must diff on keys (for removals) and values (for changes).
This adds significant overhead to a rather fast and lean diffing method, so I am loathe to write this patch.  It is, however, a significant drawback for functional transformations of views. I will continue to think about refactorings that can improve the overhead this patch would add.
One possibility is to pull classes and styles out of the [Feature] that every node maintains and make them fields of the node themselves. Then turn the [Feature] part of each node pattern constructor into a [Node -> Node]. A question of the implication for the current diffing approach using unsafe comparisons remains.
Any approach that truly fixes this problem will likely remove the ability of the diffing algorithm to short circuit on tails of features, which would be a huge loss.
I find it interesting that I hadn't run into the issue before. I always wrote views declaratively and made sure to keep features at their same index. It should have shown up when diffing views as with x and y.  The case where I found it was:
x f fs = Div (f fs) []

Where fs varied from:
fs_1 = [ Lref r, ClassList cs ]
fs_2 = [         ClassList cs' ]

and f was a transformation that moved classes to the end of the feature list for merging:
f = mergeClasses acc
  where
    mergeClasses acc [] = [ Attribute "class" (foldr (<<>>) mempty acc) ]
    mergeClasses acc ( Attribute "class" cs : fs ) = mergeClasses (cs : acc) fs
    mergeClasses acc ( Property "className" cs : fs ) = mergeClasses (cs : acc) fs
    mergeClasses acc (f : fs) = f : mergeClasses acc fs

I solved this by extracting the classes and putting them all at the front of a list. But this doesn't solve the more general issue seen above with diffing from x -> y.

One possible solution is the following:
data View ms =
  ...
  HTML
    { vName :: Txt
    , vClasses :: Set Txt
    , vStyles :: Map Txt Txt
    , vProperties :: Map Txt Txt
    , vEventListeners :: [EventListener ms]
    , vLifecycle :: [Lifecycle ms]
    }

addClasses :: [Txt] -> View ms -> View ms
addClasses cs (HTML {..}) = HTML { vClasses = Set.union (Set.fromList cs) vClasses, .. }
addClasses cs _ = ...

pattern Classes :: View ms -> [Txt] -> View ms
pattern Classes v cs = addClasses cs v

addStyles ss (HTML {..}) = ...
pattern Styles v ss = ...

addProperties ps v = ...
pattern Properties v ps = addProperties ps v

addEventListeners ls v = ...
pattern EventListeners v ls = addEventListeners ls v

addLifecycles ls v = ...
pattern Lifecycles v ls = addLifecycles ls v

pattern Div :: View ms
pattern Div = HTML "div" [] [] [] [] [] []

(<|) :: View ms -> (View ms -> View ms) -> View ms
(<|) v f = f v

addChildren :: [View ms] -> View ms -> View ms
addChildren cs (HTML {..}) = HTML { vChildren = vChildren ++ cs, .. }

(|>) :: View ms -> [View ms] -> View ms
(|>) v cs = addChildren cs v

And then we can do this:
x = Div <| Properties [ ContentEditable ] & Lifecycles [ OnMouseover f ] & Classes [ c1, c2 ] |>
          [ Div ]

And diffing becomes a bit more straightforward.

With things divided up this way, even using Map and Set, diffing might be faster because we can short circuit on vProperties, vClasses, etc.... Rather than all of them combined into one big list, hoping that tails match.

A variant of the above approach was taken and worked very well. See pure-core and pure-dom for the implementations.


Carthage Build App Store Submission Bug

When I use Neon via Carthage in my app and upload it to iTunes Connect, I get the following email from Apple:

Dear developer,
We have discovered one or more issues with your recent delivery for "Wispeo". To process your delivery, the following issues must be corrected:
Invalid Bundle - Do not submit apps with GCC-style coverage instrumentation enabled. Specifically, the following Xcode build settings should be disabled: Instrument Program Flow Generate Test Coverage Files
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team

The email should have a comma between "Instrument Program Flow" and "Generate Test Coverage Files."
Can we just disable these build options? I'm not sure why they'd be needed in the first place.

These were added in order to get code coverage reporting services working, which at the time of setting them up weren't working with Swift to begin with. If you'd like to open a PR I could get it merged for you ASAP - I just started a new job so my open source dev work will likely be taking a back seat for a bit.

Thanks!


Adding instructions for Debian systems.

Library names differ across distros. sigh

Looks like merge conflicts need to be resolved

Yeah, i manually merged this by cherry picking the commits. Thanks!


Modularization documentation

This pull request adds the documentation-related changes into modularization that were made on main since the modularization branch was created. This includes:

addition of live demos on plugin docs pages and new demo HTML files (#164)
changes to mkdocs.yml file (related to versioned docs, code/demo boxes, plugin alphabetization)
other documentation updates and error fixes (e.g. #1912, #1781, #1908)

This branch will also include all of the documentation changes that still need to be made for v7.0:

[ ] Update the docs on writing plugins
[ ] Update all occurrences of the trial.type property (class variables instead of strings) (@becky-gilbert)
[ ] Update all occurrences of jsPsych.init with initJsPsych and jsPsych.run (@becky-gilbert)
[ ] Mention the build setup somewhere for potential contributors
[ ] Create guide (video?) for upgrading an existing experiment to v7+

To explain what happened here: I force-pushed this branch to the same commit as my local modularization branch, but forgot that I had not pushed ed87f40 locally. So GH sensed I must have had created the commit on this branch and closed the PR in the moment I pushed ed87f40 to modularization. We'll need a new PR now. Sorry :see_no_evil:


Disable TypeScript watch support

We should disable the TypeScript watch support again due to the following issues:

the support adds a watch property to the task definition which results in the fact that is doesn't make existing task customizations anymore. The task engine needs to falsify these value when computing the identifier key. See https://github.com/Microsoft/vscode/issues/31970. It basicallz broke the default build task support.
the task engine currently writes the problem matcher into the tasks.json file however the matcher is now dynamic passed on compileOnSave from the tsconfig.json.
the task provider should set the isBackground correctly and should use the correct problem matcher.

@mjbvz sorry for detecting this so late but I was on vacation until yesterday.

//cc @egamma

Original issue: #29580
// cc @kieferrm
@dbaeumer What is the proposal? Leave this disabled in 1.15? What about next iteration then?

The proposal is to leave it disabled for 1.15. For next iteration we can either do:

have two tasks one for build and one for watch (is actually @egamma suggestion)
respect the compileOnSave in tsconfig.json and fix the fact the the problem matcher gets inlined when customizing a task
work on a real compileOnSave support without starting the tsc -watch.


Wallet does not work.

I sent small amout of bitcoin to Blue wallet.
Please check this transiaction.

https://blockchain.info/tx/8b705de75c01b6db2461b8c73d42decc4c64a88a3c43fe14db3e13119f85a20c

It sent successfully to my Blue wallet, but my blue wallet is always empty. There won't any transactions display and any amount received.

This is my BlueWallet public address.

Can you try pressing Refresh button on Transactions screen..? Top right button
On May 2, 2018, 15:52 +0100, StanislavSegreev<EMAIL_ADDRESS>wrote:

I sent small amout of bitcoin to Blue wallet.
Please check this transiaction.

https://blockchain.info/tx/8b705de75c01b6db2461b8c73d42decc4c64a88a3c43fe14db3e13119f85a20c
It sent successfully to my Blue wallet, but my blue wallet is always empty. There won't any transactions display and any amount received.
This is my BlueWallet public address.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

This is early beta, so for now, yes.
Ill fix this eventually.
On May 2, 2018, 16:12 +0100, StanislavSegreev<EMAIL_ADDRESS>wrote:

Oh, it works.
Most wallets automatically refresh the transactions.
But In This wallet, I have to refresh manually?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Yes, I am working on Android device.
So it is impossible to fix this?

It is possible, It just requires time to debug, and an android device, which I don’t have.
On May 2, 2018, 16:41 +0100, StanislavSegreev<EMAIL_ADDRESS>wrote:

Yes, I am working on Android device.
So it is impossible to fix this?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for your help.
I will try to fix my self.

Can I ask one more thing?
why 'metro-bunjdler+0.9.2.patch' is integrated in the project?
what does it do?
Thanks.

expo build scripts break something. Dont remember for sure, either Buffer or Crypto modules, so this patch is a workaround so expo build wont break some libraries
On May 2, 2018, 17:55 +0100, StanislavSegreev<EMAIL_ADDRESS>wrote:

Can I ask one more thing?
why 'metro-bunjdler+0.9.2.patch' is integrated in the project?
what does it do?
Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Fix broken --config command-line argument

Description
Reset the configuration settings at the beginning of program
execution, so that, when passing a custom --config argument
to the program, values from that file are read instead of the
default config file.
Related Issue
https://github.com/QuantConnect/Lean/issues/2249
Motivation and Context
Config file argument was not used in the program.
How Has This Been Tested?
Reproduced the steps 1-7 described in https://github.com/QuantConnect/Lean/issues/2249, and confirmed that the value is now correctly read.
Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Non-functional change (xml comments/documentation/etc)

Checklist:

[X] My code follows the code style of this project.
[X] I have read the CONTRIBUTING document.
[N/A] I have added tests to cover my changes.
[X] All new and existing tests passed.
[X] My branch follows the naming convention bug-<issue#>-<description or feature-<issue#>-<description>

Hi @mblouin02!
Thank you for the issue and PR. Let me suggest a minor change. I believe it would be better to move the Reset() call inside the if statement at https://github.com/QuantConnect/Lean/blob/master/Configuration/Config.cs#L57. That way, if another command line argument is send along with the --config it will also be taken into account.

Hi @Martin-Molinero,
I did the change that you recommended. Feel free to comment.


Add ability to inspect the ISO for kickstart logging

@bdunne Please review.
Expected usage is that if someone doesn't want kickstart logging, they can pass --no-ks-log to vmbuild
I intentionally made the iso_modified.sh a shell script to mirror iso_modify.sh.  That way after someone manually changes it with iso_modify.sh, they can check it with iso_modified.sh in a similar way.
As dicsussed, I've changed the iso_modify.sh to first check if modified, and then we just always call it from the build.  Specific modifications can be opted out with ENV vars.
Backport to morphy depends on https://github.com/ManageIQ/manageiq-appliance-build/pull/495

@bdunne I've updated it as discussed.  Can you take another look?

Backported to morphy in commit 4e58f32c8682f52089341489113fdda901f308fe.
commit 4e58f32c8682f52089341489113fdda901f308fe
Author: Brandon Dunne<EMAIL_ADDRESS>Date:   Fri Jan 7 13:55:53 2022 -0500

    Merge pull request #499 from Fryguy/ensure_kickstart_logging_disabled

    Add ability to inspect the ISO for kickstart logging

    (cherry picked from commit 9cd805052f46282e38134920582c85d52ffaaed0)

@Fryguy A conflict occurred during the backport of this pull request to lasker.
If this pull request is based on another pull request that has not been marked for backport, add the appropriate labels to the other pull request. Otherwise, please create a new pull request direct to the lasker branch in order to resolve this.
Conflict details:
diff --cc config/base.tdl.erb
index 87e85a4,e49297a..0000000
--- a/config/base.tdl.erb
+++ b/config/base.tdl.erb
@@@ -6,7 -6,7 +6,11 @@@
      <version>4</version>
      <arch>x86_64</arch>
      <install type="iso">
++<<<<<<< HEAD
 +      <iso>file:///build/isos/CentOS-Stream-8-x86_64-20210608-dvd1.iso</iso>
++=======
+       <iso>file://<%= ISO_FILE.to_s %></iso>
++>>>>>>> 9cd8050 (Merge pull request #499 from Fryguy/ensure_kickstart_logging_disabled)
      </install>
    </os>
    <description>CentOS TDL meant to be used with custom kickstart for manageiq.</description>
* Unmerged path bin/iso_modify.sh

@Fryguy A conflict occurred during the backport of this pull request to lasker.
If this pull request is based on another pull request that has not been marked for backport, add the appropriate labels to the other pull request. Otherwise, please create a new pull request direct to the lasker branch in order to resolve this.
Conflict details:
diff --cc config/base.tdl.erb
index 87e85a4,e49297a..0000000
--- a/config/base.tdl.erb
+++ b/config/base.tdl.erb
@@@ -6,7 -6,7 +6,11 @@@
      <version>4</version>
      <arch>x86_64</arch>
      <install type="iso">
++<<<<<<< HEAD
 +      <iso>file:///build/isos/CentOS-Stream-8-x86_64-20210608-dvd1.iso</iso>
++=======
+       <iso>file://<%= ISO_FILE.to_s %></iso>
++>>>>>>> 9cd8050 (Merge pull request #499 from Fryguy/ensure_kickstart_logging_disabled)
      </install>
    </os>
    <description>CentOS TDL meant to be used with custom kickstart for manageiq.</description>


Add wsgi support

hi @ofpiyush !
thanks for working this issue, just wanted to check in and see if there are still any plans on getting this merged ?

Hi @drish
At the time, I had stopped because I need to focus on something else.
When I came back with a fresh perspective, I couldn't find a compelling reason to support WSGI.
Right now, this issue is waiting for a compelling reason.

hey @ofpiyush okay, thanks for the update here !
So I think for anybody using a WSGI framework, the option would be to use https://github.com/daroot/protoc-gen-twirp_python_srv, since twirpy only support ASGI frameworks ?

Last when I'd talked to Dan, he mentioned that it's still Python2 and he's unlikely to spend effort on the project as he's moved on from the job.
There's a branch with untested wsgi code on this as well based off of Dan's work.
https://github.com/verloop/twirpy/pull/17
If you can provide a compelling case for WSGI, I'd add it.


Confusion about the gazeto3d function

Hi there,
Thanks for sharing your amazing work. I'm a bit confused about the output format of the model and how gazeto3d function works. Could you please give some intuitions about what the input 'gaze' and the output 'gaze_gt' refer to? Much appreciated!

The most common practice to measure the gaze estimation accuracy/error is in terms of angular error. The angular error is measured between the actual gaze direction ($g ∈ R^3 $) and predicted gaze direction (ˆg ∈ R3) defined as

The output of the model is the gaze direction in spherical angles (pitch and yaw). The angular error is measured between the actual gaze direction () and predicted gaze direction () defined as:
.
So, gazeto3d method used to convert the gaze pitch yaw angles into 3D vector to calculate the angular error.


feat(tutorial): complete step 3 - Boeblingen

Complete step 3 of the carbon tutorial.

@daka1510 Looks amazing 🏆! I've recorded your completion of step 3.


Most links in the documentation are broken

This is where we are told the documentation is:
https://logging.apache.org/log4net/
All the top level links work, but as soon as you click through to a second level, the link is broken e.g.
https://logging.apache.org/log4net/release/sdk/index.html

@marcel-landman thanks for reporting.
I discovered the same yesterday 😉.
A fix (https://github.com/apache/logging-log4net/pull/121/commits/61e28326da40646161fe5167905f6c5f55e468a2) is under way and will be deployed next week (#121).