Send message to a specific partition

Hi!
I'm trying to send a message in to a specific partition, just like the example code in the documentation, but for example, if my topic has 2 partition (0 and 1) im only able to send Message to partition 1, and if i have 5 partition (0,1,2,3,4) I only can send to the partition 5. Can anyone help me?

Can you post a code snippet?

@t-d-d of course, first in order to show you that I have 2 diferent partitions y use the next code:
admin.fetchTopicOffsets('a').then(result => {
    console.log(JSON.stringify(result, null, 2));
}).catch(err => {
    console.error(err);
});

And I get this result:
  {
    "partition": 0,
    "offset": "0",
    "high": "0",
    "low": "0"
  },
  {
    "partition": 1,
    "offset": "179",
    "high": "179",
    "low": "158"
  }
]

This is my current code:
const { Kafka, logLevel } = require('kafkajs');
const kafka = new Kafka({
    clientId: 'admin',
    brokers: ['localhost:9092'],
    ssl: true,
    sasl: {
        mechanism: 'plain',
        username: 'user',
        password: 'pass'
    },
    logLevel: logLevel.DEBUG
});

const admin = kafka.admin();

var sendMessage = async () => {
    const producer = kafka.producer({ allowAutoTopicCreation: false });
    await producer.connect();
    await producer.send({

        topic: 'a',
        messages: [
            { key: "TP-1", value: '0', partition: 0 },
            { key: "TP-1", value: '0', partition: 1 },
        ],
    }).then(record => {
        console.log(record);
    });
    await producer.disconnect();
}
sendMessage();

And with the LogLevel.Debug get this:
{"level":"DEBUG","timestamp":"2021-09-19T07:59:51.882Z","logger":"kafkajs","message":"[Connection] Connecting","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","ssl":true,"sasl":true}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.438Z","logger":"kafkajs","message":"[Connection] Request ApiVersions(key: 18, version: 2)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":0,"expectResponse":true,"size":19}{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.540Z","logger":"kafkajs","message":"[Connection] Response ApiVersions(key: 18, version: 2)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","error":"The version of API is not supported","correlationId":0,"payload":{"type":"Buffer","data":"[filtered]"}}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.546Z","logger":"kafkajs","message":"[Connection] Request ApiVersions(key: 18, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":1,"expectResponse":true,"size":19}{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.645Z","logger":"kafkajs","message":"[Connection] Response ApiVersions(key: 18, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":1,"size":134,"data":{"errorCode":0,"apiVersions":[{"apiKey":0,"minVersion":0,"maxVersion":5},{"apiKey":32,"minVersion":0,"maxVersion":1},{"apiKey":1,"minVersion":0,"maxVersion":6},{"apiKey":2,"minVersion":0,"maxVersion":2},{"apiKey":3,"minVersion":0,"maxVersion":5},{"apiKey":36,"minVersion":0,"maxVersion":0},{"apiKey":8,"minVersion":1,"maxVersion":3},{"apiKey":9,"minVersion":0,"maxVersion":3},{"apiKey":10,"minVersion":0,"maxVersion":1},{"apiKey":42,"minVersion":0,"maxVersion":0},{"apiKey":11,"minVersion":0,"maxVersion":2},{"apiKey":12,"minVersion":0,"maxVersion":1},{"apiKey":13,"minVersion":0,"maxVersion":1},{"apiKey":14,"minVersion":0,"maxVersion":1},{"apiKey":15,"minVersion":0,"maxVersion":1},{"apiKey":16,"minVersion":0,"maxVersion":1},{"apiKey":17,"minVersion":0,"maxVersion":1},{"apiKey":18,"minVersion":0,"maxVersion":1},{"apiKey":19,"minVersion":0,"maxVersion":2},{"apiKey":20,"minVersion":0,"maxVersion":1}],"throttleTime":0}}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.651Z","logger":"kafkajs","message":"[Broker] Verified support for SaslAuthenticate","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","supportAuthenticationProtocol":true}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.667Z","logger":"kafkajs","message":"[Connection] Request SaslHandshake(key: 17, version:
1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":2,"expectResponse":true,"size":26}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.773Z","logger":"kafkajs","message":"[Connection] Response SaslHandshake(key: 17, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":2,"size":33,"data":{"errorCode":0,"enabledMechanisms":["PLAIN","OCI-RSA-SHA256"]}}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.777Z","logger":"kafkajs","message":"[SASLPlainAuthenticator] Authenticate with SASL PLAIN","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.791Z","logger":"kafkajs","message":"[Connection] Request SaslAuthenticate(key: 36, version: 0)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":3,"expectResponse":true,"size":201}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.910Z","logger":"kafkajs","message":"[Connection] Response SaslAuthenticate(key: 36, version: 0)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":3,"size":12,"data":{"errorCode":0,"errorMessage":null,"authBytes":{"type":"Buffer","data":[0,0,0,0]}}}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.912Z","logger":"kafkajs","message":"[SASLPlainAuthenticator] SASL PLAIN authentication successful","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:52.937Z","logger":"kafkajs","message":"[Connection] Request Metadata(key: 3, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":4,"expectResponse":true,"size":27}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.047Z","logger":"kafkajs","message":"[Connection] Response Metadata(key: 3, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":4,"size":268,"data":{"throttleTime":0,"brokers":[{"nodeId":0,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null},{"nodeId":3,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null},{"nodeId":6,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null}],"clusterId":"OSS","controllerId":0,"topicMetadata":[{"topicErrorCode":0,"topic":"a","isInternal":false,"partitionMetadata":[{"partitionErrorCode":0,"partitionId":0,"leader":3,"replicas":[],"isr":[],"offlineReplicas":[]},{"partitionErrorCode":0,"partitionId":1,"leader":6,"replicas":[],"isr":[],"offlineReplicas":[]}]}]}}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.096Z","logger":"kafkajs","message":"[Connection] Request Produce(key: 0, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":5,"expectResponse":true,"size":119}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.320Z","logger":"kafkajs","message":"[Connection] Response Produce(key: 0, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":5,"size":49,"data":{"topics":[{"topicName":"a","partitions":[{"partition":1,"errorCode":0,"baseOffset":"179","logAppendTime":"1632038437727","logStartOffset":"158"}]}],"throttleTime":0}}
[
  {
    topicName: 'a',
    partition: 1,
    errorCode: 0,
    baseOffset: '179',
    logAppendTime: '1632038437727',
    logStartOffset: '158'
  }
]
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.340Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.344Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.346Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.348Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.350Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.352Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.354Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T07:59:53.355Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}

And if i try send to send the messages one by one, like this:
var sendMessage = async (part) => {
    const producer = kafka.producer({ allowAutoTopicCreation: false });
    await producer.connect();
    await producer.send({

        topic: 'a',
        messages: [
            { key: "TP-1", value: '0', partition: part },
            { key: "TP-1", value: '0', partition: part },
        ],
    }).then(record => {
        console.log(record);
    });
    await producer.disconnect();
}
sendMessage(0);
sendMessage(1);

