StrawberryShake: Mutation containing input with a lowercase-named enum type fails generate code

Code generation fails when I try to generate code for a mutation containing a lowercase-named enum type. If I rename jobstatus to JobStatus in the schema below, dotnet build succeeds and code is generated.
This feels like very strange behavior, is this a bug or am I going crazy?
This makes StrawberryShake unusable with e.g. Hasura (https://hasura.io/) which always use lowercase for all GraphQL types.
Error message
$ dotnet build
Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  All projects are up-to-date for restore.
CSC : error SS0006: The given key 'StrawberryShake.RuntimeType' was not present in the dictionary.

Build FAILED.

CSC : error SS0006: The given key 'StrawberryShake.RuntimeType' was not present in the dictionary.
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:03.85

To Reproduce
In a new project, attempt to generate code with the following schema and mutation. This is not my original schema, but the minimum schema I could come up with that produces the error.
InsertJobs.graphql
mutation InsertJobs($object: JobInput!) {
    insertJobs(object: $object)
}

schema.graphql
schema {
  query: QueryRoot
  mutation: MutationRoot
}

enum jobstatus {
  Started
  Processing
  Finished
}

type Job {
  status: jobstatus!
}

input JobInput {
  status: jobstatus!
}

type InsertJobsResponse {
  returning: Job!
}

type QueryRoot {
  jobs(): [Job!]!
}

type MutationRoot {
  insertJobs(object: JobInput!): Boolean!
}

Desktop (please complete the following information):

OS: Win10 (WSL)
Version: StrawberryShake.CodeGeneration.CSharp.Analyzers 12.0.0-preview.3

This is fixed in 12.5

@PascalSenn This issue is still present in 12.7.0.
Reproduction:
mutation InsertProtocol ($name: String!, $type: ProtocolTypes_enum!, $fileUrl: String!) {
    insert_protocols_one(object: {
        name: $name,
        type: $type,
        fileUrl: $fileUrl,
    })
    {
        id
    }
}

Broken schema (the working schema can be found below):
# This file was generated based on ".graphqlconfig". Do not edit manually.

schema {
    query: query_root
    mutation: mutation_root
    subscription: subscription_root
}

"whether this query should be cached (Hasura Cloud only)"
directive @cached(
    "refresh the cache entry"
    refresh: Boolean! = false,
    "measured in seconds"
    ttl: Int! = 60
) on QUERY

"columns and relationships of \"events\""
type events {
    id: uuid!
    name: String!
}

"aggregated selection of \"events\""
type events_aggregate {
    aggregate: events_aggregate_fields
    nodes: [events!]!
}

"aggregate fields of \"events\""
type events_aggregate_fields {
    count(columns: [events_select_column!], distinct: Boolean): Int!
    max: events_max_fields
    min: events_min_fields
}

"aggregate max on columns"
type events_max_fields {
    id: uuid
    name: String
}

"aggregate min on columns"
type events_min_fields {
    id: uuid
    name: String
}

"response of any mutation on the table \"events\""
type events_mutation_response {
    "number of rows affected by the mutation"
    affected_rows: Int!
    "data from the rows affected by the mutation"
    returning: [events!]!
}

"mutation root"
type mutation_root {
    "delete data from the table: \"events\""
    delete_events(
        "filter the rows which have to be deleted"
        where: events_bool_exp!
    ): events_mutation_response
    "delete single row from the table: \"events\""
    delete_events_by_pk(id: uuid!): events
    "delete data from the table: \"protocolTypes\""
    delete_protocolTypes(
        "filter the rows which have to be deleted"
        where: protocolTypes_bool_exp!
    ): protocolTypes_mutation_response
    "delete single row from the table: \"protocolTypes\""
    delete_protocolTypes_by_pk(type: String!): protocolTypes
    "delete data from the table: \"protocols\""
    delete_protocols(
        "filter the rows which have to be deleted"
        where: protocols_bool_exp!
    ): protocols_mutation_response
    "delete single row from the table: \"protocols\""
    delete_protocols_by_pk(id: uuid!): protocols
    "insert data into the table: \"events\""
    insert_events(
        "the rows to be inserted"
        objects: [events_insert_input!]!,
        "upsert condition"
        on_conflict: events_on_conflict
    ): events_mutation_response
    "insert a single row into the table: \"events\""
    insert_events_one(
        "the row to be inserted"
        object: events_insert_input!,
        "upsert condition"
        on_conflict: events_on_conflict
    ): events
    "insert data into the table: \"protocolTypes\""
    insert_protocolTypes(
        "the rows to be inserted"
        objects: [protocolTypes_insert_input!]!,
        "upsert condition"
        on_conflict: protocolTypes_on_conflict
    ): protocolTypes_mutation_response
    "insert a single row into the table: \"protocolTypes\""
    insert_protocolTypes_one(
        "the row to be inserted"
        object: protocolTypes_insert_input!,
        "upsert condition"
        on_conflict: protocolTypes_on_conflict
    ): protocolTypes
    "insert data into the table: \"protocols\""
    insert_protocols(
        "the rows to be inserted"
        objects: [protocols_insert_input!]!,
        "upsert condition"
        on_conflict: protocols_on_conflict
    ): protocols_mutation_response
    "insert a single row into the table: \"protocols\""
    insert_protocols_one(
        "the row to be inserted"
        object: protocols_insert_input!,
        "upsert condition"
        on_conflict: protocols_on_conflict
    ): protocols
    "update data of the table: \"events\""
    update_events(
        "sets the columns of the filtered rows to the given values"
        _set: events_set_input,
        "filter the rows which have to be updated"
        where: events_bool_exp!
    ): events_mutation_response
    "update single row of the table: \"events\""
    update_events_by_pk(
        "sets the columns of the filtered rows to the given values"
        _set: events_set_input,
        pk_columns: events_pk_columns_input!
    ): events
    "update data of the table: \"protocolTypes\""
    update_protocolTypes(
        "sets the columns of the filtered rows to the given values"
        _set: protocolTypes_set_input,
        "filter the rows which have to be updated"
        where: protocolTypes_bool_exp!
    ): protocolTypes_mutation_response
    "update single row of the table: \"protocolTypes\""
    update_protocolTypes_by_pk(
        "sets the columns of the filtered rows to the given values"
        _set: protocolTypes_set_input,
        pk_columns: protocolTypes_pk_columns_input!
    ): protocolTypes
    "update data of the table: \"protocols\""
    update_protocols(
        "sets the columns of the filtered rows to the given values"
        _set: protocols_set_input,
        "filter the rows which have to be updated"
        where: protocols_bool_exp!
    ): protocols_mutation_response
    "update single row of the table: \"protocols\""
    update_protocols_by_pk(
        "sets the columns of the filtered rows to the given values"
        _set: protocols_set_input,
        pk_columns: protocols_pk_columns_input!
    ): protocols
}

"columns and relationships of \"protocolTypes\""
type protocolTypes {
    type: String!
}

"aggregated selection of \"protocolTypes\""
type protocolTypes_aggregate {
    aggregate: protocolTypes_aggregate_fields
    nodes: [protocolTypes!]!
}

"aggregate fields of \"protocolTypes\""
type protocolTypes_aggregate_fields {
    count(columns: [protocolTypes_select_column!], distinct: Boolean): Int!
    max: protocolTypes_max_fields
    min: protocolTypes_min_fields
}

"aggregate max on columns"
type protocolTypes_max_fields {
    type: String
}

"aggregate min on columns"
type protocolTypes_min_fields {
    type: String
}

"response of any mutation on the table \"protocolTypes\""
type protocolTypes_mutation_response {
    "number of rows affected by the mutation"
    affected_rows: Int!
    "data from the rows affected by the mutation"
    returning: [protocolTypes!]!
}

"columns and relationships of \"protocols\""
type protocols {
    fileUrl: String!
    id: uuid!
    name: String!
    type: protocolTypes_enum!
}

"aggregated selection of \"protocols\""
type protocols_aggregate {
    aggregate: protocols_aggregate_fields
    nodes: [protocols!]!
}

"aggregate fields of \"protocols\""
type protocols_aggregate_fields {
    count(columns: [protocols_select_column!], distinct: Boolean): Int!
    max: protocols_max_fields
    min: protocols_min_fields
}

"aggregate max on columns"
type protocols_max_fields {
    fileUrl: String
    id: uuid
    name: String
}

"aggregate min on columns"
type protocols_min_fields {
    fileUrl: String
    id: uuid
    name: String
}

"response of any mutation on the table \"protocols\""
type protocols_mutation_response {
    "number of rows affected by the mutation"
    affected_rows: Int!
    "data from the rows affected by the mutation"
    returning: [protocols!]!
}

type query_root {
    "fetch data from the table: \"events\""
    events(
        "distinct select on columns"
        distinct_on: [events_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [events_order_by!],
        "filter the rows returned"
        where: events_bool_exp
    ): [events!]!
    "fetch aggregated fields from the table: \"events\""
    events_aggregate(
        "distinct select on columns"
        distinct_on: [events_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [events_order_by!],
        "filter the rows returned"
        where: events_bool_exp
    ): events_aggregate!
    "fetch data from the table: \"events\" using primary key columns"
    events_by_pk(id: uuid!): events
    "fetch data from the table: \"protocolTypes\""
    protocolTypes(
        "distinct select on columns"
        distinct_on: [protocolTypes_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocolTypes_order_by!],
        "filter the rows returned"
        where: protocolTypes_bool_exp
    ): [protocolTypes!]!
    "fetch aggregated fields from the table: \"protocolTypes\""
    protocolTypes_aggregate(
        "distinct select on columns"
        distinct_on: [protocolTypes_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocolTypes_order_by!],
        "filter the rows returned"
        where: protocolTypes_bool_exp
    ): protocolTypes_aggregate!
    "fetch data from the table: \"protocolTypes\" using primary key columns"
    protocolTypes_by_pk(type: String!): protocolTypes
    "fetch data from the table: \"protocols\""
    protocols(
        "distinct select on columns"
        distinct_on: [protocols_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocols_order_by!],
        "filter the rows returned"
        where: protocols_bool_exp
    ): [protocols!]!
    "fetch aggregated fields from the table: \"protocols\""
    protocols_aggregate(
        "distinct select on columns"
        distinct_on: [protocols_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocols_order_by!],
        "filter the rows returned"
        where: protocols_bool_exp
    ): protocols_aggregate!
    "fetch data from the table: \"protocols\" using primary key columns"
    protocols_by_pk(id: uuid!): protocols
}

type subscription_root {
    "fetch data from the table: \"events\""
    events(
        "distinct select on columns"
        distinct_on: [events_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [events_order_by!],
        "filter the rows returned"
        where: events_bool_exp
    ): [events!]!
    "fetch aggregated fields from the table: \"events\""
    events_aggregate(
        "distinct select on columns"
        distinct_on: [events_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [events_order_by!],
        "filter the rows returned"
        where: events_bool_exp
    ): events_aggregate!
    "fetch data from the table: \"events\" using primary key columns"
    events_by_pk(id: uuid!): events
    "fetch data from the table: \"protocolTypes\""
    protocolTypes(
        "distinct select on columns"
        distinct_on: [protocolTypes_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocolTypes_order_by!],
        "filter the rows returned"
        where: protocolTypes_bool_exp
    ): [protocolTypes!]!
    "fetch aggregated fields from the table: \"protocolTypes\""
    protocolTypes_aggregate(
        "distinct select on columns"
        distinct_on: [protocolTypes_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocolTypes_order_by!],
        "filter the rows returned"
        where: protocolTypes_bool_exp
    ): protocolTypes_aggregate!
    "fetch data from the table: \"protocolTypes\" using primary key columns"
    protocolTypes_by_pk(type: String!): protocolTypes
    "fetch data from the table: \"protocols\""
    protocols(
        "distinct select on columns"
        distinct_on: [protocols_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocols_order_by!],
        "filter the rows returned"
        where: protocols_bool_exp
    ): [protocols!]!
    "fetch aggregated fields from the table: \"protocols\""
    protocols_aggregate(
        "distinct select on columns"
        distinct_on: [protocols_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocols_order_by!],
        "filter the rows returned"
        where: protocols_bool_exp
    ): protocols_aggregate!
    "fetch data from the table: \"protocols\" using primary key columns"
    protocols_by_pk(id: uuid!): protocols
}

"unique or primary key constraints on table \"events\""
enum events_constraint {
    "unique or primary key constraint"
    events_name_key
    "unique or primary key constraint"
    events_pkey
}

"select columns of table \"events\""
enum events_select_column {
    "column name"
    id
    "column name"
    name
}

"update columns of table \"events\""
enum events_update_column {
    "column name"
    id
    "column name"
    name
}

"column ordering options"
enum order_by {
    "in ascending order, nulls last"
    asc
    "in ascending order, nulls first"
    asc_nulls_first
    "in ascending order, nulls last"
    asc_nulls_last
    "in descending order, nulls first"
    desc
    "in descending order, nulls first"
    desc_nulls_first
    "in descending order, nulls last"
    desc_nulls_last
}

"unique or primary key constraints on table \"protocolTypes\""
enum protocolTypes_constraint {
    "unique or primary key constraint"
    protocolTypes_pkey
}

enum protocolTypes_enum {
    Item1
    Item2
    Item3
}

"select columns of table \"protocolTypes\""
enum protocolTypes_select_column {
    "column name"
    type
}

"update columns of table \"protocolTypes\""
enum protocolTypes_update_column {
    "column name"
    type
}

"unique or primary key constraints on table \"protocols\""
enum protocols_constraint {
    "unique or primary key constraint"
    protocols_pkey
}

"select columns of table \"protocols\""
enum protocols_select_column {
    "column name"
    fileUrl
    "column name"
    id
    "column name"
    name
    "column name"
    type
}

"update columns of table \"protocols\""
enum protocols_update_column {
    "column name"
    fileUrl
    "column name"
    id
    "column name"
    name
    "column name"
    type
}

scalar uuid

"Boolean expression to compare columns of type \"String\". All fields are combined with logical 'AND'."
input String_comparison_exp {
    _eq: String
    _gt: String
    _gte: String
    "does the column match the given case-insensitive pattern"
    _ilike: String
    _in: [String!]
    "does the column match the given POSIX regular expression, case insensitive"
    _iregex: String
    _is_null: Boolean
    "does the column match the given pattern"
    _like: String
    _lt: String
    _lte: String
    _neq: String
    "does the column NOT match the given case-insensitive pattern"
    _nilike: String
    _nin: [String!]
    "does the column NOT match the given POSIX regular expression, case insensitive"
    _niregex: String
    "does the column NOT match the given pattern"
    _nlike: String
    "does the column NOT match the given POSIX regular expression, case sensitive"
    _nregex: String
    "does the column NOT match the given SQL regular expression"
    _nsimilar: String    "does the column match the given POSIX regular expression, case sensitive"
    _regex: String
    "does the column match the given SQL regular expression"
    _similar: String
}

"Boolean expression to filter rows from the table \"events\". All fields are combined with a logical 'AND'."
input events_bool_exp {
    _and: [events_bool_exp!]
    _not: events_bool_exp
    _or: [events_bool_exp!]
    id: uuid_comparison_exp
    name: String_comparison_exp
}

"input type for inserting data into table \"events\""
input events_insert_input {
    id: uuid
    name: String
}

"on_conflict condition type for table \"events\""
input events_on_conflict {
    constraint: events_constraint!
    update_columns: [events_update_column!]! = []
    where: events_bool_exp
}

"Ordering options when selecting data from \"events\"."
input events_order_by {
    id: order_by
    name: order_by
}

"primary key columns input for table: events"
input events_pk_columns_input {
    id: uuid!
}

"input type for updating data in table \"events\""
input events_set_input {
    id: uuid
    name: String
}

"Boolean expression to filter rows from the table \"protocolTypes\". All fields are combined with a logical 'AND'."
input protocolTypes_bool_exp {
    _and: [protocolTypes_bool_exp!]
    _not: protocolTypes_bool_exp
    _or: [protocolTypes_bool_exp!]
    type: String_comparison_exp
}

"Boolean expression to compare columns of type \"protocolTypes_enum\". All fields are combined with logical 'AND'."
input protocolTypes_enum_comparison_exp {
    _eq: protocolTypes_enum
    _in: [protocolTypes_enum!]
    _is_null: Boolean
    _neq: protocolTypes_enum
    _nin: [protocolTypes_enum!]
}

"input type for inserting data into table \"protocolTypes\""
input protocolTypes_insert_input {
    type: String
}

"on_conflict condition type for table \"protocolTypes\""
input protocolTypes_on_conflict {
    constraint: protocolTypes_constraint!
    update_columns: [protocolTypes_update_column!]! = []
    where: protocolTypes_bool_exp
}

"Ordering options when selecting data from \"protocolTypes\"."
input protocolTypes_order_by {
    type: order_by
}

"primary key columns input for table: protocolTypes"
input protocolTypes_pk_columns_input {
    type: String!
}

"input type for updating data in table \"protocolTypes\""
input protocolTypes_set_input {
    type: String
}

"Boolean expression to filter rows from the table \"protocols\". All fields are combined with a logical 'AND'."
input protocols_bool_exp {
    _and: [protocols_bool_exp!]
    _not: protocols_bool_exp
    _or: [protocols_bool_exp!]
    fileUrl: String_comparison_exp
    id: uuid_comparison_exp
    name: String_comparison_exp
    type: protocolTypes_enum_comparison_exp
}

"input type for inserting data into table \"protocols\""
input protocols_insert_input {
    fileUrl: String
    id: uuid
    name: String
    type: protocolTypes_enum
}

"on_conflict condition type for table \"protocols\""
input protocols_on_conflict {
    constraint: protocols_constraint!
    update_columns: [protocols_update_column!]! = []
    where: protocols_bool_exp
}

"Ordering options when selecting data from \"protocols\"."
input protocols_order_by {
    fileUrl: order_by
    id: order_by
    name: order_by
    type: order_by
}

"primary key columns input for table: protocols"
input protocols_pk_columns_input {
    id: uuid!
}

"input type for updating data in table \"protocols\""
input protocols_set_input {
    fileUrl: String
    id: uuid
    name: String
    type: protocolTypes_enum
}

"Boolean expression to compare columns of type \"uuid\". All fields are combined with logical 'AND'."
input uuid_comparison_exp {
    _eq: uuid
    _gt: uuid
    _gte: uuid
    _in: [uuid!]
    _is_null: Boolean
    _lt: uuid
    _lte: uuid
    _neq: uuid
    _nin: [uuid!]
}

Working schema (uppercased protocolTypes_enum to ProtocolTypes_enum):
# This file was generated based on ".graphqlconfig". Do not edit manually.

schema {
    query: query_root
    mutation: mutation_root
    subscription: subscription_root
}

"whether this query should be cached (Hasura Cloud only)"
directive @cached(
    "refresh the cache entry"
    refresh: Boolean! = false,
    "measured in seconds"
    ttl: Int! = 60
) on QUERY

"columns and relationships of \"events\""
type events {
    id: uuid!
    name: String!
}

"aggregated selection of \"events\""
type events_aggregate {
    aggregate: events_aggregate_fields
    nodes: [events!]!
}

"aggregate fields of \"events\""
type events_aggregate_fields {
    count(columns: [events_select_column!], distinct: Boolean): Int!
    max: events_max_fields
    min: events_min_fields
}

"aggregate max on columns"
type events_max_fields {
    id: uuid
    name: String
}

"aggregate min on columns"
type events_min_fields {
    id: uuid
    name: String
}

"response of any mutation on the table \"events\""
type events_mutation_response {
    "number of rows affected by the mutation"
    affected_rows: Int!
    "data from the rows affected by the mutation"
    returning: [events!]!
}

"mutation root"
type mutation_root {
    "delete data from the table: \"events\""
    delete_events(
        "filter the rows which have to be deleted"
        where: events_bool_exp!
    ): events_mutation_response
    "delete single row from the table: \"events\""
    delete_events_by_pk(id: uuid!): events
    "delete data from the table: \"protocolTypes\""
    delete_protocolTypes(
        "filter the rows which have to be deleted"
        where: protocolTypes_bool_exp!
    ): protocolTypes_mutation_response
    "delete single row from the table: \"protocolTypes\""
    delete_protocolTypes_by_pk(type: String!): protocolTypes
    "delete data from the table: \"protocols\""
    delete_protocols(
        "filter the rows which have to be deleted"
        where: protocols_bool_exp!
    ): protocols_mutation_response
    "delete single row from the table: \"protocols\""
    delete_protocols_by_pk(id: uuid!): protocols
    "insert data into the table: \"events\""
    insert_events(
        "the rows to be inserted"
        objects: [events_insert_input!]!,
        "upsert condition"
        on_conflict: events_on_conflict
    ): events_mutation_response
    "insert a single row into the table: \"events\""
    insert_events_one(
        "the row to be inserted"
        object: events_insert_input!,
        "upsert condition"
        on_conflict: events_on_conflict
    ): events
    "insert data into the table: \"protocolTypes\""
    insert_protocolTypes(
        "the rows to be inserted"
        objects: [protocolTypes_insert_input!]!,
        "upsert condition"
        on_conflict: protocolTypes_on_conflict
    ): protocolTypes_mutation_response
    "insert a single row into the table: \"protocolTypes\""
    insert_protocolTypes_one(
        "the row to be inserted"
        object: protocolTypes_insert_input!,
        "upsert condition"
        on_conflict: protocolTypes_on_conflict
    ): protocolTypes
    "insert data into the table: \"protocols\""
    insert_protocols(
        "the rows to be inserted"
        objects: [protocols_insert_input!]!,
        "upsert condition"
        on_conflict: protocols_on_conflict
    ): protocols_mutation_response
    "insert a single row into the table: \"protocols\""
    insert_protocols_one(
        "the row to be inserted"
        object: protocols_insert_input!,
        "upsert condition"
        on_conflict: protocols_on_conflict
    ): protocols
    "update data of the table: \"events\""
    update_events(
        "sets the columns of the filtered rows to the given values"
        _set: events_set_input,
        "filter the rows which have to be updated"
        where: events_bool_exp!
    ): events_mutation_response
    "update single row of the table: \"events\""
    update_events_by_pk(
        "sets the columns of the filtered rows to the given values"
        _set: events_set_input,
        pk_columns: events_pk_columns_input!
    ): events
    "update data of the table: \"protocolTypes\""
    update_protocolTypes(
        "sets the columns of the filtered rows to the given values"
        _set: protocolTypes_set_input,
        "filter the rows which have to be updated"
        where: protocolTypes_bool_exp!
    ): protocolTypes_mutation_response
    "update single row of the table: \"protocolTypes\""
    update_protocolTypes_by_pk(
        "sets the columns of the filtered rows to the given values"
        _set: protocolTypes_set_input,
        pk_columns: protocolTypes_pk_columns_input!
    ): protocolTypes
    "update data of the table: \"protocols\""
    update_protocols(
        "sets the columns of the filtered rows to the given values"
        _set: protocols_set_input,
        "filter the rows which have to be updated"
        where: protocols_bool_exp!
    ): protocols_mutation_response
    "update single row of the table: \"protocols\""
    update_protocols_by_pk(
        "sets the columns of the filtered rows to the given values"
        _set: protocols_set_input,
        pk_columns: protocols_pk_columns_input!
    ): protocols
}

"columns and relationships of \"protocolTypes\""
type protocolTypes {
    type: String!
}

"aggregated selection of \"protocolTypes\""
type protocolTypes_aggregate {
    aggregate: protocolTypes_aggregate_fields
    nodes: [protocolTypes!]!
}

"aggregate fields of \"protocolTypes\""
type protocolTypes_aggregate_fields {
    count(columns: [protocolTypes_select_column!], distinct: Boolean): Int!
    max: protocolTypes_max_fields
    min: protocolTypes_min_fields
}

"aggregate max on columns"
type protocolTypes_max_fields {
    type: String
}

"aggregate min on columns"
type protocolTypes_min_fields {
    type: String
}

"response of any mutation on the table \"protocolTypes\""
type protocolTypes_mutation_response {
    "number of rows affected by the mutation"
    affected_rows: Int!
    "data from the rows affected by the mutation"
    returning: [protocolTypes!]!
}

"columns and relationships of \"protocols\""
type protocols {
    fileUrl: String!
    id: uuid!
    name: String!
    type: ProtocolTypes_enum!
}

"aggregated selection of \"protocols\""
type protocols_aggregate {
    aggregate: protocols_aggregate_fields
    nodes: [protocols!]!
}

"aggregate fields of \"protocols\""
type protocols_aggregate_fields {
    count(columns: [protocols_select_column!], distinct: Boolean): Int!
    max: protocols_max_fields
    min: protocols_min_fields
}

"aggregate max on columns"
type protocols_max_fields {
    fileUrl: String
    id: uuid
    name: String
}

"aggregate min on columns"
type protocols_min_fields {
    fileUrl: String
    id: uuid
    name: String
}

"response of any mutation on the table \"protocols\""
type protocols_mutation_response {
    "number of rows affected by the mutation"
    affected_rows: Int!
    "data from the rows affected by the mutation"
    returning: [protocols!]!
}

type query_root {
    "fetch data from the table: \"events\""
    events(
        "distinct select on columns"
        distinct_on: [events_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [events_order_by!],
        "filter the rows returned"
        where: events_bool_exp
    ): [events!]!
    "fetch aggregated fields from the table: \"events\""
    events_aggregate(
        "distinct select on columns"
        distinct_on: [events_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [events_order_by!],
        "filter the rows returned"
        where: events_bool_exp
    ): events_aggregate!
    "fetch data from the table: \"events\" using primary key columns"
    events_by_pk(id: uuid!): events
    "fetch data from the table: \"protocolTypes\""
    protocolTypes(
        "distinct select on columns"
        distinct_on: [protocolTypes_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocolTypes_order_by!],
        "filter the rows returned"
        where: protocolTypes_bool_exp
    ): [protocolTypes!]!
    "fetch aggregated fields from the table: \"protocolTypes\""
    protocolTypes_aggregate(
        "distinct select on columns"
        distinct_on: [protocolTypes_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocolTypes_order_by!],
        "filter the rows returned"
        where: protocolTypes_bool_exp
    ): protocolTypes_aggregate!
    "fetch data from the table: \"protocolTypes\" using primary key columns"
    protocolTypes_by_pk(type: String!): protocolTypes
    "fetch data from the table: \"protocols\""
    protocols(
        "distinct select on columns"
        distinct_on: [protocols_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocols_order_by!],
        "filter the rows returned"
        where: protocols_bool_exp
    ): [protocols!]!
    "fetch aggregated fields from the table: \"protocols\""
    protocols_aggregate(
        "distinct select on columns"
        distinct_on: [protocols_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocols_order_by!],
        "filter the rows returned"
        where: protocols_bool_exp
    ): protocols_aggregate!
    "fetch data from the table: \"protocols\" using primary key columns"
    protocols_by_pk(id: uuid!): protocols
}

type subscription_root {
    "fetch data from the table: \"events\""
    events(
        "distinct select on columns"
        distinct_on: [events_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [events_order_by!],
        "filter the rows returned"
        where: events_bool_exp
    ): [events!]!
    "fetch aggregated fields from the table: \"events\""
    events_aggregate(
        "distinct select on columns"
        distinct_on: [events_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [events_order_by!],
        "filter the rows returned"
        where: events_bool_exp
    ): events_aggregate!
    "fetch data from the table: \"events\" using primary key columns"
    events_by_pk(id: uuid!): events
    "fetch data from the table: \"protocolTypes\""
    protocolTypes(
        "distinct select on columns"
        distinct_on: [protocolTypes_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocolTypes_order_by!],
        "filter the rows returned"
        where: protocolTypes_bool_exp
    ): [protocolTypes!]!
    "fetch aggregated fields from the table: \"protocolTypes\""
    protocolTypes_aggregate(
        "distinct select on columns"
        distinct_on: [protocolTypes_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocolTypes_order_by!],
        "filter the rows returned"
        where: protocolTypes_bool_exp
    ): protocolTypes_aggregate!
    "fetch data from the table: \"protocolTypes\" using primary key columns"
    protocolTypes_by_pk(type: String!): protocolTypes
    "fetch data from the table: \"protocols\""
    protocols(
        "distinct select on columns"
        distinct_on: [protocols_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocols_order_by!],
        "filter the rows returned"
        where: protocols_bool_exp
    ): [protocols!]!
    "fetch aggregated fields from the table: \"protocols\""
    protocols_aggregate(
        "distinct select on columns"
        distinct_on: [protocols_select_column!],
        "limit the number of rows returned"
        limit: Int,
        "skip the first n rows. Use only with order_by"
        offset: Int,
        "sort the rows by one or more columns"
        order_by: [protocols_order_by!],
        "filter the rows returned"
        where: protocols_bool_exp
    ): protocols_aggregate!
    "fetch data from the table: \"protocols\" using primary key columns"
    protocols_by_pk(id: uuid!): protocols
}

"unique or primary key constraints on table \"events\""
enum events_constraint {
    "unique or primary key constraint"
    events_name_key
    "unique or primary key constraint"
    events_pkey
}

"select columns of table \"events\""
enum events_select_column {
    "column name"
    id
    "column name"
    name
}

"update columns of table \"events\""
enum events_update_column {
    "column name"
    id
    "column name"
    name
}

"column ordering options"
enum order_by {
    "in ascending order, nulls last"
    asc
    "in ascending order, nulls first"
    asc_nulls_first
    "in ascending order, nulls last"
    asc_nulls_last
    "in descending order, nulls first"
    desc
    "in descending order, nulls first"
    desc_nulls_first
    "in descending order, nulls last"
    desc_nulls_last
}

"unique or primary key constraints on table \"protocolTypes\""
enum protocolTypes_constraint {
    "unique or primary key constraint"
    protocolTypes_pkey
}

enum ProtocolTypes_enum {
    Item1
    Item2
    Item3
}

"select columns of table \"protocolTypes\""
enum protocolTypes_select_column {
    "column name"
    type
}

"update columns of table \"protocolTypes\""
enum protocolTypes_update_column {
    "column name"
    type
}

"unique or primary key constraints on table \"protocols\""
enum protocols_constraint {
    "unique or primary key constraint"
    protocols_pkey
}

"select columns of table \"protocols\""
enum protocols_select_column {
    "column name"
    fileUrl
    "column name"
    id
    "column name"
    name
    "column name"
    type
}

"update columns of table \"protocols\""
enum protocols_update_column {
    "column name"
    fileUrl
    "column name"
    id
    "column name"
    name
    "column name"
    type
}

scalar uuid

"Boolean expression to compare columns of type \"String\". All fields are combined with logical 'AND'."
input String_comparison_exp {
    _eq: String
    _gt: String
    _gte: String
    "does the column match the given case-insensitive pattern"
    _ilike: String
    _in: [String!]
    "does the column match the given POSIX regular expression, case insensitive"
    _iregex: String
    _is_null: Boolean
    "does the column match the given pattern"
    _like: String
    _lt: String
    _lte: String
    _neq: String
    "does the column NOT match the given case-insensitive pattern"
    _nilike: String
    _nin: [String!]
    "does the column NOT match the given POSIX regular expression, case insensitive"
    _niregex: String
    "does the column NOT match the given pattern"
    _nlike: String
    "does the column NOT match the given POSIX regular expression, case sensitive"
    _nregex: String
    "does the column NOT match the given SQL regular expression"
    _nsimilar: String
    "does the column match the given POSIX regular expression, case sensitive"
    _regex: String
    "does the column match the given SQL regular expression"
    _similar: String
}

"Boolean expression to filter rows from the table \"events\". All fields are combined with a logical 'AND'."
input events_bool_exp {
    _and: [events_bool_exp!]
    _not: events_bool_exp
    _or: [events_bool_exp!]
    id: uuid_comparison_exp
    name: String_comparison_exp
}

"input type for inserting data into table \"events\""
input events_insert_input {
    id: uuid
    name: String
}

"on_conflict condition type for table \"events\""
input events_on_conflict {
    constraint: events_constraint!
    update_columns: [events_update_column!]! = []
    where: events_bool_exp
}

"Ordering options when selecting data from \"events\"."
input events_order_by {
    id: order_by
    name: order_by
}

"primary key columns input for table: events"
input events_pk_columns_input {
    id: uuid!
}

"input type for updating data in table \"events\""
input events_set_input {
    id: uuid
    name: String
}

"Boolean expression to filter rows from the table \"protocolTypes\". All fields are combined with a logical 'AND'."
input protocolTypes_bool_exp {
    _and: [protocolTypes_bool_exp!]
    _not: protocolTypes_bool_exp
    _or: [protocolTypes_bool_exp!]
    type: String_comparison_exp
}

"Boolean expression to compare columns of type \"ProtocolTypes_enum\". All fields are combined with logical 'AND'."
input ProtocolTypes_enum_comparison_exp {
    _eq: ProtocolTypes_enum
    _in: [ProtocolTypes_enum!]
    _is_null: Boolean
    _neq: ProtocolTypes_enum
    _nin: [ProtocolTypes_enum!]
}

"input type for inserting data into table \"protocolTypes\""
input protocolTypes_insert_input {
    type: String
}

"on_conflict condition type for table \"protocolTypes\""
input protocolTypes_on_conflict {
    constraint: protocolTypes_constraint!
    update_columns: [protocolTypes_update_column!]! = []
    where: protocolTypes_bool_exp
}

"Ordering options when selecting data from \"protocolTypes\"."
input protocolTypes_order_by {
    type: order_by
}

"primary key columns input for table: protocolTypes"
input protocolTypes_pk_columns_input {
    type: String!
}

"input type for updating data in table \"protocolTypes\""
input protocolTypes_set_input {
    type: String
}

"Boolean expression to filter rows from the table \"protocols\". All fields are combined with a logical 'AND'."
input protocols_bool_exp {
    _and: [protocols_bool_exp!]
    _not: protocols_bool_exp
    _or: [protocols_bool_exp!]
    fileUrl: String_comparison_exp
    id: uuid_comparison_exp
    name: String_comparison_exp
    type: ProtocolTypes_enum_comparison_exp
}

"input type for inserting data into table \"protocols\""
input protocols_insert_input {
    fileUrl: String
    id: uuid
    name: String
    type: ProtocolTypes_enum
}

"on_conflict condition type for table \"protocols\""
input protocols_on_conflict {
    constraint: protocols_constraint!
    update_columns: [protocols_update_column!]! = []
    where: protocols_bool_exp
}

"Ordering options when selecting data from \"protocols\"."
input protocols_order_by {
    fileUrl: order_by
    id: order_by
    name: order_by
    type: order_by
}

"primary key columns input for table: protocols"
input protocols_pk_columns_input {
    id: uuid!
}

"input type for updating data in table \"protocols\""
input protocols_set_input {
    fileUrl: String
    id: uuid
    name: String
    type: ProtocolTypes_enum
}

"Boolean expression to compare columns of type \"uuid\". All fields are combined with logical 'AND'."
input uuid_comparison_exp {
    _eq: uuid
    _gt: uuid
    _gte: uuid
    _in: [uuid!]
    _is_null: Boolean
    _lt: uuid
    _lte: uuid
    _neq: uuid
    _nin: [uuid!]
}

I can confirm this issue still exists, and its quite annoying, first i had to spend mutiple hours to figure out why the code was not generating, there is no errors or any clue why its not working. Second i had to rename all the enum reference in the project. After this it worked.

@mazaycheck  what version are you on?

So the only workaround i found - is to rename all enum types in your schema.graphql to scalar and remove all the enum cases, and just work with raw string values from there.

Hi @PascalSenn, can you help with this issue? Would really appreciate if you have any advice.

We will soon shift focus back to StrawberryShake 13 and then look at this issue.


Consider a "no build config found, are you in the right directory?" warning at startup

problem
When SBT is started in a directory without *.sbt or ./project/*.scala, SBT will soldier on, using defaults and config from the home directory.
The SBT-extras launcher script issues a error in this case, requiring -sbt-create to continue. I think this warning is useful enough to move into SBT itself.
A common way people make this mistake is to start SBT in a subdirectory of the project, rather than in the root.
expectation
SBT's official launcher script, or SBT's startup itself, could issue a warning if no project-specific config was found. This could be augmented with a search of the parent directories to give a "did you mean cd ../..; sbt?"
notes
Inspired by this new user experience https://gitter.im/scala/scala?at=5784992359cfbd4c5e8414a1

I agree. I also created https://github.com/sbt/sbt/issues/2669 as a related issue.

Wasn't one of the big talking points of SBT that one could start it with zero configuration and have it working? (Probably even more important in relation to #2669.)

Was it? I think it's a good feature, but not a blocker for 1.0.0, and should be carefully weighed against this and #2669's use case.

Wasn't one of the big talking points of SBT that one could start it with zero configuration and have it work?

Yes. When Mark first demo'ed sbt 0.9 I remember him starting up sbt without any configuration and interactively adding settings via set name := "hello" and session save. When Josh or I give intro to sbt talks, we also do something similar to showcase that you can use sbt in its default state for a while.
Displaying a warning I don't think necessarily conflicts with sbt being functional without any scripts.

@eed3si9n In #2669 more than a warning is considered.

Coming back to this issue since it's part of the sbt 1.0.0 milestone...
In how many ever years I've been using sbt (since sbt 0.7.7) I don't think I've ever started a build by launching sbt in zero configuration, and started typing set commands into the shell and used session save to save to build.sbt. I don't think that use case never took off, and sbt 0.13 introducing multi-project build and auto plugins more or less killed it.
I see the direction proposed by sbt-extras and Jason to be more beneficial to the actual users of sbt.
Here's what I suggest we do:

If sbt new command is called, don't issue warning.
Otherwise, if no build files are found issue warning. Give the user an option to run sbt new sbt/hello.g8 or quit.
When the build starts up, and if there are build files but no project/build.properties, display warning that project/build.properties is missing and create one.

Shall we close #754 in favour of this (or vice versa), or is it distinct?

I'd say close #754 when the PR is merged.

I agree to the rest, but for that last step I would prefer prompting the user instead of creating and warning.
Also I don't think this change is breaking, so we could ship it in 0.13 if someone contributed it.

So even though I've read and commented on this issue a number of times, I apparently did it without ever switching my brain off.

#754 is about project/build.properties, and warning or creating it if it's absent.
#2668 (this issue) is about warning if no *.sbt or ./project/*.scala files are found

In my opinion, we should resolve #754, and doing so would satisfy the underlying use case here.

WRT to this issue of sbt 0.13.15 you get startup warning, in sbt 0.13.16 it'll look like this:


feat(crosswalk_traffic_light): add detector and classifier for pedestrian traffic light

Description

The purposes are

to detect traffic lights that are for pedestrians as that are for cars
to cope with the flashing of traffic lights

Check details in https://tier4.atlassian.net/wiki/spaces/~459732634/pages/2869756582
Main changes include:

adding crosswalk traffic lights into the target list of the map based detector, so that their rough/rois are calculated
replacing the detector with the new model which can detect both car and pedestrian traffic light
adding a classifier for pedestrian traffic light
modifying the occlusion predictor, so that the output of two classifiers can be synchronized
modifying the crosswalk estimator, so that the flashing state is considered for the final output. Check description in: https://tier4.atlassian.net/wiki/spaces/~459732634/pages/2933130203#アルゴリズム
modifying the launch files

Related links

Tests performed
Results: https://tier4.atlassian.net/wiki/spaces/~459732634/pages/2952200606
ros2 launch autoware_launch logging_simulator.launch.xml  map_path:=~/map/odaiba_pedtlr_edited/  vehicle_model:=jpntaxi  sensor_model:=aip_xx1  vehicle_id:=4  map:=true  sensing:=false  localization:=false  perception:=true  planning:=false  use_external_lane_change:=false  control:=false  rviz:=true
detector onnx: https://drive.google.com/file/d/1UKCrhqSlydViNgh6aEX1fzhrquexLIWw/view?usp=drive_link
classifier onnx: https://drive.google.com/file/d/1H29bBEkLNEahvbpyO5Y7RtUY6SQja3Cw/view?usp=drive_link
edited map: https://drive.google.com/drive/folders/1jYobyhS_6F03J-60DV7O-YaguXcMaaur?usp=drive_link
tested rosbag: https://drive.google.com/drive/folders/1mylLtw2SBF0JQP03rpBddg8fH_yjhGAK?usp=drive_link
To visualize the final result on the map, please add /perception/traffic_light_recognition/traffic_signals/markers to the Rviz.
Videos based on odaiba rosbag:
https://github.com/autowarefoundation/autoware.universe/assets/55872497/cf33b2dc-29e8-4b0a-a9ed-d5b84bbab48c
https://github.com/autowarefoundation/autoware.universe/assets/55872497/a3daa42d-500e-4a13-bcf6-ae08521000e9
https://github.com/autowarefoundation/autoware.universe/assets/55872497/e7d7e7cf-7919-4009-98bd-6ebf37689ce9
https://github.com/autowarefoundation/autoware.universe/assets/55872497/e73f3b00-f2f4-4cd0-aa69-72b2783556d8
Notes for reviewers

Interface changes

Effects on system behavior

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

If possible, could you post a video of the detection results here as well?

If possible, could you post a video of the detection results here as well?

Yes, I attached them in the desription.

Why this line is not changed?
The outputs of yolox changes from 2 classes to 3 classes.
https://github.com/autowarefoundation/autoware.universe/blob/a6f921e2b8e974ce9c3debdd34f043f06e67ef26/perception/traffic_light_fine_detector/src/nodelet.cpp#L60

CI errors are fixed.


Episode 2: Setting Resource Location

Hi @sam-cogan;
Thanks for the course - i really needed something that showed me how to set up Git/VSCode and get going with Bicep :)
I have an issue with Episode 2 that i havent been able to resolve - im not asked for the value of the location parameter - so my code doesnt deploy into westeurope - i have an RG that was built by the az group create statement
but when i try and deploy using the az group deployment create -g lamda-api-dev --template-file .\Infrastructure\core.bicep statement with the code below

i dont get prompted for a region so the networking resources don't deploy
any thoughts on where i am going wrong?

Thanks!

That's odd that it's not asking you for the missing values. I'll have a look at replicating that this evening, but in the the mean time you can supply the paramters at the command line to get round this issue, just add this property to your AZ CLI command, changing values to what you desire:
--parameters location=westeurop prefix=dev

I've tested this in PowerShell Core, PowerShell 5 and CMD and all of them do ask for the missing parameter for me.
Can you confirm what version of the Azure CLI you're running? Could you also attach the full bicep file you are running, or paste the content into this issue?

Hi Sam,
Thanks for getting back to me / i do appreciate it :)
I am running Azure CLI V2.42.0 (I had to upgrade from the windows package manager version (2.41.0) to get to current version - but this makes no difference.
I am also running Bicep CLI <IP_ADDRESS>0 if that makes a difference...
my 2 files (same issues) my file - core.bicep (my typing out your code) & sccore.bicep - copied from your episode 2 github code.
i did notice that there is a dev.json in the configuration folder of Episode 2.... 🤷♂.
Thanks
SF
bicepfiles.zip

@shadowfixer the files in the zip look to be 0kb and have not content. Can you try uploading again?
The dev.json file is used a bit later in the video where we switch to using that for passing parameters rather than in the CLI, and we will do that for the rest of the course. So, if you want to skip the first run using the CLI and continue on with the video, using the parmater file will work.

Hi there @sam-cogan ..
I think i found the problem, and its all user error - so thank you for your help & apologies for wasting your time #hangsheadinshame.
I think the reason was that I didnt commit the core.bicep in vscode, so the AZ CLI couldnt read the "empty" file in the repos folder...
I have a Please provide string value for 'location' (? for help): so all is good :)
Thanks again!


Add support for server pre render

What does this PR do and why?

Uses PRE_RENDER_INFURA_ID for server based calls infura.
uses GRAPHQL_SCHEMA_SUBGRAPH_URL for schema generation

Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Woohoo! Added those env vars to both rinkeby and mainnet and the build passed. Going to merge this to unblock main 🎉


[Build] NFC: Remove uses of buildTriple from computeDependencies(of:)

Motivation:
Now that we have all the tools to compute destinations for dependencies of a product,
we no longer need buildTriple here and dynamic/static library results could be represented
by build descriptions as a bonus.
Modifications:

BuildPlan.computeDependencies(of:) has been updated to take a ProductBuildDescription and use depth first scan that computes destination;
Further, dynamic and static library dependencies are now presented by build descriptions which means that we no longer need to look stuff up while planning.

Result:
One more use of buildTriple is gone.

@swift-ci please test


Feature: convert docs to pdf

I just received my remarkable 2 and am using it to replace paper (I hate printing things). I set up this app script and was kind of disappointed that this only syncs PDF and ePUB files.
Considering GDrive has PDF conversion built in by accessing the blob object as PDF, would it be as simple as editing https://github.com/bsdz/google-drive-remarkable-sync/blob/master/Synchronizer.js#L158 to grab it as a PDF? Any other gotchas (such as https://github.com/bsdz/google-drive-remarkable-sync/blob/master/Synchronizer.js#L243) that I need to be aware of when implementing this feature?
I use GDrive as my word processor and having updated notes auto synced to my remarkable will be huge - even if it is only one way.

Considering GDrive has PDF conversion built in by accessing the blob object as PDF, would it be as simple as editing https://github.com/bsdz/google-drive-remarkable-sync/blob/master/Synchronizer.js#L158 to grab it as a PDF? Any other gotchas (such as https://github.com/bsdz/google-drive-remarkable-sync/blob/master/Synchronizer.js#L243) that I need to be aware of when implementing this feature?

I feel this would be a nice feature to add and, tbh, I wasn't even aware of GDrive's built-in blob conversion until now. You seem to have the gist of what's going on in the Synchronizer. There might be some additional logic needed since the original file names might be like "foo.doc" whereas the targets will be like "foo.pdf".

Please review #11 and comment on the code.

After a few days of use, I can see the changes being seen on the script, however, I only get cached copies on my tablet/phone app. Any ideas on why the server is not being updated with the new version?

After a few days of use, I can see the changes being seen on the script, however, I only get cached copies on my tablet/phone app. Any ideas on why the server is not being updated with the new version?

Sorry I've not had a chance to look at it properly yet. I think my initial thoughts were it looked mostly fine although I was uncertain about the need to capture and store last runtime. I doubt that would cause the files not to update. I do recall if one doesn't upload the correct meta data then the server might ignore the corresponding file.

Sorry I've not had a chance to look at it properly yet. I think my initial thoughts were it looked mostly fine although I was uncertain about the need to capture and store last runtime. I doubt that would cause the files not to update. I do recall if one doesn't upload the correct meta data then the server might ignore the corresponding file.

No worries about not looking at it - I realize I did it over the holiday and life is busy :)
I stored the last run time so that the sync could select only updated files and skip over unchanged files. It was quite the painful process for my small 100 file workload to have it sync over all files every script run.
I am still doing a bit of debugging on my end. At first glance, it seems if I delete the file on the remarkable, it goes to the trash folder. A new sync moves the trashed file to its previous location without updating its contents. I am going to take a closer look.

No worries about not looking at it - I realize I did it over the holiday and life is busy :)
I stored the last run time so that the sync could select only updated files and skip over unchanged files. It was quite the painful process for my small 100 file workload to have it sync over all files every script run.
I am still doing a bit of debugging on my end. At first glance, it seems if I delete the file on the remarkable, it goes to the trash folder. A new sync moves the trashed file to its previous location without updating its contents. I am going to take a closer look.


Bug: GwSeries.from_dinogws does not work for series with multiple periods

Hi thanks for providing the package. Much appreciated. The package works perfectly for dinoloket GW-series.  The only thing is when I try to read a location with multiple measuring periods acequia doesn't work as expected.
B30G0583001_1.xlsx

Hi Simon
Thank you for reporting this bug in GwSeries.from_dinogws().
I am sorry for my late reply; not used to getting feedback on acequia yet. I fixed the bug and tested repair with the enclosed jupyter notebook.
greeting, Thomas de Meij
bugfix_#1_fromdinogws.zip


Boost compiles with Android

Compiled boost static libs under MacOSX 10.9.4 with toolchains:
Android NDK r10e
Default Xcode 6.1.1 (Apple LLVM version 6.0 (clang-600.0.56)
NOTE: we are changing CMAKE_CXX_FLAGS by adding the contents of include_directories(SYSTEM ...) and add_definitions(...), but since Boost compilation runs in a child CMake script, the application won't have any duplicate flags. I don't know if relying on the behavior that it runs on child CMake script can bring any drawbacks in the future.

@pretyman Thanks for working on this! I'm still in process of testing CMake module for creating/running Android APK. I will test android.boost as soon as possible. This code looks pretty simple and clear, this is great :)

Thank you for opensourcing hunter :-)
I was maintaining my own build scripts and it was a little hell by itself,
nice you came up with such a tool.
I can't wait to get my app compiling in Android. I created the autotools
scheme on Sunday, it works, but I think it needs a redesign to be more
maintainable. I'll commit it as soon it is ok.
On 1 June 2015 at 06:54, Ruslan Baratov<EMAIL_ADDRESS>wrote:

@pretyman https://github.com/pretyman Thanks for working on this! I'm
still in process of testing CMake module for creating/running Android APK.
I will test android.boost as soon as possible. This code looks pretty
simple and clear, this is great :)
—
Reply to this email directly or view it on GitHub
https://github.com/ruslo/hunter/pull/159#issuecomment-107399162.

--
Alexandre Pretyman

Thank you for opensourcing hunter :-)

Well I guess I have no choice. Nobody need one more closed source solution. And this is good.

I think it needs a redesign to be more maintainable. I'll commit it as soon it is ok

Okay, just create a pull request and we'll see how we can make it simplier. Thanks for working on this! :)

Boost-filesystem example successfully compiled without linker errors with this fix: https://github.com/ruslo/hunter/commit/1a146ed650a1368897b7c8b02434eaa06d0b0a0a

Great! :+1:


Browser storage for authentication handling

Hi!
https://github.com/microsoft/playwright/releases/tag/v1.7.0 added the browser storage API. How would this be used with this package? Could it be described somewhere in the docs, or is it not possible?

Hi, sorry for taking so long. Is the storage.py example script introduced in 8c3ea7162e78dbdf417cc38695a574f3826e54bb useful to you?
Here's are the relevant bits:
PageCoroutine("evaluate_handle", "window.localStorage.setItem('foo', 'bar');"),

$ python examples/storage.py
(...)
2021-03-26 21:14:12 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://example.org> (referer: None) ['playwright']
2021-03-26 21:14:13 [scrapy.core.scraper] DEBUG: Scraped from <200 https://example.org/>
{'url': 'https://example.org/', 'storage_state': {'cookies': [], 'origins': [{'origin': 'https://example.org', 'localStorage': [{'name': 'foo', 'value': 'bar'}]}]}}
(...)

I am not sure, it seems the Playwright storage API is a bit more powerful in saving all state easily. (cookies, local storage, session storage, IndexedDB etc.)

It's only possible to pass storage state to Browser.new_page and Browser.new_context (meaning it's possible to set via the PLAYWRIGHT_CONTEXT_ARGS setting). However, the BrowserContext.new_page method does not take any arguments, so there is currently no way to set storage state when creating new pages.

I think setting storage state per context is the right approach.

Besides defining values on startup as currently possible, #13 will allow to set storage data on dynamically created contexts.


Integrate explainability for hybrid query into RRF processor

Description
Adding explainability support to RRF processor
This PR adds explainability functionality to the RRF (Reciprocal Rank Fusion) processor. It's being submitted to the feature branch while the application security review for the RRF feature is in progress.
Key changes:

Implemented explainability support for RRF
Changed explanation details for case when sorting is enabled by field other then score, we return 0.0 as the score in explanation
Minor refactoring and more unit tests

PR for explainability feature https://github.com/opensearch-project/neural-search/pull/1014
Example response when RRF is part of the search pipeline and the 'explain' flag is set:
"hits": {
        "total": {
            "value": 5,
            "relation": "eq"
        },
        "max_score": 0.032522473,
        "hits": [
            {
                "_shard": "[index-test][0]",
                "_node": "oEdoEKSrReuk_oX9PJilBg",
                "_index": "index-test",
                "_id": "LJS935MBlqE6ecphe2i6",
                "_score": 0.032522473,
                "_source": {
                    "field1": 50,
                    "vector": [
                        4.2,
                        5.5,
                        8.9
                    ],
                    "name": "Why would he go to all that effort for a free pack of ranch dressing?",
                    "category": "story",
                    "price": 10
                },
                "_explanation": {
                    "value": 0.032522473,
                    "description": "rrf combination of:",
                    "details": [
                        {
                            "value": 0.016393442,
                            "description": "rrf, rank_constant [60] normalization of:",
                            "details": [
                                {
                                    "value": 1.0,
                                    "description": "field1:[20 TO 150]",
                                    "details": []
                                }
                            ]
                        },
                        {
                            "value": 0.016129032,
                            "description": "rrf, rank_constant [60] normalization of:",
                            "details": [
                                {
                                    "value": 0.019948136,
                                    "description": "within top 12",
                                    "details": []
                                }
                            ]
                        }
                    ]
                }
            },

Check List

[X] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[X] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Should we add more unit test to increase test coverage?
Patch coverage is 62.50000% with 12 lines

Should we add more unit test to increase test coverage? Patch coverage is 62.50000% with 12 lines

Actual coverage should be higher than that. I've added several unit tests, and the run that is currently in this PR, is old (12/18 ~2pm PST). All next runs got throttled because of the shared limited quota for uploads (example)


add emitter for internal metrics and accumulator

From Spark 2.0, Spark application's internal metrics such as executorRuntime are logged as an accumulator per stage. This PR enables those metrics, as well as custom accumulators, to be emitted to the server.
The default emitter is NoopEmitter, so the behavior of the indexing task should stay the same even if the configuration is not changed after the update to this version.

nvmnd, spoke with Jisoo, is needed


Add warning to docs about using extraResources alongside static assets.

Tell me about your development environment.
> node --version
v8.9.4
> npm --version
5.6.0
> # And I'm running Windows 10.

Describe the issue / bug.
Setting extraResources in package.json (docs), like this --
"build": {
	"extraResources: [
		"dir-to-include-as-a-resource"
	]
}

-- breaks the static folder when the project is built with electron-builder. This can be resolved by adding static to extraResources:
"build": {
	"extraResources: [
		"static",
		"dir-to-include-as-a-resource"
	]
}

This wasn't immediately clear to me, I think it should mentioned in the docs.

I'd be happy to open a PR, but I'm not sure where in the docs it should go.


Incorrect JSON Serialization on .NET Framework 4.7.2 if Entity has [Serializable] attribute and Lazy Loading enabled

I am not 100% sure that the issue is with EF Core, but this seems like a good place to start. Also, given how specific this issue is - it might be not worth fixing, but it definitely worth at least documenting it here so other can find it (spent whole day yesterday trying to solve this).
Conditions to get repro

Database model lives in its own class library with target "netstandard2.0"
Application using database has target of ".NET Framework 4.7.2"
Entity Has [Serializable] attribute set
Lazy Loading is enabled

Steps to reproduce
Open attached solution and run EfCoreRepro.ClassicConsoleApp
Expected output
{"Id":1,"Age":25,"Name":"John Smith"}
Actual output
{"__interceptors":[{}],"__interfaces":["Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyLazyLoader, Microsoft.EntityFrameworkCore.Proxies, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60"],"__baseType":"EfCoreRepro2.DB.Models.Person, EfCoreRepro2.DB, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null","__proxyGenerationOptio ns":{"hook":{},"selector":null,"mixins":null,"baseTypeForInterfaceProxy.AssemblyQualifiedName":"System.Object, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089"},"__proxyTypeId":"class","__delegateToBase":false,"__data":[25,1,"John Smith"]}
Additional info

Issue does not repro if application is targeting .NET Core (see CoreConsoleApp in the repro solution)
Commenting out [Serializable] attribute produce correct output
How we ended up with this configuration in the first place: We are working on adding few new services to the existing .NET Framework solution, and we want them to target .NET Core so we can run new ones serverless in the cloud. In order to allow both new and old applications to share database model we upgraded Database project from EF6 to EF Core (and re-targeted the rest of the solution to 4.7.2).

Further technical details
EF Core version: 2.2.1
Database Provider: SqlLite (in memory). Originally found with Npgsql
Operating system: Windows 10 (dev box) and Windows 2016 (beta server)
IDE: JetBrains Rider 2018.3.1
EfCoreRepro2.DB.zip

@JamesNK Is this something you have seen before? This is serialization of Castle dynamic proxies with JSON.NET. On Core, it nicely ignores the proxy type and serializes to the real class contract. On .NET Framework, it serializes using the proxy type.

If a type has [Serializable] and implements ISerializable then the content of GetObjectData() is used as JSON.

@JamesNK But do you know why the behavior here is different with .NET Framework and .NET Core? (It could be that the proxies are generated differently, but thought you might have seen this before.)

@Xantrul This looks like an issue with the way Castle proxies handles serialization--please report to them. (The behavior for .NET Core is what we would expect.) Closing this as external, but if there is something we're doing wrong here then please comment and we can re-open and fix.


Kafka source - allow for consumer group to be optional

Problem
Today the consumerGroup property on the Kafka event source is a required property. While I understand why it's important and while the Kafka library we're using (or even Kafka itself) might require a value, I'm wondering if we should make it optional for the KnEventing users.
If the user is only ever going to have one Event Source in that consumerGroup, then asking them to provide a value (when we could generate a unique value for them) would be a nice thing.
What do people think?
Proposal:

make consumerGroup optional
if not specified, then the controller creates a unique value for them
the value (either from the user or generated) appears in the status section so the user can use it to debug stuff if necessary

Persona:
Event consumer
Exit Criteria
Ability to specify a Kafka event source w/o a consumerGroup.

seems reasonable to me
/cc @lionelvillard

@aslom

perhaps we prefix it like knative-kafka-source-FANCY_UUID

Where would it be stored? Does it get preserved across pod restarts?
ALso it may be surprising for users - similar functionality question: https://stackoverflow.com/questions/43118671/kafka-consumer-default-group-id

One option is to store it in the CR's status section


Can't set breakpoints in django-html

Can't set breakpoint when debugging the django project whereas if I change the file type from django-html to html I can set breakpoint and able to debug the template.

It seems a bug, it should not be categorised as "question".

@sekar-p VS Code does not have built-in functionality to debug "django" or "django-html".
So before we will accept a "bug", you will have to ask in some forum what extensions are needed to debug "django" or "django-html". If that still doesn't work for you, please file an issue against the involved extension.


DisappearingScaleBar do not disappear after specified visibilityDurationMillis

The new DisappearingScaleBar does not disappear after the specified visibilityDurationMillis. Unless I have interpreted it wrong, I think what DisappearingScaleBar does is that it automatically disappears after specified visibilityDurationMillis on every zoom click.
But currently, after the initial disappearance that is not happening.
Steps to reproduce

Add DisappearingScaleBar to map
Wait for it to disappear for the first time
Just press zoom in one time
After the zoom in the scalebar does not automatically disappear.

I have also attached a video for the issue. It only contains the DisappearingScaleBar on top of the map.
https://user-images.githubusercontent.com/20212314/176884199-d9bc0e42-d426-453a-aaac-b967a6c3e2bc.mp4
.
Code example
GoogleMap(
  modifier = Modifier.matchParentSize(),
  cameraPositionState = cameraPositionState,
  onMapLoaded = {
    isMapLoaded = true
  }
)
DisappearingScaleBar(
  modifier = Modifier
  .padding(top = 5.dp, end = 15.dp)
  .align(Alignment.TopStart),
  cameraPositionState = cameraPositionState,
  visibilityDurationMillis = 5_000
)

I think the issue lies in the LaunchedEffect of  DisappearingScaleBar. Because of the condition, it is not able to hide the scale bar after the time-out period.

@Priyankkjain Thanks for the repro steps with the zoom button! That's very useful. And thanks for the PR https://github.com/googlemaps/android-maps-compose/pull/168 as well. Using pinch-to-zoom it's much harder to repro but it does seem to occasionally happen. I'll look at this further and see if you PR seems a reasonable way to fix this.


npm publish updates

Updated the package.json file for publishing to npm.  Turns out that you have to "npm install" before you "npm publish" which apparently is a known workaround.

Also, you can see the package now at https://www.npmjs.com/package/node-etrade-api

Looks great -- cool to see it up on npm!


Bug: Light/dark mode switch not working

The light/dark mode switch under the user dropdown menu does not appear to work; it pauses between attempting to switch but no colors change. I am able to click on the switch and it successfully moves back and forth, but the page does not change color. I am using chrome browser on macOS 14.2.1.

Thanks @calisio !
Just a note to whoever ends up fixing this: I think the plan will be to swap out the naive method we are using now to using something like https://github.com/saadeghi/theme-change which will allow us to default to what the operating system is set to (dark or light), save their choice in localstorage, and actually apply the choice in a way that works cross browser.

The light/dark mode works on my Windows 11/Firefox browser, but only when I have my Firefox appearance settings set to dark mode. It doesn't work when it is set to Automatic

@chrissantillan and @calisio . I merged in a new theme toggle that should work. Pull from main and let me know.

It works! Thanks @nokierae! Before I close this @calisio should probably check it out on her setup.

Works on my setup too! Good to merge in @chrissantillan @nokierae


Convert gstCamera float to OpenCV Mat

here is link to last issue
https://github.com/dusty-nv/jetson-inference/issues/361#issuecomment-521428329
I have had this issue in 2019 and was resolved using the    ConvertRGBA function in the gstcamera.cpp file.
 if (!camera->ConvertRGBA(imgCUDA, &imgRGBA))
    {
        printf("detectnet-camera 0:  failed to convert from NV12 to RGBA\n");
    }
 im = cv::Mat(cvheight, cvwidth, CV_8UC3, &imgCPU);

The function was removed in mid 2020.
I have tried using camera->CaptureRGBA(&imgRGBA, 1000, true)
and    im = cv::Mat(cvheight, cvwidth, CV_8UC3, imgRGBA);
The retrun image seems like gibberish pixels before crashing.
Is there a simple way to convert from either C++ gstcamera float or uchar3* image to OpenCV MAT?

Hi @aviontics, it's recommended to migrate to the videoSource::Capture() interface instead:
https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-streaming.md#c
As shown in that example, this will give you a uchar3 image instead of float
It's actually templated, so it can give you uchar3/uchar4/float3/float4 (whichever datatype you prefer)

Hi @aviontics, it's recommended to migrate to the videoSource::Capture() interface instead:
https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-streaming.md#c
As shown in that example, this will give you a uchar3 image instead of float It's actually templated, so it can give you uchar3/uchar4/float3/float4 (whichever datatype you prefer)

Thanks for the prompt reply. I have modified code to use videoSource::Capture()
Is there a function to convert to opencv MAT format or should just pass the unchar3 image into the opencv MAT variable like this?
im = cv::Mat(cvheight, cvwidth, CV_8UC3, unchar3 image);
The python opencv example conversion exists but its missing so far for C++

Is there a function to convert to opencv MAT format or should just pass the unchar3 image into the opencv MAT variable like this?
im = cv::Mat(cvheight, cvwidth, CV_8UC3, unchar3 image);

I'm not super familiar myself, but that is the way I would try first.

Is there a function to convert to opencv MAT format or should just pass the unchar3 image into the opencv MAT variable like this?
im = cv::Mat(cvheight, cvwidth, CV_8UC3, unchar3 image);

I'm not super familiar myself, but that is the way I would try first.

I tried and its failed as it requires void* type in  cv::Mat(cvheight, cvwidth, CV_8UC3, (void)* image);
Think may have something to do with the memory allocated to store image read.
Issue I have is that there does not seem to interaction between image data in uchar3* with the void* type data created, like void* imgCUDA = NULL;.
In the previous versions that interaction happened in this function;
bool Capture( void** cpu, void** cuda, uint64_t timeout=UINT64_MAX );
as in use case below
if (!camera->Capture(&imgCPU, &imgCUDA, 1000))
Is there any such function?

Does cv::Mat(cvheight, cvwidth, CV_8UC3, (void)* image); not work when you cast it to void* there?
You should just be able to cast the pointer to void* when you need it to be void*

as in use case below
if (!camera->Capture(&imgCPU, &imgCUDA, 1000))
Is there any such function?

Yes, you can use this overload with IMAGE_RGB8:  https://github.com/dusty-nv/jetson-utils/blob/6f0c5b74b59e08f8205d95f19c42d9b20aa79112/video/videoSource.h#L214

Does cv::Mat(cvheight, cvwidth, CV_8UC3, (void)* image); not work when you cast it to void* there?
You should just be able to cast the pointer to void* when you need it to be void*

as in use case below
if (!camera->Capture(&imgCPU, &imgCUDA, 1000))
Is there any such function?

Yes, you can use this overload with IMAGE_RGB8: https://github.com/dusty-nv/jetson-utils/blob/6f0c5b74b59e08f8205d95f19c42d9b20aa79112/video/videoSource.h#L214

I got it working using:
uchar3* imgRGBA = NULL;

while (!signal_recieved)
{

            if (!camera->Capture(&imgRGBA, 1000))
    {
        printf("detectnet-camera 0:  failed to convert from NV12 to RGBA\n");
    }
         CUDA(cudaDeviceSynchronize());
 im = cv::Mat(cvheight, cvwidth, CV_8UC3, (void*) imgRGBA);

Thank for your help.


[VL] Avoid using WriteFilesSpec which is not serialzable

What changes were proposed in this pull request?
WriteFilesSpec is not serializable, we should not use it in RDDS
How was this patch tested?
GA

Why WriteFilesSpec is not serializable, does not it extend case class ?

Why WriteFilesSpec is not serializable, does not it extend case class ?

@ulysses-you  The concurrentOutputWriterSpecFunc in WriteFilesSpec is not serializable.

Are you sure concurrentOutputWriterSpecFunc is not serializable?

Are you sure concurrentOutputWriterSpecFunc is not serializable?

concurrentOutputWriterSpecFunc is a function, it would seek upper class to find Serializable. Bellow is the problem we met before this pr fixed.
	- object not serializable (class: org.apache.spark.SparkContext, value: org.apache.spark.SparkContext@31998d54)
	- field (class: org.apache.spark.sql.hivexxt)
	- object (class org.apache.spark.sql.hive.xx)
	- element of array (index: 2)
	- array (class [Ljava.lang.Object;, size 4)
	- field (class: java.lang.invoke.SerializedLambda, name: capturedArgs, type: class [Ljava.lang.Object;)
	- object (class java.lang.invoke.SerializedLambda, SerializedLambda[capturingClass=class orxx)
	- object (class org.apache.spark.sql.execution.datasources.UserFileFormatWriter$$$Lambda$2964/719020114, org.apache.spark.sql.execution.datasources.UserFileFormatWriter$$$Lambda$2964/719020114@31839df7)
	- field (class: org.apache.spark.sql.execution.datasources.WriteFilesSpec, name: concurrentOutputWriterSpecFunc, type: interface scala.Function1)
	- object (class org.apache.spark.sql.execution.datasources.WriteFilesSpec, WriteFilesSpec(org.apache.spark.sql.execution.datasources.WriteJobDescription@30c77b5a,org.apache.spark.sql.execution.datasources.SQLHadoopMapReduceCommitProtocol@3f3c5251,org.apache.spark.sql.execution.datasources.UserFileFormatWriter$$$Lambda$2964/719020114@31839df7))
	- field (class: org.apache.spark.sql.execution.VeloxColumnarWriteFilesRDD, name: writeFilesSpec, type: class org.apache.spark.sql.execution.datasources.WriteFilesSpec)
	- object (class org.apache.spark.sql.execution.VeloxColumnarWriteFilesRDD, VeloxColumnarWriteFilesRDD[18] at saveAsTable at SparkJobRunner.scala:342)
	- field (class: scala.Tuple2, name: _1, type: class java.lang.Object)
	- object (class scala.Tuple2, (VeloxColumnarWriteFilesRDD[18] at saveAsTable at SparkJobRunner.scala:342,org.apache.spark.sql.execution.datasources.UserFileFormatWriter$$$Lambda$3087/1542323941@7df0da43))

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_6144_time.csv
log/native_master_06_19_2024_27c32f1b15_time.csv
difference
percentage

q1
37.54
34.61
-2.923
92.21%

q2
23.63
25.46
1.834
107.76%

q3
38.64
38.59
-0.043
99.89%

q4
31.07
33.98
2.908
109.36%

q5
72.32
70.97
-1.344
98.14%

q6
6.36
6.54
0.185
102.90%

q7
84.74
85.08
0.343
100.41%

q8
86.02
87.11
1.090
101.27%

q9
124.66
123.67
-0.983
99.21%

q10
47.34
44.85
-2.498
94.72%

q11
20.48
20.56
0.079
100.39%

q12
25.70
27.28
1.585
106.17%

q13
40.56
39.58
-0.983
97.58%

q14
18.86
18.81
-0.047
99.75%

q15
33.65
33.35
-0.298
99.12%

q16
13.87
14.28
0.410
102.96%

q17
106.02
105.60
-0.424
99.60%

q18
148.30
144.60
-3.700
97.51%

q19
13.94
13.77
-0.173
98.76%

q20
29.78
29.04
-0.737
97.53%

q21
262.71
265.23
2.515
100.96%

q22
12.34
12.88
0.531
104.30%

total
1278.53
1275.86
-2.671
99.79%

@jackylee-ch I think it's caused by your internal changes... Vanilla Spark does not hold spark context in concurrentOutputWriterSpecFunc. You should add @transient before sparkcontext field.

@jackylee-ch I think it's caused by your internal changes... Vanilla Spark does not hold spark context in concurrentOutputWriterSpecFunc. You should add @transient before sparkcontext field.

Yes, agree with you. However I think we should avoid use the concurrentOutputWriterSpecFunc since we won't use it in RDD.

I do not against this change as it is a code improvement. Just make it clear that this pr title and description should not related to serialization...

I do not against this change as it is a code improvement. Just make it clear that this pr title and description should not related to serialization...

Okey, got it. I have updated the description for more details.


Fixes dev tauri

Hi Surrealist team,
this is juste littles fixes on build_start_command (for linux/macos) to dev with tauri, README updated.
Thank you.

Thanks a lot! I'm still hard at work on 1.6 and haven't gotten around testing on linux/macos yet, so good catch!


Review of Student slides and speaker notes (hints) - Suggestions

Looks good :)
In general, lots of words on the slides. Perhaps use color to highlight key points or code snippets. There were a couple of slides that the text went to the bottom - maybe edit down or split to 2 slides.
You may wish to put a slide right after the Recurse (Hacker School) Rules with the name of each vulnerability or attack that is covered. I would use the slide again before the thank you slide to recap the different concepts learned.
Specifics:

On "goal" slide for CSS vulnerability perhaps subtitle: Goal: Find Unprotected Input Box
Perhap the Small Group Q&As should be their own slide following the section instructions.
For slide 2/4 in "...as others" you have this slide mislabeled as "...for others"

Looks like a fun tutorial workshop :+1:

Thanks for the useful feedback! Will respond in more detail tonight.


npm version out of date?

installing convnetjs for node.js via npm install convnetjs gets you this version last published a year ago. should it be updated?
the version currently on npm doesn't expose the deepqlearn module, which i needed, so i put together a fork of convnet that uses npm to build, compile, test, and expose the library. i'd be happy to polish those changes into a pull request if you're at all interested in that kind of automation.

Seems the author has removed compiled files and broken the package management.
https://github.com/karpathy/convnetjs/issues/12#issuecomment-54083992

sorry about this. I'm a bit of an npm noob as well, so that doesn't help. Any recommendations for what should be done to make this clean? I could try look over the npm docs again and figure out if I could update the repository properly.

I know bower better than npm far as the styles... They tend to put compiled versions in a dist directory which is pretty standard across most packages.
I'd usually have gulp tasks for handling all this stuff, so you'd just run npm install and gulp build. This would then run bower install, and any custom stuff.

Righto, I the issue with compiled versions being committed, was thinking different workflow where you have something like gulp making sure developers are testing on a built version from their source.
So you really do want to avoid commit compiled versions.....
Something like this might work:
Work in develop branch.
.gitignore the whole build directory.
Put deepqlearn.js, util.js and vis.js in src.
Script to package/copy them to build directory.
Then script to deploy, which calls yuicompressor and then forces the build directory into master branch.


Nuxt ssr element-ui has a problem

Nuxt ssr element-ui has a problem
Problem demo
@yyx990803 Can help look at how to solve it

This is not related to this repo.


Add example to NATS package

Description:
Add a real life scenario example to NATS repository.

Closing since this is a suplicate of https://github.com/ballerina-platform/ballerina-standard-library/issues/2215


TODO: added op_checksigadd to op_codes

As per the newly added TODO, I have added OP_CHECKSIGADD to op_codes.

Hi @AdvaitPote,
Unfortunately this is not that simple. That opcode is only valid for taproot. There are other differences as well. They all need to be group appropriately and checked only for tapscripts.

Yes, you did mention in the TODO that some other tapscript changes would need to be made. So would these opcodes need to be added elsewhere along with some tapscript functionalities? Unfortunately, in all of the courses we took and our assignment, Taproot was out of scope so I am not much aware of the same. I was thinking we would add these opcodes to script.py and then add those same tapscript reading features in the Script class itself.

I  believe it would be cleaner if completely new dicitionaries should be used for tapscript (if the changes are many it could be a new file tapscript.py, otherwise it could go into script). Then if the specific tx's output is segwit v1 consult the new dictionary for the opcodes, otherwise use the current dictionaries.

Makes sense! Making a new Tapscript class or a tapscript.py would be helpful too because as more updates will be made, managing them in a separate file would be more convenient.

I am closing this for. Re-open if you want to work on it.


Add reset-trip button

Will fix #77

@coderabbit.ai review

@coderabbitai review

@coderabbitai anything else? Otherwise please (re)approve this PR


Impossible to run tutorials in Colab Jupiter notebooks

Hello, I was unsuccessfully trying to install lnn lib in Google Colab with and without conda use. The issue with conda approach consists in non-activation of the newly created lnn-env even within the same cell, and the lnn package is not visible to python.
The pip3 approach wouldn't work, as the default version of pathlib-1.0.1does not contain the attribute read_text for PosixPath.
Code to reproduce conda approach:
# Get miniconda and install Python 3.9
!wget -O mini.sh https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
!chmod +x mini.sh
!bash ./mini.sh -b -f -p /usr/local
!conda install -q -y jupyter
!conda install -q -y google-colab -c conda-forge
!python3 -m ipykernel install --name "py39"

# Install graphviz
!sudo apt-get install python3-dev graphviz libgraphviz-dev pkg-config
!sudo -H apt-get install libgmp-dev python3-dev

# Create virtual environment and activate it - all in one cell, but the activation doesn't work
!conda create -n lnn-env python=3.9 -y
!source activate lnn-env
!conda activate lnn-env
!python --version
!conda info --envs
!pip install git+https://github.com/IBM/LNN.git

from lnn import Proposition
Messi = Proposition("Messi")
AFC = Proposition("Argentina National Football Club(AFC)")

which shows that conda init didn't work and the newly created environment doesn't have the asterix of activation:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

Python 3.9.1
# conda environments:
#
base                  *  /usr/local
lnn-env                  /usr/local/envs/lnn-env

finally, the lnn library does not exist to python compiler:
ModuleNotFoundError                       Traceback (most recent call last)
[<ipython-input-1-d11eb96f34b4>](https://localhost:8080/#) in <module>()
      7 get_ipython().system('pip install git+https://github.com/IBM/LNN.git')
      8
----> 9 from lnn import Proposition
     10 Messi = Proposition("Messi")
     11 AFC = Proposition("Argentina National Football Club(AFC)")

ModuleNotFoundError: No module named 'lnn'

The code for pip3 approach:
# Install python 3.9
!sudo apt-get update -y
!sudo apt-get install python3.9

# Change alternatives
!sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
!sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2

# Install dependencies
!sudo apt-get install libgmp3-dev
!sudo apt install python3.9-distutils
!sudo apt-get install python3-pip
!python3 -m pip install --upgrade pip

# Install graphviz
!sudo apt-get install python3-dev graphviz libgraphviz-dev pkg-config
!sudo -H apt-get install libgmp-dev python3-dev

# Install pathlib: the default version taken is 1.0.1
!pip3 install pathlib

# Install lnn lib
!pip3 install git+https://github.com/IBM/LNN.git

which results in an error from the logs: AttributeError: 'PosixPath' object has no attribute 'read_text'

I also couldn't install it, which made me create a docker container for it and run notebooks on Jupyter UI. For now, it's available here, and merge request #67 is created for it.

@asnota Can you retry the install again?
The dependencies have been updated to remove some of the problematic libraries like graphviz/libgmp


az webapp identity assign => The api-version '2018-01-01-preview' is invalid

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp identity assign
Errors:
The api-version '2018-01-01-preview' is invalid. The supported versions are '2021-01-01,2020-10-01,2020-09-01,2020-08-01,2020-07-01,2020-06-01,2020-05-01,2020-01-01,2019-11-01,2019-10-01,2019-09-01,2019-08-01,2019-07-01,2019-06-01,2019-05-10,2019-05-01,2019-03-01,2018-11-01,2018-09-01,2018-08-01,2018-07-01,2018-06-01,2018-05-01,2018-02-01,2018-01-01,2017-12-01,2017-08-01,2017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014-04-01,2014-01-01,2013-03-01,2014-02-26,2014-04'.

To Reproduce:
set subscriptionid={subscription-id}
set webapp=mywebapp%RANDOM%
set resourcegroup={resource-group-name}

az webapp identity assign --resource-group %resourcegroup% --name %webapp% --role reader --scope /subscriptions/%subscriptionid%/%resourcegroup%

Expected Behavior
The MSI should be assigned to the resource.
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.21.0

Extensions:
azure-devops 0.12.0

Additional Context

I found the issue. It was due to the incorrect --scope. It should be /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}
The error message is not helpful though. Keeping this open to hear back if error message can be fixed.

This message is being returned by the API. This cannot be handled/fixed at command level.
@panchagnula - can you please transfer it to API team if this is an appropriate issue to be handle at API side.

This message is being returned by the API. This cannot be handled/fixed at command level.
@panchagnula - can you please transfer it to API team if this is an appropriate issue to be handle at API side.

@Kotasudhakarreddy / @subhendu-de which API are we referring to here? The command calls identity APIs as well as AppService - if this is from identity API then this should be updated & move to the right team.
@subhendu-de as a general rule running any CLI command with --debug flag should give you detailed error message.

route to appropriate team

This message is being returned by the API. This cannot be handled/fixed at command level.
@panchagnula - can you please transfer it to API team if this is an appropriate issue to be handle at API side.

@Kotasudhakarreddy / @subhendu-de which API are we referring to here? The command calls identity APIs as well as AppService - if this is from identity API then this should be updated & move to the right team.
@subhendu-de as a general rule running any CLI command with --debug flag should give you detailed error message.

@panchagnula - It is referring to Roledefinitions.List API. Below is the debug log response.

This is working. Please upgrade to latest version of az cli 2.39.0
az webapp identity assign -g Issue17562 -n issue17562webapp --role reader --scope /subscriptions/<subid>/resourcegroups/Issue17562
Retrying role assignment creation: 1/36
Retrying role assignment creation: 2/36
Retrying role assignment creation: 3/36
Retrying role assignment creation: 4/36
Retrying role assignment creation: 5/36
Retrying role assignment creation: 6/36
{
"principalId": "",
"tenantId": "",
"type": "SystemAssigned",
"userAssignedIdentities": null
}


Resolved Tie Indication Issue in Tic-Tac-Toe Game

I've added the logic for displaying the draw message in Game.js and updated the CSS to ensure it appears consistently with other messages.
Additionally, I would like to implement a feature that shows whose turn it is on the game board. Could you please assign this task to me?"
Please assign it under gssoc-ext and hacktoberfest2024 along with the level labels.

hey do you need help with this vercel check error .I also faced the same problem so I thought to help
{
"rewrites":[
{"source" : "./(.*)", "destination" : "/"}
],
"git": {
"deploymentEnabled": {
"main": false
}
}
} write or paste this code in the vercel.json file it will not show error then

@Ritikabiswas  Thank You!!

@Ritikabiswas Thank You!!

Please write your issue no. With #

@Ritikabiswas Thank You!!

Please write your issue no. With #

#333

This is issue no. #348


Animated jump up/down

What 🕵 🔍

Adds controller support for jump
Use JumpDirection to animate the view either one up, or one down

Codecov Report

Merging #4 (0458358) into main (75da7e1) will decrease coverage by 2.28%.
The diff coverage is 79.41%.

@@            Coverage Diff             @@
##             main       #4      +/-   ##
==========================================
- Coverage   93.46%   91.18%   -2.29%
==========================================
  Files           6        6
  Lines         245      261      +16
==========================================
+ Hits          229      238       +9
- Misses         16       23       +7

Impacted Files
Coverage Δ

lib/xayn_card_view/card_view_controller.dart
62.50% <40.00%> (-37.50%)
:arrow_down:

lib/xayn_card_view/card_view.dart
89.33% <85.71%> (-0.25%)
:arrow_down:

lib/xayn_card_view/card_view_listeners_mixin.dart
98.21% <100.00%> (ø)

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 75da7e1...0458358. Read the comment docs.


use updated arschles/sys functionality

arschles/sys has updated functionality as of https://github.com/arschles/sys/pull/2 that we can use instead of all the current code in https://github.com/deis/deisrel/blob/master/actions/fileSys.go

Requires https://github.com/arschles/sys/pull/3


grpc: add support for custom channel args.

This is useful to allow plumbing of args such as grpc.keepalive_time_ms,
e.g. as a fix for #5173.
Risk level: Low
Testing: Unit and integration tests added.
Signed-off-by: Harvey Tuch<EMAIL_ADDRESS>

AFAICT the clang-tidy here is a false positive in the unit test.

@lizan I think we should disable this check in favor of likely comparable checks in CodeQL (which @asraa) is working on. Less noise is good :)

@lizan anything further on this PR or is it good to merge?


Popup Window

Awesome Movies Project: Popup window
🌟Branch features:

Webpack is added.
HTML structure is added through template.html file.
Styles are added through main.scss file.
Popup window is implemented through popUp.js module.
Comments are managed through comments.js module.
Counter for comments is set through commentCounter.js module.
Comment counter function is covered by commentCounter.test.js  Jest unit tester.

 🚀 Branch Demo

Hi @FrankMugagga,
Thanks for giving constructive feedback 🙏 .
The tester is set correctly, please take a look again


Add desc of read thread and data sharing cache in grafana.

What problem does this PR solve?
Issue Number: ref #5376
Problem Summary:

What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[x] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/merge