I got this:
{"level":"DEBUG","timestamp":"2021-09-19T08:07:53.462Z","logger":"kafkajs","message":"[Connection] Connecting","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","ssl":true,"sasl":true}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:53.483Z","logger":"kafkajs","message":"[Connection] Connecting","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","ssl":true,"sasl":true}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.137Z","logger":"kafkajs","message":"[Connection] Request ApiVersions(key: 18, version: 2)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":0,"expectResponse":true,"size":19}{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.140Z","logger":"kafkajs","message":"[Connection] Request ApiVersions(key: 18, version: 2)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":0,"expectResponse":true,"size":19}{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.262Z","logger":"kafkajs","message":"[Connection] Response ApiVersions(key: 18, version: 2)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","error":"The version of API is not supported","correlationId":0,"payload":{"type":"Buffer","data":"[filtered]"}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.268Z","logger":"kafkajs","message":"[Connection] Request ApiVersions(key: 18, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":1,"expectResponse":true,"size":19}{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.270Z","logger":"kafkajs","message":"[Connection] Response ApiVersions(key: 18, version: 2)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","error":"The version of API is not supported","correlationId":0,"payload":{"type":"Buffer","data":"[filtered]"}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.273Z","logger":"kafkajs","message":"[Connection] Request ApiVersions(key: 18, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":1,"expectResponse":true,"size":19}{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.349Z","logger":"kafkajs","message":"[Connection] Response ApiVersions(key: 18, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":1,"size":134,"data":{"errorCode":0,"apiVersions":[{"apiKey":0,"minVersion":0,"maxVersion":5},{"apiKey":32,"minVersion":0,"maxVersion":1},{"apiKey":1,"minVersion":0,"maxVersion":6},{"apiKey":2,"minVersion":0,"maxVersion":2},{"apiKey":3,"minVersion":0,"maxVersion":5},{"apiKey":36,"minVersion":0,"maxVersion":0},{"apiKey":8,"minVersion":1,"maxVersion":3},{"apiKey":9,"minVersion":0,"maxVersion":3},{"apiKey":10,"minVersion":0,"maxVersion":1},{"apiKey":42,"minVersion":0,"maxVersion":0},{"apiKey":11,"minVersion":0,"maxVersion":2},{"apiKey":12,"minVersion":0,"maxVersion":1},{"apiKey":13,"minVersion":0,"maxVersion":1},{"apiKey":14,"minVersion":0,"maxVersion":1},{"apiKey":15,"minVersion":0,"maxVersion":1},{"apiKey":16,"minVersion":0,"maxVersion":1},{"apiKey":17,"minVersion":0,"maxVersion":1},{"apiKey":18,"minVersion":0,"maxVersion":1},{"apiKey":19,"minVersion":0,"maxVersion":2},{"apiKey":20,"minVersion":0,"maxVersion":1}],"throttleTime":0}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.350Z","logger":"kafkajs","message":"[Broker] Verified support for SaslAuthenticate","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","supportAuthenticationProtocol":true}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.356Z","logger":"kafkajs","message":"[Connection] Request SaslHandshake(key: 17, version:
1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":2,"expectResponse":true,"size":26}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.367Z","logger":"kafkajs","message":"[Connection] Response ApiVersions(key: 18, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":1,"size":134,"data":{"errorCode":0,"apiVersions":[{"apiKey":0,"minVersion":0,"maxVersion":5},{"apiKey":32,"minVersion":0,"maxVersion":1},{"apiKey":1,"minVersion":0,"maxVersion":6},{"apiKey":2,"minVersion":0,"maxVersion":2},{"apiKey":3,"minVersion":0,"maxVersion":5},{"apiKey":36,"minVersion":0,"maxVersion":0},{"apiKey":8,"minVersion":1,"maxVersion":3},{"apiKey":9,"minVersion":0,"maxVersion":3},{"apiKey":10,"minVersion":0,"maxVersion":1},{"apiKey":42,"minVersion":0,"maxVersion":0},{"apiKey":11,"minVersion":0,"maxVersion":2},{"apiKey":12,"minVersion":0,"maxVersion":1},{"apiKey":13,"minVersion":0,"maxVersion":1},{"apiKey":14,"minVersion":0,"maxVersion":1},{"apiKey":15,"minVersion":0,"maxVersion":1},{"apiKey":16,"minVersion":0,"maxVersion":1},{"apiKey":17,"minVersion":0,"maxVersion":1},{"apiKey":18,"minVersion":0,"maxVersion":1},{"apiKey":19,"minVersion":0,"maxVersion":2},{"apiKey":20,"minVersion":0,"maxVersion":1}],"throttleTime":0}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.368Z","logger":"kafkajs","message":"[Broker] Verified support for SaslAuthenticate","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","supportAuthenticationProtocol":true}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.369Z","logger":"kafkajs","message":"[Connection] Request SaslHandshake(key: 17, version:
1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":2,"expectResponse":true,"size":26}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.437Z","logger":"kafkajs","message":"[Connection] Response SaslHandshake(key: 17, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":2,"size":33,"data":{"errorCode":0,"enabledMechanisms":["PLAIN","OCI-RSA-SHA256"]}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.439Z","logger":"kafkajs","message":"[SASLPlainAuthenticator] Authenticate with SASL PLAIN","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.447Z","logger":"kafkajs","message":"[Connection] Request SaslAuthenticate(key: 36, version: 0)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":3,"expectResponse":true,"size":201}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.455Z","logger":"kafkajs","message":"[Connection] Response SaslHandshake(key: 17, version: 1)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":2,"size":33,"data":{"errorCode":0,"enabledMechanisms":["PLAIN","OCI-RSA-SHA256"]}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.456Z","logger":"kafkajs","message":"[SASLPlainAuthenticator] Authenticate with SASL PLAIN","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.458Z","logger":"kafkajs","message":"[Connection] Request SaslAuthenticate(key: 36, version: 0)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":3,"expectResponse":true,"size":201}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.555Z","logger":"kafkajs","message":"[Connection] Response SaslAuthenticate(key: 36, version: 0)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":3,"size":12,"data":{"errorCode":0,"errorMessage":null,"authBytes":{"type":"Buffer","data":[0,0,0,0]}}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.557Z","logger":"kafkajs","message":"[SASLPlainAuthenticator] SASL PLAIN authentication successful","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.581Z","logger":"kafkajs","message":"[Connection] Request Metadata(key: 3, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":4,"expectResponse":true,"size":27}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.585Z","logger":"kafkajs","message":"[Connection] Response SaslAuthenticate(key: 36, version: 0)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":3,"size":12,"data":{"errorCode":0,"errorMessage":null,"authBytes":{"type":"Buffer","data":[0,0,0,0]}}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.587Z","logger":"kafkajs","message":"[SASLPlainAuthenticator] SASL PLAIN authentication successful","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.589Z","logger":"kafkajs","message":"[Connection] Request Metadata(key: 3, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":4,"expectResponse":true,"size":27}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.712Z","logger":"kafkajs","message":"[Connection] Response Metadata(key: 3, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":4,"size":268,"data":{"throttleTime":0,"brokers":[{"nodeId":0,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null},{"nodeId":3,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null},{"nodeId":6,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null}],"clusterId":"OSS","controllerId":0,"topicMetadata":[{"topicErrorCode":0,"topic":"a","isInternal":false,"partitionMetadata":[{"partitionErrorCode":0,"partitionId":0,"leader":3,"replicas":[],"isr":[],"offlineReplicas":[]},{"partitionErrorCode":0,"partitionId":1,"leader":6,"replicas":[],"isr":[],"offlineReplicas":[]}]}]}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.776Z","logger":"kafkajs","message":"[Connection] Request Produce(key: 0, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":5,"expectResponse":true,"size":131}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.780Z","logger":"kafkajs","message":"[Connection] Response Metadata(key: 3, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":4,"size":268,"data":{"throttleTime":0,"brokers":[{"nodeId":0,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null},{"nodeId":3,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null},{"nodeId":6,"host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com","port":9092,"rack":null}],"clusterId":"OSS","controllerId":0,"topicMetadata":[{"topicErrorCode":0,"topic":"a","isInternal":false,"partitionMetadata":[{"partitionErrorCode":0,"partitionId":0,"leader":3,"replicas":[],"isr":[],"offlineReplicas":[]},{"partitionErrorCode":0,"partitionId":1,"leader":6,"replicas":[],"isr":[],"offlineReplicas":[]}]}]}}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:54.785Z","logger":"kafkajs","message":"[Connection] Request Produce(key: 0, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":5,"expectResponse":true,"size":31}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.005Z","logger":"kafkajs","message":"[Connection] Response Produce(key: 0, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":5,"size":12,"data":{"topics":[],"throttleTime":0}}
[]
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.014Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.018Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.020Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.022Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.024Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.026Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.028Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.029Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.036Z","logger":"kafkajs","message":"[Connection] Response Produce(key: 0, version: 5)","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin","correlationId":5,"size":49,"data":{"topics":[{"topicName":"a","partitions":[{"partition":1,"errorCode":0,"baseOffset":"182","logAppendTime":"1632038919371","logStartOffset":"158"}]}],"throttleTime":0}}
[
  {
    topicName: 'a',
    partition: 1,
    errorCode: 0,
    baseOffset: '182',
    logAppendTime: '1632038919371',
    logStartOffset: '158'
  }
]
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.052Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.054Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.056Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.057Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.059Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.061Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.062Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}
{"level":"DEBUG","timestamp":"2021-09-19T08:07:55.064Z","logger":"kafkajs","message":"[Connection] disconnected","broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092","clientId":"admin"}

It looks like you are running 3 brokers but each has the same advertised hostname/ port.  You should check the advertised.listeners setting for each broker.

@t-d-d I´m using only one broker, instead of kafka server I´m using Oracle Cloud Infraestructure Streaming, now is compatible with kafka maybe by default deploys 3 brokers.
I also try to make a customPartitioner that always return 0. But doesn´t work.
I think that the key maybe are in this messages:
In this topic I have 2 partitions, by defeault kafka send it to the partition one and get this output:
In this message we can see that read the topic with his two partitions perfectly

{
   "level":"DEBUG",
   "timestamp":"2021-09-20T07:05:19.679Z",
   "logger":"kafkajs",
   "message":"[Connection] Response Metadata(key: 3, version: 5)",
   "broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092",
   "clientId":"admin",
   "correlationId":4,
   "size":268,
   "data":{
      "throttleTime":0,
      "brokers":[
         {
            "nodeId":0,
            "host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com",
            "port":9092,
            "rack":null
         },
         {
            "nodeId":3,
            "host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com",
            "port":9092,
            "rack":null
         },
         {
            "nodeId":6,
            "host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com",
            "port":9092,
            "rack":null
         }
      ],
      "clusterId":"OSS",
      "controllerId":0,
      "topicMetadata":[
         {
            "topicErrorCode":0,
            "topic":"a",
            "isInternal":false,
            "partitionMetadata":[
               {
                  "partitionErrorCode":0,
                  "partitionId":0,
                  "leader":3,
                  "replicas":[

                  ],
                  "isr":[

                  ],
                  "offlineReplicas":[

                  ]
               },
               {
                  "partitionErrorCode":0,
                  "partitionId":1,
                  "leader":6,
                  "replicas":[

                  ],
                  "isr":[

                  ],
                  "offlineReplicas":[

                  ]
               }
            ]
         }
      ]
   }
}

{
   "level":"DEBUG",
   "timestamp":"2021-09-20T07:05:19.717Z",
   "logger":"kafkajs",
   "message":"[Connection] Request Produce(key: 0, version: 5)",
   "broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092",
   "clientId":"admin",
   "correlationId":5,
   "expectResponse":true,
   "size":131
}

And in this message we can see the data, with the topic name and the partition that I want to send.
{
   "level":"DEBUG",
   "timestamp":"2021-09-20T07:05:19.822Z",
   "logger":"kafkajs",
   "message":"[Connection] Response Produce(key: 0, version: 5)",
   "broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092",
   "clientId":"admin",
   "correlationId":5,
   "size":49,
   "data":{
      "topics":[
         {
            "topicName":"a",
            "partitions":[
               {
                  "partition":1,
                  "errorCode":0,
                  "baseOffset":"186",
                  "logAppendTime":"1632121563679",
                  "logStartOffset":"158"
               }
            ]
         }
      ],
      "throttleTime":0
   }
}

And the recordMetadata with the console.log
[
  {
    topicName: 'a',
    partition: 1,
    errorCode: 0,
    baseOffset: '188',
    logAppendTime: '1632122147399',
    logStartOffset: '158'
  }
]

But when I try to send the message to the partition 0 get this messages:
The same has before with the data of the topic and the partitions
{
   "level":"DEBUG",
   "timestamp":"2021-09-20T07:16:56.695Z",
   "logger":"kafkajs",
   "message":"[Connection] Response Metadata(key: 3, version: 5)",
   "broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092",
   "clientId":"admin",
   "correlationId":4,
   "size":268,
   "data":{
      "throttleTime":0,
      "brokers":[
         {
            "nodeId":0,
            "host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com",
            "port":9092,
            "rack":null
         },
         {
            "nodeId":3,
            "host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com",
            "port":9092,
            "rack":null
         },
         {
            "nodeId":6,
            "host":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com",
            "port":9092,
            "rack":null
         }
      ],
      "clusterId":"OSS",
      "controllerId":0,
      "topicMetadata":[
         {
            "topicErrorCode":0,
            "topic":"a",
            "isInternal":false,
            "partitionMetadata":[
               {
                  "partitionErrorCode":0,
                  "partitionId":0,
                  "leader":3,
                  "replicas":[

                  ],
                  "isr":[

                  ],
                  "offlineReplicas":[

                  ]
               },
               {
                  "partitionErrorCode":0,
                  "partitionId":1,
                  "leader":6,
                  "replicas":[

                  ],
                  "isr":[

                  ],
                  "offlineReplicas":[

                  ]
               }
            ]
         }
      ]
   }
}

{
   "level":"DEBUG",
   "timestamp":"2021-09-20T07:16:56.727Z",
   "logger":"kafkajs",
   "message":"[Connection] Request Produce(key: 0, version: 5)",
   "broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092",
   "clientId":"admin",
   "correlationId":5,
   "expectResponse":true,
   "size":31
}

In this message, we can see that the data, with data and the partition that i want to send is now empty
{
   "level":"DEBUG",
   "timestamp":"2021-09-20T07:16:56.772Z",
   "logger":"kafkajs",
   "message":"[Connection] Response Produce(key: 0, version: 5)",
   "broker":"cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092",
   "clientId":"admin",
   "correlationId":5,
   "size":12,
   "data":{
      "topics":[

      ],
      "throttleTime":0
   }
}

And the recordMetadata with the console.log is this now
[]

Can you confirm what you are setting brokers` to?  Above you have brokers: ['localhost:9092'],``` but that isn't correct if you are connecting to remote service.  This should be:
brokers: ['cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092']

@t-d-d Yes, change it before writing it, just like the username and password. But the client code without the username and password is:
const kafka = new Kafka({
  clientId: 'admin',
  brokers: ['cell-1.streaming.eu-frankfurt-1.oci.oraclecloud.com:9092'],
  ssl: true,
  sasl: {
    mechanism: 'plain',
    username: 'user',
    password: 'pass'
  },
  logLevel: logLevel.DEBUG
});


Convert back Base64encoded string of ROMol into an object of <rdkit.Chem.rdchem.Mol>

I have a base64encoded string of ROMOL which needs to be converted back to it's original object form. I am using the base64encoded string to write the data into the text format, but after reading the text format I need to convert it back into it's object so that I can generate embeddings using the object via the function "mol2alt_sentence".
I am only able to save the base64encoded romol in string format instead of serialized object. Therefore, the functionality of converting the string back to the object is required. Please suggest any alternative solution for this issue.

Hi @directlinks,
I'm not sure I understand your issue completely. Can you please give a code example?


Invalid 'isCosignatoryMode' when changing transaction status selector

Go to the transcation list, select a multisign account.
"There should be a "The selected transaction signer is a multi-signature account." is shown correctly,
Then change the Transaction Status to something else like 'confirmed'
The banner is gone when the signer is still multisig
The problem is the incorrect state change with this.$store.commit('wallet/isCosignatoryMode',false)
I'm fixing it in the PR
https://github.com/nemfoundation/symbol-desktop-wallet/pull/177

merged with #177


New release?

Hello - thanks for this library!
I took version 0.4.3 (a year old) for a spin, but it doesn't work with the latest sveltekit.
Would you be able to publish a new release to npm? It looks like a lot of changes were made in the past year.
Many thanks,
Aslak Hellesøy

@aslakhellesoy I'm curious what exactly is broken, can you elaborate a bit please? I'm not aware of any incompatibilities with the latest sveltekit. Just earlier this week I set up a new project using<EMAIL_ADDRESS>and latest sveltekit and everything worked fine.
I was planning to release a new version this week but while there were some changes lately, they were mostly related to the new documentation site and build process and should not have any impact on sveltekit compatibility so I wouldn't expect it to fix any issues that you might be seeing.

Hi @sfriedel.
A couple of things seem to be wrong.

TypeScript definitions (*.d.ts) are included in the npm module, but package.json uses the wrong path. Therefore the types cannot be found:

npm run check

><EMAIL_ADDRESS>check
> svelte-kit sync && svelte-check --tsconfig ./tsconfig.json

====================================
Loading svelte-check in workspace: /Users/aslakhellesoy/git/aslakhellesoy/svelte-fluent-test
Getting Svelte diagnostics...

/Users/aslakhellesoy/git/aslakhellesoy/svelte-fluent-test/vite.config.ts:3:26
Error: Cannot find module '@nubolab-ffwd/svelte-fluent/rollup-plugin' or its corresponding type declarations.
import { defineConfig } from 'vite';
import svelteFluent from '@nubolab-ffwd/svelte-fluent/rollup-plugin';

/Users/aslakhellesoy/git/aslakhellesoy/svelte-fluent-test/src/routes/+page.svelte:3:44
Error: Cannot find module '@nubolab-ffwd/svelte-fluent' or its corresponding type declarations. (js)
	import { FluentBundle, FluentResource } from '@fluent/bundle';
	import { FluentProvider, Localized } from '@nubolab-ffwd/svelte-fluent';

====================================
svelte-check found 2 errors and 0 warnings

And VSCode:

Despite the TypeScript problems, I am able to start the app and load the page. However, there are errors in the browser console:

Uncaught (in promise) TypeError: parent_component is undefined
    init index.mjs:307
    FluentProvider index.mjs:691
    create_fragment +page.svelte:68
    init index.mjs:2031
    Page +page.svelte:150
    createProxiedComponent svelte-hooks.js:341
    ProxyComponent proxy.js:242
    Proxy<+page> proxy.js:349
    construct_svelte_component_dev index.mjs:2232
    create_default_slot root.svelte:252
    create_slot index.mjs:71
    create_fragment layout.svelte:21
    init index.mjs:2031
    Layout layout.svelte:97
    createProxiedComponent svelte-hooks.js:341
    ProxyComponent proxy.js:242
    Proxy<Layout> proxy.js:349
    construct_svelte_component_dev index.mjs:2232
    create_if_block_2 root.svelte:154
    create_fragment root.svelte:449
    init index.mjs:2031
    Root root.svelte:688
    createProxiedComponent svelte-hooks.js:341
    ProxyComponent proxy.js:242

Here is my repo: https://github.com/aslakhellesoy/svelte-fluent-test
The commit where I added svelte-fluent: https://github.com/aslakhellesoy/svelte-fluent-test/commit/1a92a5b3f4d9f4f51ab27e37676835b6f0d348a9
Perhaps I am doing something wrong? I believe I followed the installation instructions to the letter.
Many thanks

@aslakhellesoy the typescript error is expected because in<EMAIL_ADDRESS>the lib didn't use typescript yet. This will actually change in the next release.
I haven't seen this error before in any project. I'll have to investigate what's going on.

@aslakhellesoy I've managed to reproduce the issue and I'm still searching for the cause. I found out that the error was introduced with<EMAIL_ADDRESS>and also only seems to affect the development server.
I'm still looking for the root cause but may have to open an issue in sveltekit. If you want to use svelte-fluent in the meantime, you need to downgrade to<EMAIL_ADDRESS>

@aslakhellesoy I'm done with the investigation for now. It appears that due to the changes in https://github.com/sveltejs/kit/pull/8957 somehow sveltekit picked up the pre-compiled CJS/UMD components and not the svelte source files in the published version of the library.
Since the new version of the library does not include those pre-compiled components any more since it's now based on @sveltejs/package I just released version 0.5.0. In my reproduction repo the error does not appear any more with the new version. Please give it a try and let me know if the new version solves the error for you too.

Closing this issue since I can't reproduce it any more. Please open a new issue should any problems persist


feat: Added new prop slideComponent

Platforms affected
ios/android
What does this PR do?
Allow user to customize component of slider. For example, to avoid some rendering bugs on View, such as overflow: visible not working on Android with a lower version of ReactNative, which I can use https://github.com/entria/react-native-view-overflow to replace the original View comp.
What testing has been done on this change?
passed for my testcase, it will not affect the original logic at all.

Thanks for the awesome lib! pls let me know if any ideas, happly to make changes!

@wxsms Thanks for the PR!
I think we should avoid recreating an Animated component with each and single render. What about defining the component to use in the constructor then?

@bd-arc Hi, just added it to the constructor. But I have not add it to componentWillReceiveProps cause I think that this prop is not suppose to be changed during render. pls let me know if any ideas, thanks.


use for livox mid70

Hi I am using livox mid70 and a extern IMU. the problem is that lidarFeatureExtractor node always output logs: too few ground points. and the other nodes seem run nothing. I have change the horizon_config.yaml to mid70.yaml like this:
`%YAML:1.0
switches
Lidar_Type: 0    # 0-horizon
Used_Line: 1    # lines used for lio, set to 1~6
Feature_Mode: 0    # 0(false) or 1(true)
NumCurvSize: 2
DistanceFaraway: 100 # [m]  <DistanceFaraway near / >DistanceFaraway far
NumFlat: 3 # nums of one part's flat feature
PartNum: 150 # nums of one scan's parts
FlatThreshold: 0.02 # cloud curvature threshold of flat feature
BreakCornerDis: 1 # break distance of break points
LidarNearestDis: 0.50 # if(depth < LidarNearestDis) do not use this point
KdTreeCornerOutlierDis: 0.2 # corner filter threshold
Use_seg: 1 # use segment algorithm
map_skip_frame: 2`
how can I modify the params to make the project can work  with mid 70?

Too few ground points are the result of feature extraction. Could you provide some screenshots?

Thanks for your sharing.
Currently, no much time to test your bag. Will try it in the near future.

ok，thx all the same，I will try to slove it and share progress

Since there is no further update, I will close this issue.


bad performance

hi! it works pretty awesomely, apart from one problem: when moving the mouse over the map, the application freezes and i see the statusbar changing for quite some time (basically retracing my mouse movement) before things become responsive again.
i think there should be a way to do this asynchronously or and/or debouncing it.
PS: tag the 3.0.2 release, please :smile:

Try out my most recent statusbar changes.


How to avoid naming conflicts with flutter？

How to avoid naming conflicts with flutter SDK, especially with the evolution of flutter?
When I upgraded to flutter v1.7.2, I tragically found that flutter added a new lib/src/widgets/actions.dart file that exports a class named Action.
This leads to conflicts between the previous definitions and the use of Action, such as the use of fish-redux (Action is a common definition, especially in the Redux system).
It can be resolved by using an "as" or "hide" keyword,  but it would be a very offensive practice if the Action is so commonly used.
While Action is just a special case, there may be other naming conflicts that occur in other flutter-based libraries.
So my question is whether it should have a better solution or rule to reduce the occurrence of similar situations ?

Currently, we can use the import a.dart as A and import b.dart as B, while refer them using A.action and B.action to resolve the conflicts.
cc @xster  Any recommended practice towards this issue?

cc @gspencergoog this is a good point. We can potentially undercut users on desirable namespaces in the core libraries that exports.
Unfortunately I'm not sure what the right solution is besides what @kangwang1988 proposed.
Is widgets.Action the right name? Could it perhaps be UserInputAction or some such?

My suggestion is to name the definition of the new non-flutter core concept, which should be decorated with the corresponding prefix.
In the case above, if you can change the Action to something like UserInputAction, that's great.

If we change the name Action to UserInputAction, well someone could have defined a UserInputAction class too. we could perhaps name it FlutterUserInputAction, but again nothing is stopping a user from naming a class with a Flutter<Something> either.
I don't really want to end up with a framework full of FlutterUserSpecialistActionAppliedFromKeyboard because there is a lower probability of a naming collision.
Dart does not have namespaces, for better or worse. The tools we have to solve this problem are show, hide, and  as identifier on import statements.
cc @Hixie for his thoughts on backwards compatibility

I agree with @jonahwilliams, a framework full of FlutterUserSpecialistActionAppliedFromKeyboard is ugly.
And I fully agree that flutter has the first option for the naming of definitions.
But if a definition meets the following points:

It is new
It is non-core
It needs to be exported

Its naming should be treated with more caution, especially some common names. This will be more friendly to other developers and will also contribute to the healthy growth of the community's ecology.

It is non-core

I think keyboards are fairly core to certain desktop experiences, but probably not core to a lot of mobile of web ones?
maybe this is in indication it should be exported though a separate library like flutter/keyboard.dart

maybe this is in indication it should be exported though a separate library like flutter/keyboard.dart

So is there a plan to avoid naming conflicts between flutter and other libraries? Such as the "Action" naming conflicts above?
In my opinion, the two solutions above are both feasible.
@xster @jonahwilliams

FWIW, we ran into this when the Material library introduced a class called CardTheme and another google team had a class named CardTheme. The solution there was to hide the new definition from material, although it would have mad ejust as much sense to use named imports.
I'm not sure there's a general solution available here without some kind of change at the Dart language level though...  Any given name we create could cause this.

At present, the problem of "Action" name has greatly affected the developer's experience, not only within the xianyu team, but also in other teams whose projects relies heavily on the fish-redux.
As fish-redux-based projects continue to upgrade to 1.7,  this problem will become more common and serious,  it will make the code compiled fail, and there are many files to be modified.
The [hide] or [as] solution does not solve the intrinsic conflict problem. In projects which using fish-redux, [fish-redux] and [flutter/widgets] are strongly dependent, and their conflicts are pervasive.
At present, it seems that there are two quick solutions to this problem:

Flutter modifies the "action" name . Because action is not its basic concept for the core library of flutter. It is more reasonable to change it to a more specific name in a specific scenario.

Fish-redux changes the name of action to "fish-action", but this is a betrayal of the Redux system, and a breaking-change which requires a lot of renaming for previous projects using fish-redux.

Change or not, please let us reach a conclusion as soon as possible.

cc @gspencergoog @Hixie any suggestions?

dedede

While I understand your frustration, and I'm sorry that this has impacted you, I can't really see a better alternative at the moment to modifying your imports.
The author of a package (be it Flutter, or fish-redux) should have the flexibility to define symbols specific to their package without having to worry overly about naming conflicts with other packages. It results in generally clearer, easier to read APIs all around, and widespread collisions are rare in practice.
Dart provides mechanisms for hiding, showing, and aliasing of symbols, which are fairly powerful, but I agree that there may be further things that the Dart team could do to make dealing with this easier (namespaces, or some other solution). However, for better or worse, Dart's default behavior is to bring all imported symbols into the same namespace, which means that eventually some name collisions will occur. Resolving the conflicts should be done by the developer when colliding names are used together because only the developer knows how they want it to be resolved. E.g. do they want to translate one flavor of "Action" into another, or are they just not using one of them?
You can avoid collisions by always importing things with as [package]. For instance, you could import all flutter libraries like so:
import "package:flutter/widgets.dart" as flutter;
import "package:flutter/material.dart" as flutter;

And then reference all flutter symbols with the flutter prefix (e.g. flutter.Action). This is the equivalent of adding "Flutter" to the front of all the flutter symbols, but more flexible since you only have to do it in files where there are collisions. In general, I wouldn't recommend it (it's more tedious to type, and more cluttered to read), but it depends on your use case, and on how much overlap you have between Flutter code and the code of other packages. Maybe it would instead make more sense to do this with other packages and leave Flutter in the default namespace, or, as you've described, just hide those colliding symbols that you're not using.
As for the specific case of Action, it's a core concept to keyboard shortcuts and menus common to desktop and web platforms, as well as for undo/redo patterns. As with all Flutter APIs, we attempt to name them as straight-forwardly as possible, in the same way that fish-redux has named theirs in a straightforward fashion for them, so renaming either package's class to avoid a naming conflict here isn't really something I'd prefer to do.
If we (and other package authors) were to defer to the naming used in all Flutter-compatible packages before naming our classes, we'd pretty shortly end up prefixing all of our names with "Flutter".  As mentioned above, this is not something we'd like to do: it's unnecessarily verbose, and the equivalent can be done as described above by the importer with as.

One option along the lines of @gspencergoog's suggestion that might be less painful is something like
import "package:flutter/material.dart" hide Action;
import "package:flutter/mateiral.dart" as flutter show Action;

Which would then only require the prefix for when you want to use Flutter's actions.
Alternatively, you could just hide Action altogether for now until you want to use it later.

Actually, there's one more way you could solve this.  You could create your own "my_flutter.dart" package and just export the parts you want from it, and import that package instead of importing flutter's packages directly.  For instance:
in my_flutter.dart:
library my_flutter;

export 'package:flutter/foundation.dart';
export 'package:flutter/widget.dart' hide Action;
export 'package:flutter/material.dart' hide Action;
// ... and any other packages you want to use from flutter.

And then in your app, do this import:
import 'my_flutter.dart';

instead of importing flutter directly.
That way you'd have control over what symbols from flutter were exposed, all in one place instead of in each individual component.  If you wanted to, you could have a separate one for each flutter package, or you could put them all in one (which could affect compile/reload times, so be sure to test it to see if it's acceptable).
You'd have to update all your code once to swap the imports to use yours, but then you'd have control centrally.

I don't think that the above tips can really solve the problems, especially when a large number of teams are using fish-redux. Although we do this at the moment, it brings a very bad code experience.
Going back to the beginning of the question, is the name 'Action' should be used in Flutter to handle the keyboard shortcuts and menus common to desktop and web platform or left this name to the community more friendly?
Action is not from fish-redux, but from Redux. Especially before Flutter, Redux has gained wide recognition and influence in data state management. Action is a fundamental concept in the Redux system.
I think that without the name Action, it does not have any effect on the Flutter system itself, but it will cause great damage to the Redux system.

This is good food for thought, @zjuwjf. Thank you for raising this issue. I think we need to step back and think about what might be a good general-purpose solution to this problem.
Unfortunately, the Action clash is challenging to solve in the short term since a subsequent build has now been promoted to the stable channel. Please accept our apologies. Other than renaming Action, I'm interested in hearing if there are any other language or scoping solutions that you would find palatable?

Consider not exporting Actions in the following libraries.
'package:flutter/material.dart';
'package:flutter/cupertino.dart';
'package:flutter/widget.dart';

The Action or Keyboard can be exported in a separate library. Like
'package:flutter/keyboard.dart';
or
'package:flutter/actions.dart';

In the longer term, as flutter covers more devices and features, it is necessary to break down into more independent libraries.

agree @zjuwjf

agree @zjuwjf

Yes, we also considered separating actions into a separate package, but because we are about to add support for actions and shortcuts to most material and cupertino widgets, those packages would explicitly depend on the Action class, and we don't want to reference a class in a public API which is then not exported from the library that references it. That leads to confusion, since methods in a library would be returning instances of a class (in this case Action) which the caller doesn't have a definition for. The developer would have to discover which additional package to import in order to use the class that returns the Action, which is not how any of our other APIs work.
In addition, code like yours (with it's own definition of Action) might fail in strange ways because it would be providing the wrong definition of Action to the compiler that is not compatible with the one the material and cupertino widgets would be expecting.

In my opionion,it's better to rename the 'Action' fish-redux has to 'ReduxAction'. I don't think the name 'ReduxAction' will break specification of Redux.  The fish-redux is a very excellent framework, I have choosen it for my next app.It would make me very exciting if it would upgrade more frequently.

My sense on this is that the language provides a way to deal with this (imports that use hide/show and as, potentially exports doing the same as well), but that it would still be burdensome to deal with this in a larger software project.
Is there some way that tooling could help automate resolving these kinds of conflicts more painlessly?  I don't know if that would be the analyzer or the LSP or the IDE plugin(s), but something like a "quick action" or "quick fix" or whatever it's called to refactor the imports for you?
/cc @devoncarew @DanTup @jacob314 @pq @stereotype441

The same problem is here, I hope to get a good solution

Is there some way that tooling could help automate resolving these kinds of conflicts more painlessly? I don't know if that would be the analyzer or the LSP or the IDE plugin(s)

This would have to come from the analysis server. I think it makes sense. Maybe when a naming conflict is found in the document, a warning (lint?) could be added against the imports that bring in those names with quick-fixes to hide the type from that import? Adding a prefix may be trickier since we'd want to prompt for a name (it's more like a refactor than a quick-fix) but in VS Code we could probably inject that if we had a stable lint code to detect.

Some of the newer code completion work will auto-add the correct show / hide clause. But I don't think relying on this scales very far. I think that generally the framework should be very conservative about adding new classes w/ names that would be very common in user code or other libraries. The Dart libraries themselves had this problem when we added the Resource class several years ago.

So it seems that there is no plan to adjust the name of "Action", and there is no better solution.
What can we do?
Can I use a name "Intent" ? It sounds dangerous, maybe it will be used by flutter in the next version.
Can I use the name "Message", no, it is even more dangerous.
I think I can only pick a name called "FishReduxAction",  I think there will be no guy to grab the name with me.
If I do this, developers who use fish-redux will probably feel awesome.
Each file is filled with lots of "FishReduxAction",  just like a laptop covered with lots of "Intel-Inside" logos on the keyboard, on the screen, etc. how awesome the laptop is.
In addition to complaining, we have nothing to do.

expect a language level solution

In Android Native when there is a conflict then the library owner should change his naming not Android
in Fish Redux it could be Actions or ActionModel or just Act


Hamburger not clickable

In mobile view, when header is visible along with hamburger, The hamburger icon is not clickable due to less z-index.
I would like to work on this issue. Can you please assign me this?

Please /assign i want to fix it !

@prashantsingh181 I've assigned it to you


dependencies in readme don't match makefile

Thanks for this great effect.
I was very impressed by the demo sounds!
While compiling, it looked for expat, which is not in the readme.
Otoh, I didn't find any packages or libraries matching the string "fluid", except fluidsynth.
I couldn't imagine that's what it needed, so I tried compiling without.
I didn't see any errors or warnings about that, and at least the lv2 seems to work.

Hi @magnetophon, and thanks for feedback.

While compiling, it looked for expat, which is not in the readme.

This software does not use the expat library by itself.
If expat happened to be pulled, it was most likely as an indirect dependency of something else.

Otoh, I didn't find any packages or libraries matching the string "fluid", except fluidsynth.

Fluid is the name of the UI construction tool for FLTK.

I didn't see any errors or warnings about that, and at least the lv2 seems to work.

The situation of this program is a bit a large mess currently, and I think of rewriting it significantly, after converting to DPF, eliminating JUCE/FLTK.
Currently it's unreleased.
I've acquired a lot deeper knowledge of the digital models and circuitries than when I began making this,  so it's part of things I really want to rework.

OK, thanks.
Looking forward to what you come up with!
I'll try building without expat then.


arduino ide support added

Also this doesn't work without wio lol why do you want to use it in Arduino IDE

it works without wio no? It is all AVR stuff

Just in case someone needs to use it with Arduino IDE

wio needs to pull the packages

when one of needs to use it for Arduino IDE we can look into it, or make an arduino-specific release for all of Wlib

trueeeeeeeeeeeeee


FR: Adding Notification

Hi there,
great work. It looks amazing!
Can you add notifications? I would like trigger notifications in automations and show them in the dashboard. Is that possible?
Many thanks and greets
Patrick

Do you mean persistent_notification?

Yes :)


Prediction

I really like your PICK project and want to thank you for sharing it, also I have a question about the code.
I am currently trying to export the prediction results from a trained model of PICK using the test.py script, but it just shows the predictions defined on the transcript of the .tsv file of the image provided, it doesn't export the other predictions, so my question is:
Where are the predictions stored? I tried looking through the code but didn't manage to find the variable that contains them. I would be very grateful if you could give some insight about this.
A funny thing is that the script test.py just prints whatever I put in the .tsv, I replaced the transcripts of a .tsv with "asda sdas" and on the output folder got the same "asda sdas" on the .txt
Regards.

Thank you for your interest in our work.
The main process of test is bio tags -> spans -> entities -> text segments.
https://github.com/wenwenyu/PICK-pytorch/blob/11fb67703d19b585fc760345bf6f4c03ff11fa10/test.py#L77
bio_tags_to_spans method will filter outside tags, and calculate sapns betteen  beginning and inside of tags. The final prediction is the corresponding text segments of entity. Hope it helpful to you.

Thanks, I got an output from the spans variable, however it is not what I am looking for, that output is still tied to the .tsv file.
What I am searching for is the method that gets the model predictions from an image without using external data from a .tsv file, just with the image
Regards.

@compadrejavo : Do you have any success in getting predictions from an image alone?

No, PICK requires a file with bounding boxes and transcripts plus the image, however it can be easily generated with a OCR model (Tesseract, ABBY, etc.)

@compadrejavo : did you try key information extraction using GCN alone?


How i can access to a layer present in a wrapper (Time Distributed layer) ?

Hi everyone i am new on github.
I am working on mouvement recognition. I train models on images sequence (3D data).
My model is composed of VGG19 include in a Time Distrubuted layer and a GRU model.
Now i would like to perform some visualization about VGG attention (filter extraction, Saliency maps, heatmap, Grad-CAM Class Activation Maps...)
To do that i need the last VGG convolution layer, so i would like to know how i can extract the VGG model of my TimeDistributed layer ?

distributedLayer = model.get_layer("time_distributed")
subModel = distributedLayer .layer.get_layer("sub_model_name)


Tweak package exports

Fix usage in Jest, drop *.module.js for just .mjs (files were nearly identical), don't include "browser" export map key, do include "module" export map key (to avoid dual package hazard).

Hi! When is it gonna be merged? Very important fix :)


Add Resource Deletion tests

Refactored existing tests and added tests for the recently added mode - pod and va deletion

/hold

/unhold

/lgtm

/retest


Client disconnect but ctx‘Done didn't change

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
hertz function like this
func Test(ctx context.Context, c *app.RequestContext) {
// This prints to STDOUT to show that processing has started
fmt.Fprint(os.Stdout, "processing request\n")
// We use select to execute a piece of code depending on which
// channel receives a message first
select {
case <-time.After(2 * time.Second):
// If we receive a message after 2 seconds
// that means the request has been processed
// We then write this as the response
c.Response.BodyWriter().Write([]byte("request processed"))
case <-ctx.Done():
// If the request gets cancelled, log it
// to STDERR
fmt.Fprint(os.Stderr, "request cancelled\n")
}
fmt.Fprint(os.Stdout, "...............................\n")
}
Expected behavior
when i close client's request in 2 second, it should print "request cancelled" ...but nothing.   hertz should fix this problem
A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
**Hertz version: 0.6.2
Please provide the version of Hertz you are using.
Environment:
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/jarvis/Library/Caches/go-build"
GOENV="/Users/jarvis/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/jarvis/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/jarvis/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/opt/go/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/opt/go/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.20.3"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="cc"
CXX="c++"
CGO_ENABLED="1"
GOMOD="/Users/jarvis/Documents/code/go.mod"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/rd/gxmrg4vs4cb2h_jmb7sddwlm0000gn/T/go-build4164724797=/tmp/go-build -gno-record-gcc-switches -fno-common"
Additional context
Add any other context about the problem here.

It's not a bug, it's designed to be so because creating a new channel for every request is just too expensive, so the channel returned by context.Done() is only closed when the server is shutting down.

It's not a bug, it's designed to be so ,because creating a new channel for every request is just too expensive, so the channel returned by context.Done() is only closed when the server is shutting down.

So for long task client terminals, isn't the server still running. Isn't this even worse....

If idempotency is not guaranteed, we recommend using net/http , which is not currently in our plans.

If you are using it in-house, you can request technical support from cloudwego for this feature.


grenadier subclass acid bombs not working correctly

it only applies to the acid bomb variation. precise attack does not require the constitution save and all 3 forms of attack will inflict acid burn and then is immediately removed on same instance.
this is not happening with any of the other elemental types
acidbomb.zip
Player.log

precise attacks don't require save AFAIK. all bombs use same method to build precise. all that changes is damage type. Others fixed.


Fix service directory computation for ci.yml file being in the library directory

Changes were made a few weeks back to fix PackageInfo generation. In the cases where the ci.yml file is in the library's directory instead of the root service directory, the ServiceDirectories in the ci.yml files was updated. Patch release is special in that it needs to compute the list of service directories from the library list. The problem was that it always assumed that 1 level up from the project's path was the service directory which is no longer the case.
The list of ServiceDirectories is used, in the archetype-sdk-client-patch.yml to generate the PackageInfo which now has to be more granular if the ci.yml is in the library directory.
To ensure normal operations aren't affected I've run the following pipelines which both passed without issue.

java - template - ci - ci.yml is at the ServiceDirectory level
java - azure-communication-common - ci - ci.yml is at the library level

As per the description, I've listed the two pipelines I've run to test this. There are no pipelines triggered off this file. As such, I'm going to merge this.


New version: getzola.zola version 0.19.1

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree


Updated Chapter 12.3.1

The chapter did not explicitly explain how user defined structs are written to Storage, I found this might be confusing for newbies so I added some clarifications.
@enitrat

The chapter did not explicitly explain how user defined structs are written to Storage

Yes and it's still on purpose, it's not just user defined structs it's all structs, even u256 values, which are structs, are written in the same way to storage.
What I am opposed to is the specialization of the explanation specifically for structs. For all types stored, there is one single common way of reading and writing them, it's not specific to structs. The only specificity for structs is that you need to derive starknet::Store on them

I made the changes, but I'm not sure the wordings are perfect. If there's need to still edit the wordings, some suggestions will really help... like a sample text with the right words / structure. @enitrat

Here are some leads on how to proceed:

Do not mention storing user-defined structs at all. As there is no special treatment for user-defined structs compared to other types in storage, we will not explicitly talk about how they're stored.
Replace all integrations of code in this page by specific corresponding snippets from listings/ch99-starknet-smart-contracts/listing_99_03_example_contract. This ensure that the explanations are in line with the example introduced in the previous chapter.
If you believe that it's not clear that variables must be added to the storage struct to be considered in storage, you can eventually reword this part. But I do think it's clear enough 🤔

Storage variables in Starknet contracts are stored in a special struct called `Storage`:

```rust, noplayground
{{#rustdoc_include ../listings/ch99-starknet-smart-contracts/listing_99_02/src/lib.cairo:here}}

Listing 99-2: A Storage Struct
The storage struct is a struct like any other,
except that it must be annotated with #[storage] allowing you to store mappings using the LegacyMap type.

New changes made @enitrat

I will close this as I don't want to spend too much time on back-and-fourths review.
I opened another PR with the changes that I would have liked to see in this section, if you wanted to improve the clarity and organization #427
For #419, if you still intend to do it, you can add your part under the ### Structs storage layout, named ### Enums storage layout

I will continue on the Enums then.


default path on macOS

AFAIK, installing the Arduino IDE on macOS consists solely of putting the .app bundle into /Applications. At no point is an arduino binary added to the user's $PATH. Digging through the app bundle, it looks like all there is is an Arduino binary which launches the IDE.
Perhaps on macOS this library should instead default to expecting the executable path to be /Applications/Arduino.app/Contents/MacOS/Arduino? That at least gets the verify and upload commands to run, though serial monitor doesn't seem to work properly.

Would only Arduino work too? So is that thing in the $PATH? I'd prefer from reverting to stuff in $PATH rather than absolute paths

Nope, it doesn't get added to the $PATH. If I install via homebrew, then I get arduino-builder on the $PATH, but that doesn't seem to be the right tool. Now that I tried it, uploading actually doesn't work with the path value I suggested anyway. Only verify seems to work. Not sure how to resolve it and couldn't find any instructions for getting a proper CLI binary on macOS.

Which version does the macOS one use?
BTW please note that i only run linux and can test neither macOS nor windows <_<

Which version does the macOS one use?

Which version of what? If you mean arduino-builder, it's:
➜   arduino-builder --version
Arduino Builder 1.3.23
Copyright (C) 2015 Arduino LLC and contributors
See https://www.arduino.cc/ and https://github.com/arduino/arduino-builder/graphs/contributors
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I have Arduino version 1.8.1 installed. Again I think the arduino-builder install on the $PATH might be specific to those who've installed via Homebrew, which is likely a small minority of overall Arduino macOS users. I believe that binary exists for all users at /Applications/Arduino.app/Contents/Java/arduino-builder.

Do you happen to know if this is the same as #4 ? So does it actually output that error?

No, there are no crashes or errors like that at all.

I added default paths for macos and windows recently. https://github.com/Sorunome/arduino-upload/blob/f8f3586385c6de24b93b941214820bd02ef2ac82/lib/util.coffee line 5 to 13


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/970 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target.git

Docs Build status updates of commit 70361a7:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_master_2021-07-20-02-07-09 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[riverpod_generator] Some types get resolved to dynamic

Describe the bug
Some of the types that I have as parameters get resolved to dynamic.
To Reproduce
Run the generator with this code. Instead of the Locale type, it'll use dynamic instead.
import 'package:flutter/material.dart';

part 'file.g.dart';

@Riverpod(keepAlive: true)
Future<Map<String, String>> fetchLocalizations(
  FetchLocalizationsRef ref, {
  required Locale locale,
}) async {
  return <String, String>{};
}

Expected behavior
I expect the generator to have generated with the type Locale instead of dynamic.

I just tested, and the generator correctly generates Locale.
So it works for me

@rrousselGit Ah, it appears to be an issue in Flutter 3.0.5/Dart 2.17. Is there anyway you can do a workaround or is the only solution here just to upgrade?

There's nothing I can do, no


[Fix] ie 11 array includes

Thank's for your contribution but unfortunately Array.prototype.includes isn't the only part missing for IE11 :/
See #173 - The IE Support will be available in the next minor version!


Cannot find module 'intlLoaders' from 'intlLoaders.js'

Bug Report
Description
After modifying dependencies and re-running yarn install, jest tests break with the error
Cannot find module 'intlLoaders' from 'intlLoaders.js'
   at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:221:17)
   at Object.<anonymous> (node_modules/terra-i18n/lib/intlLoaders.js:3:20)

This forces developers to run something like
rm -rf node_modules/terra-i18n/
yarn --check-files

to perform a re-install of the offending terra-i18n module.
While Terra seems to favor npm, this is cumbersome to workflows involving package updates. Here are two repos where this is occuring:
https://github.cerner.com/careaware-connect/blackcomb_server/
https://github.cerner.com/ibus-core-internal/careaware-deployer-react
This has been recurring off and on for months. This is most easily reproducible with the careaware-deployer-react repo. blackcomb_server doesn't fail as reliably.
Steps to Reproduce

Clone repo
yarn install
yarn upgrade ___
yarn jest
Observe failure

Additional Context / Screenshots

Expected Behavior

Possible Solution

Environment

Component Name and Version<EMAIL_ADDRESS>

Browser Name and Version: N/A (Chrome 69.0.3497.100)

Node/npm Version: Node v8.11.3 / NPM 6.4.1

Webpack Version: N/A (4.19.0)

Operating System and version (desktop or mobile): Desktop

Yarn v1.10.1

@ Mentions

I've heard about this from another team but we we not able to come up with a reliable test case. This issue offers some more details to what steps seem to trigger the issue. The other team that was seeing this issue resolved it by running the aggregate-translations pre-build tool before running Jest tests.
We are planning to remove the post-install script that automatically writes the intlLoaders.js file, as relying on its existence via the post-install script is unreliable as evident by this logged issue.
When we remove the post-install script from terra-i18n, we'll be recommending teams run the aggregate-translations pre-build tool before running jests. We haven't landed on exactly how we want to roll this out to consumers yet. We may recommend doing it in a jest setup file, calling the aggregate-translations function from terra toolkit or we may recommend adding a pretest npm script that uses the aggregate-translations CLI script.
For now, I'd recommend take a look at one of those 2 options and see if it resolves the issues your running into.

Thanks for the detailed description & info @bjankord. A quick Github search for aggregate-translations in our internal Github indicates several projects are running this as part of jestSetup (or similar). The code below seems to have resolved this issue in our project.
jestSetup.js
import aggregateTranslations from 'terra-toolkit/scripts/aggregate-translations/aggregate-translations';
aggregateTranslations();

I've confirmed this by executing:
rm -rf node_modules/terra-i18n/lib/intlLoaders.js
yarn jest

We can use this strategy until a long-term strategy lands.

I ran into this same issue when changing some dependency versions. Running yarn --force fixes it for me (found this on https://github.com/cerner/terra-core/issues/1405#issuecomment-419142822).

This should be resolved with the latest release of<EMAIL_ADDRESS>/<EMAIL_ADDRESS>For long term strategy, we recommend calling aggregate-translations pre-build script in a global jest setup file as described here if you are still seeing this issue occur.

Degrading 'terra-clinical-application' dependency from 3.2.0 to 2.3.0 resolved the issue for me


upload Excel file: default sheet name is incorrect

When uploading an Excel file, the sheet name field is pre-populated with "Sheet 1". The default sheet name in Excel (for Mac v. 16.12) is "Sheet1". The subtle difference results in failure to upload the file.
Some solutions:

leave the sheet field blank for the user to fill in
pre-populate with "Sheet1" instead
populate with the name of the first sheet in the workbook (after the user selects the file)
populate a dropdown list of the sheet names in the workbook (after the user selects the file)

Solved in Version 2.6.1


Handle panicking in "extern" fns more safely

I was looking through the source code of this crate after reading the article Plugins in Rust: Reducing the Pain with Dependencies | NullDeref and I noticed that currently panicking is only handled for the LocalBorrowingFfiFuture::poll method and even that could be better since the Box that the is caught could panic when it is dropped, see Footgun with catch_unwind when catching panic-on-drop types · Issue #86027 · rust-lang/rust. This crate should probably do something similar to the preposed drop_unwind fn or to the AbortBomb in abi_stable.
All of the following extern "C" functions should probably handle panics since they call arbitrary user provided functions:

LocalBorrowingFfiFuture::drop
LocalBorrowingFfiFuture::poll (currently handled except for caught panic payloads that panic when dropped)
FfiWaker(reference)::wake_by_ref
FfiWaker(reference)::clone
FfiWaker(owned)::drop
FfiWaker(owned)::wake_by_ref
FfiWaker(owned)::wake
FfiWaker(owned)::clone

The new code looks good and I can't find any safety issues with it.
I do think that the abort message should be Waker::clone and not Waker::drop at line 194 for the owned vtable clone method.
Also in the poll_fn function is there a reason to not call Pin::new_unchecked and (*context_ptr).with_context inside the catch_unwind closure (seems like that would be safer if that code was ever changed to introduce a panic somewhere even if they can't panic currently).

I do think that the abort message should be Waker::clone and not Waker::drop at line 194 for the owned vtable clone method.
Also in the poll_fn function, is there a reason to not call Pin::new_unchecked and (*context_ptr).with_context inside the catch_unwind closure (seems like that would be safer if that code was ever changed to introduce a panic somewhere even if they can't panic currently).

Thanks for the review. They are both fixed in https://github.com/oxalica/async-ffi/commit/b81ef7fd62d25348c31aea68016ed2fa3b8baae7 now. Documentations are also updated on master.


Refactor utility functions

The utility functions were getting clunky. I went to add new functionality to grit, but I struggled to figure out exactly where I should be adding it. This led me to this refactoring exercise.
No functionality was changed in this pull request. Only names and locations of python utility functions and tests. I also needed to modify several additional functions to fix import statements.
I also made super minor changes to formatting and ~fixed a deprecated testing warning~ (reverted back, see #56 ).

Note, I did fix a separate deprecation warning for numpy built-in types (see https://numpy.org/doc/stable/release/1.20.0-notes.html#deprecations)

Codecov Report

Merging #55 (c730a0b) into master (7f94b11) will increase coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #55      +/-   ##
==========================================
+ Coverage   98.38%   98.45%   +0.06%
==========================================
  Files          24       30       +6
  Lines         867      905      +38
==========================================
+ Hits          853      891      +38
  Misses         14       14

Flag
Coverage Δ

unittests
98.45% <100.00%> (+0.06%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...iner_eval/tests/test_operations/test_enrichment.py
100.00% <ø> (ø)

cytominer_eval/evaluate.py
100.00% <100.00%> (ø)

cytominer_eval/operations/enrichment.py
100.00% <100.00%> (ø)

cytominer_eval/operations/grit.py
100.00% <100.00%> (ø)

cytominer_eval/operations/mp_value.py
100.00% <100.00%> (ø)

cytominer_eval/operations/precision_recall.py
100.00% <100.00%> (ø)

...miner_eval/operations/replicate_reproducibility.py
100.00% <100.00%> (ø)

cytominer_eval/tests/test_evaluate.py
100.00% <100.00%> (ø)

cytominer_eval/tests/test_operations/test_grit.py
100.00% <100.00%> (ø)

...ominer_eval/tests/test_operations/test_mp_value.py
100.00% <100.00%> (ø)

... and 19 more

Continue to review full report at Codecov.

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

alright @michaelbornholdt - this is ready for your eyes.
This blog post might be helpful to determine how to review.
Personally, I find reviewing other PRs to be helpful for the times when it's me actually proposing the changes. For this reason (and for an independent reason: I think more eyes on code the better) I am requesting your review. Do you think you'll be able to do this in a timely fashion? Hopefully by tomorrow?
FWIW, I think this PR is an easy one to start with. I'm not changing any functionality, just structure.

And Black checks out with no errors! NICE

@gwaygenomics

Awesome, I will merge now. Thanks!

Ideally, you would also want to use pipenv instead of requirements.txt

I am interested. Can you elaborate? Perhaps you can elaborate in a new github issue so we can possibly implement this enhancement in the future?


Remove #ifdef EFFCEE guards in tests

Those guards were only added because we could still run most of our googletest tests but not the effcee tests.  That's because effcee (and its re2) could not build with VS2013, but googletest could build with VS2013.
But recently googletest stopped building under VS2013.  So there's no point in having the #ifdefs which just broke things.
(See https://github.com/KhronosGroup/SPIRV-Tools/pull/1910 and related break in https://github.com/google/shaderc/issues/477 )
This change should:

[x] remove the Effcee #ifdef guards
[x] update the README and bots to say we now required Effcee in the source tree
[x] be accompanied by an email to the developer mailing list about the change.

The e-mail to the dev mailing list was just sent.


[SQA]-THREAD  Unlock Door Command throws the FAILURE Response.

Problem:
While Executing TC-DL-2.3, The unlock-door command throws FAILURE response
Expected behavior - Command should get SUCCESS response .
Actual behavior - Command gets Failure response .
Steps to reproduce -   ./chip-tool doorlock unlock-door 71 1 --timedInteractionTimeoutMs 1000 --PinCode 123
Commit used : https://github.com/project-chip/connectedhomeip/commit/11587f5bf0bb9e621edd4c867c0bc942d804d1ce
Platform :

Chip-Tool - RPI-4 , 8 GB RAM
DUT:- Platform : THREAD N/W - nrfconnet sdk board

Reference:
https://github.com/CHIP-Specifications/chip-test-plans/blob/master/src/cluster/door_lock_Cluster.adoc
Logs:

[1652346790.956337][30148:30153] CHIP:DMG: ICR moving to [ResponseRe]
[1652346790.956416][30148:30153] CHIP:DMG: InvokeResponseMessage =
[1652346790.956461][30148:30153] CHIP:DMG: {
[1652346790.956528][30148:30153] CHIP:DMG: 	suppressResponse = false,
[1652346790.956574][30148:30153] CHIP:DMG: 	InvokeResponseIBs =
[1652346790.956645][30148:30153] CHIP:DMG: 	[
[1652346790.956691][30148:30153] CHIP:DMG: 		InvokeResponseIB =
[1652346790.956770][30148:30153] CHIP:DMG: 		{
[1652346790.956818][30148:30153] CHIP:DMG: 			CommandStatusIB =
[1652346790.956893][30148:30153] CHIP:DMG: 			{
[1652346790.956948][30148:30153] CHIP:DMG: 				CommandPathIB =
[1652346790.957031][30148:30153] CHIP:DMG: 				{
[1652346790.957110][30148:30153] CHIP:DMG: 					EndpointId = 0x1,
[1652346790.957176][30148:30153] CHIP:DMG: 					ClusterId = 0x101,
[1652346790.957258][30148:30153] CHIP:DMG: 					CommandId = 0x1,
[1652346790.957319][30148:30153] CHIP:DMG: 				},
[1652346790.957442][30148:30153] CHIP:DMG:
[1652346790.957539][30148:30153] CHIP:DMG: 				StatusIB =
[1652346790.957627][30148:30153] CHIP:DMG: 				{
[1652346790.957737][30148:30153] CHIP:DMG: 					status = 0x01 (FAILURE),
[1652346790.957879][30148:30153] CHIP:DMG: 				},
[1652346790.957985][30148:30153] CHIP:DMG:
[1652346790.958067][30148:30153] CHIP:DMG: 			},
[1652346790.958169][30148:30153] CHIP:DMG:
[1652346790.958236][30148:30153] CHIP:DMG: 		},
[1652346790.958336][30148:30153] CHIP:DMG:
[1652346790.958394][30148:30153] CHIP:DMG: 	],
[1652346790.958489][30148:30153] CHIP:DMG:
[1652346790.958547][30148:30153] CHIP:DMG: 	InteractionModelRevision = 1
[1652346790.958604][30148:30153] CHIP:DMG: },
[1652346790.958742][30148:30153] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0001 Status=0x1
[1652346790.958818][30148:30153] CHIP:TOO: Error: IM Error 0x00000501: General error: 0x01 (FAILURE)
[1652346790.958902][30148:30153] CHIP:DMG: ICR moving to [AwaitingDe]
[1652346790.959012][30148:30153] CHIP:EM: Sending Standalone Ack for MessageCounter:14966235 on exchange 27401i

DUT Log:
[1652703120.702132][3318:3318] CHIP:EM: Received message of type 0x30 with protocolId (0, 0) and MessageCounter:2160415259 on exchange 22911r
[1652703120.702262][3318:3318] CHIP:EM: Handling via exchange: 22911r, Delegate: 0xaaaadcf57860
[1652703120.702358][3318:3318] CHIP:IN: CASE Server received Sigma1 message. Starting handshake. EC 0xaaaadcf58190
[1652703120.702416][3318:3318] CHIP:DIS: CASE handshake initiated, closing all BLE Connections
[1652703120.702579][3318:3318] CHIP:SC: Waiting for Sigma1 msg
[1652703120.702637][3318:3318] CHIP:IN: CASE Server disabling CASE session setups
[1652703120.702733][3318:3318] CHIP:SC: Received Sigma1 msg
[1652703120.702858][3318:3318] CHIP:SC: Found MRP parameters in the message
[1652703120.702927][3318:3318] CHIP:SC: Peer assigned session key ID 43722
[1652703120.703902][3318:3318] CHIP:SC: CASE matched destination ID: fabricIndex 1, NodeID 0x0000000000000001
[1652703120.706348][3318:3318] CHIP:SC: Including MRP parameters
[1652703120.706475][3318:3318] CHIP:EM: Piggybacking Ack for MessageCounter:2160415259 on exchange: 22911r
[1652703120.706568][3318:3318] CHIP:IN: Prepared unauthenticated message 0xaaaadcf57e58 to 0x0000000000000000 (0)  of type 0x31 and protocolId (0, 0) on exchange 22911r with MessageCounter:2411602809.
[1652703120.706656][3318:3318] CHIP:IN: Sending unauthenticated msg 0xaaaadcf57e58 with MessageCounter:2411602809 to 0x0000000000000000 at monotonic time:<PHONE_NUMBER>B9C467 msec
[1652703120.707161][3318:3318] CHIP:SC: Sent Sigma2 msg
[1652703120.714637][3318:3318] CHIP:EM: Received message of type 0x32 with protocolId (0, 0) and MessageCounter:2160415260 on exchange 22911r
[1652703120.714695][3318:3318] CHIP:EM: Found matching exchange: 22911r, Delegate: 0xaaaadcf57880
[1652703120.714758][3318:3318] CHIP:EM: Rxd Ack; Removing MessageCounter:2411602809 from Retrans Table on exchange 22911r
[1652703120.714792][3318:3318] CHIP:EM: Removed CHIP MessageCounter:2411602809 from RetransTable on exchange 22911r
[1652703120.714839][3318:3318] CHIP:SC: Received Sigma3 msg
[1652703120.715068][3318:3318] CHIP:SC: The device does not support GetClock_RealTimeMS() API. This will eventually result in CASE session setup failures.
[1652703120.718749][3318:3318] CHIP:SC: Unable to save session resumption state: ../../examples/door-lock-app/linux/third_party/connectedhomeip/src/platform/Linux/KeyValueStoreManagerImpl.cpp:53: CHIP Error 0x000000A0: Value not found in the persisted storage
[1652703120.718818][3318:3318] CHIP:SC: Sending status report. Protocol code 0, exchange 22911
[1652703120.718866][3318:3318] CHIP:EM: Piggybacking Ack for MessageCounter:2160415260 on exchange: 22911r
[1652703120.718923][3318:3318] CHIP:IN: Prepared unauthenticated message 0xaaaadcf57e58 to 0x0000000000000000 (0)  of type 0x40 and protocolId (0, 0) on exchange 22911r with MessageCounter:2411602810.
[1652703120.719006][3318:3318] CHIP:IN: Sending unauthenticated msg 0xaaaadcf57e58 with MessageCounter:2411602810 to 0x0000000000000000 at monotonic time:<PHONE_NUMBER>B9C474 msec
[1652703120.719293][3318:3318] CHIP:IN: CASE Session established. Setting up the secure channel.
[1652703120.719350][3318:3318] CHIP:IN: New secure session created for device 0x000000000001B669, LSID:24573 PSID:43722!
[1652703120.719452][3318:3318] CHIP:IN: CASE secure channel is available now.
[1652703120.719499][3318:3318] CHIP:IN: CASE Server enabling CASE session setups
[1652703120.720486][3318:3318] CHIP:EM: Received message of type 0xa with protocolId (0, 1) and MessageCounter:6744032 on exchange 22912r
[1652703120.720546][3318:3318] CHIP:EM: Handling via exchange: 22912r, Delegate: 0xaaaadcf51d38
[1652703120.720632][3318:3318] CHIP:DMG: TimedRequestMessage =
[1652703120.720670][3318:3318] CHIP:DMG: {
[1652703120.720717][3318:3318] CHIP:DMG:        TimeoutMs = 0x3e8,
[1652703120.720761][3318:3318] CHIP:DMG:        InteractionModelRevision = 1
[1652703120.720798][3318:3318] CHIP:DMG: }
[1652703120.720849][3318:3318] CHIP:DMG: Got Timed Request with timeout 1000: handler 0xaaab17875bd0 exchange 22912r
[1652703120.720909][3318:3318] CHIP:EM: Piggybacking Ack for MessageCounter:6744032 on exchange: 22912r
[1652703120.721002][3318:3318] CHIP:IN: Prepared secure message 0xaaaadcf57e78 to 0x000000000001B669 (1)  of type 0x1 and protocolId (0, 1) on exchange 22912r with MessageCounter:3790647.
[1652703120.721066][3318:3318] CHIP:IN: Sending encrypted msg 0xaaaadcf57e78 with MessageCounter:3790647 to 0x000000000001B669 (1) at monotonic time:<PHONE_NUMBER>B9C476 msec
[1652703120.721295][3318:3318] CHIP:DMG: Timed Request time limit 0x0000000000B9C85E: handler 0xaaab17875bd0 exchange 22912r
[1652703120.721504][3318:3318] CHIP:EM: Received message of type 0x10 with protocolId (0, 0) and MessageCounter:2160415261 on exchange 22911r
[1652703120.721546][3318:3318] CHIP:EM: Found matching exchange: 22911r, Delegate: (nil)
[1652703120.721598][3318:3318] CHIP:EM: Rxd Ack; Removing MessageCounter:2411602810 from Retrans Table on exchange 22911r
[1652703120.721631][3318:3318] CHIP:EM: Removed CHIP MessageCounter:2411602810 from RetransTable on exchange 22911r
[1652703120.722234][3318:3318] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:6744033 on exchange 22912r
[1652703120.722373][3318:3318] CHIP:EM: Found matching exchange: 22912r, Delegate: 0xaaab17875bd0
[1652703120.722431][3318:3318] CHIP:EM: Rxd Ack; Removing MessageCounter:3790647 from Retrans Table on exchange 22912r
[1652703120.722479][3318:3318] CHIP:EM: Removed CHIP MessageCounter:3790647 from RetransTable on exchange 22912r
[1652703120.722525][3318:3318] CHIP:DMG: Timed following action arrived at 0x0000000000B9C477: handler 0xaaab17875bd0 exchange 22912r
[1652703120.722571][3318:3318] CHIP:DMG: Handing timed invoke to IM engine: handler 0xaaab17875bd0 exchange 22912r
[1652703120.722637][3318:3318] CHIP:DMG: InvokeRequestMessage =
[1652703120.722672][3318:3318] CHIP:DMG: {
[1652703120.722703][3318:3318] CHIP:DMG:        suppressResponse = false,

[1652703120.722747][3318:3318] CHIP:DMG:        timedRequest = true,
[1652703120.722784][3318:3318] CHIP:DMG:        InvokeRequests =
[1652703120.722830][3318:3318] CHIP:DMG:        [
[1652703120.722863][3318:3318] CHIP:DMG:                CommandDataIB =
[1652703120.722907][3318:3318] CHIP:DMG:                {
[1652703120.722974][3318:3318] CHIP:DMG:                        CommandPathIB =
[1652703120.723027][3318:3318] CHIP:DMG:                        {
[1652703120.723071][3318:3318] CHIP:DMG:                                EndpointId = 0x1,
[1652703120.723123][3318:3318] CHIP:DMG:                                ClusterId = 0x101,
[1652703120.723172][3318:3318] CHIP:DMG:                                CommandId = 0x1,
[1652703120.723219][3318:3318] CHIP:DMG:                        },
[1652703120.723264][3318:3318] CHIP:DMG:
[1652703120.723300][3318:3318] CHIP:DMG:                        CommandData =
[1652703120.723343][3318:3318] CHIP:DMG:                        {
[1652703120.723386][3318:3318] CHIP:DMG:                                0x0 = [
[1652703120.723435][3318:3318] CHIP:DMG:                                0x31, 0x32, 0x33,
[1652703120.723485][3318:3318] CHIP:DMG:                        ]
[1652703120.723527][3318:3318] CHIP:DMG:                        },
[1652703120.723567][3318:3318] CHIP:DMG:                },
[1652703120.723608][3318:3318] CHIP:DMG:
[1652703120.723641][3318:3318] CHIP:DMG:        ],
[1652703120.723682][3318:3318] CHIP:DMG:
[1652703120.723714][3318:3318] CHIP:DMG:        InteractionModelRevision = 1
[1652703120.723741][3318:3318] CHIP:DMG: },
[1652703120.723806][3318:3318] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0101 e=1 p=o
[1652703120.723895][3318:3318] CHIP:DMG: AccessControl: allowed
[1652703120.723928][3318:3318] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0001
[1652703120.723960][3318:3318] CHIP:ZCL: Received command: UnlockDoor
[1652703120.723997][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=1]
[1652703120.724020][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=0]
[1652703120.724042][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=2]
[1652703120.724062][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=1]
[1652703120.724082][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=3]
[1652703120.724102][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=2]
[1652703120.724122][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=4]
[1652703120.724142][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=3]
[1652703120.724162][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=5]
[1652703120.724182][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=4]
[1652703120.724202][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=6]
[1652703120.724221][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=5]
[1652703120.724241][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=7]
[1652703120.724261][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=6]
[1652703120.724281][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=8]
[1652703120.724301][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=7]
[1652703120.724321][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=9]
[1652703120.724341][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=8]
[1652703120.724414][3318:3318] CHIP:ZCL: Door Lock App: LockEndpoint::GetUser [endpoint=1,userIndex=10]
[1652703120.724440][3318:3318] CHIP:ZCL: Found unoccupied user [endpoint=1,adjustedIndex=9]
[1652703120.724463][3318:3318] CHIP:ZCL: Door Lock App: specified PIN code was not found in the database, ignoring command to set lock state to "Unlocked" [endpointId=1]
[1652703120.724511][3318:3318] CHIP:DMG: ICR moving to [ Preparing]
[1652703120.724542][3318:3318] CHIP:DMG: ICR moving to [AddingComm]
[1652703120.724568][3318:3318] CHIP:DMG: ICR moving to [AddedComma]
[1652703120.724670][3318:3318] CHIP:EVL: LogEvent event number: 0x0000000000000004 priority: 2, endpoint id:  0x1 cluster id: 0x0000_0101 event id: 0x3 Sys timestamp: 0x0000000000B9C479
[1652703120.724729][3318:3318] CHIP:DMG: Decreasing reference count for CommandHandler, remaining 0
[1652703120.724807][3318:3318] CHIP:EM: Piggybacking Ack for MessageCounter:6744033 on exchange: 22912r
[1652703120.724901][3318:3318] CHIP:IN: Prepared secure message 0xaaaadcf57e58 to 0x000000000001B669 (1)  of type 0x9 and protocolId (0, 1) on exchange 22912r with MessageCounter:3790648.
[1652703120.724952][3318:3318] CHIP:IN: Sending encrypted msg 0xaaaadcf57e58 with MessageCounter:3790648 to 0x000000000001B669 (1) at monotonic time:<PHONE_NUMBER>B9C47A msec
[1652703120.725158][3318:3318] CHIP:DMG: ICR moving to [CommandSen]
[1652703120.725187][3318:3318] CHIP:DMG: ICR moving to [AwaitingDe]
[1652703120.727326][3318:3318] CHIP:EM: Received message of type 0x10 with protocolId (0, 0) and MessageCounter:6744034 on exchange 22912r
[1652703120.727369][3318:3318] CHIP:EM: Found matching exchange: 22912r, Delegate: (nil)
[1652703120.727414][3318:3318] CHIP:EM: Rxd Ack; Removing MessageCounter:3790648 from Retrans Table on exchange 22912r
[1652703120.727437][3318:3318] CHIP:EM: Removed CHIP MessageCounter:3790648 from RetransTable on exchange 22912r

This seems like the key part in the server log:

[1652703120.724463][3318:3318] CHIP:ZCL: Door Lock App: specified PIN code was not found in the database, ignoring command to set lock state to "Unlocked" [endpointId=1]

@Survensa what exact commands were run on the client here?  Specifically, what were the steps to ensure that pre-condition 3 ("PINCode valid value is 'xxxxxxxx'") was met?

@bzbarsky-apple  I have raised issue for that https://github.com/project-chip/connectedhomeip/issues/18418

SDK Spec Review: @cjandhyala to follow up and update this issue.

It sounds, based on #18418, that this command was in fact being executed without any PINs set up on the server, in which case unlock with PIN is expected to fail.

Bumping this up because not touched for a long time.
I expect door lock certification tests to fail if they are setup without a pin. This failure should be a "cert failure".

We can close this issue. Created new issue for Test Plan Update for tracking
https://github.com/CHIP-Specifications/chip-test-plans/issues/1466


Ensure that the field name is present in the exception text if an error is thrown from the encryptor

Also, some of our encryptors throw IllegalArgumentException; explicitly catch those as well as IOExceptions

Self-merging as this is trivial


svelte.dev docs incorrect page title

https://svelte.dev/docs page title is "Docs • SvelteKit" instead of "Docs • Svelte"
https://github.com/sveltejs/sites/blob/d03e62bda6b7c7497aa6c08f9e5adb8ccbdcb49c/sites/svelte.dev/src/routes/docs/index.svelte#L35

thanks. there were a few others too
fixed here: https://github.com/sveltejs/sites/commit/f3d6149ee5a9c65936a7e74a21a80b003ddf322f