Fix issue 105

Fixing somethin

Codecov Report
Patch and project coverage have no change.

Comparison is base (4281535) 58.71% compared to head (567fe59) 58.71%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #137   +/-   ##
=======================================
  Coverage   58.71%   58.71%
=======================================
  Files         118      118
  Lines       12292    12292
=======================================
  Hits         7217     7217
  Misses       5075     5075

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


GitHub actions node v16

automatically sets up node version as specified in .nvmrc.
This means you can do:
nvm install
nvm use

to automatically setup and switch over the node version locally, and define the node version in a file rather than in strings which are duplicated all over the place
fixes #718
fixes #719

I suppose this needs to be updated to use node 18


HHH-16090 BasicResultAssembler logging optimisations

Very minor optimisation

https://hibernate.atlassian.net/browse/HHH-16090

Changes like this make me think we should just use protected SYSOUT statements ;)
lgtm


Defaulting value is set even when condition is false

Enhancement
As a user/developer, when I click save on schema form  I should have the model without any invisible fields
Expected behaviour
I expected model not to have the field with its default when the field is not visible (condition returns false)
Actual behaviour
The model actually has the field with its default value.
Gist/Plunker/Demo

https://plnkr.co/edit/wNvtmtFSgcUtHK2ihfyK?p=preview
@json-schema-form/angular-schema-form-lead

@amir707 I wonder if this is related to #741 in some way, I suspect the whole mechanic of setting defaults needs to be re-written to be more stable.


Added option --query.require-with

https://github.com/arangodb/arangodb/pull/13958

@Simran-B : note that I just added a backport for 3.7.12.
There is no need to use WITH with the DOCUMENT AQL function with RocksDB.


Javascript / Typescript example for input and output bindings

As a developer, I would like to have an example that shows me how to to bind inputs and outputs with Kafka such that I can quickly build an Azure Function with Kafka.
There is this example from a KEDA repo but it doesn't have:

[ ] An example of how you configure an output connection to Kafka and send one or more messages to that output connection.
[ ] An example of how can process multiple input messages with Kafka in one function execution.

I'm happy to send a PR if this would be helpful.  Let me know where the right spot is to put this example (in this repo or expand the KEDA sample) and rough notes on how to do this with the current interface (if possible).

@timfpark thanks for bringing this up. it would be great if you send a PR for this however i believe we still have an an open issue around support for JavaScript/Typescript so we're probably going to have to do that, first. Want to help contribute to that first?

we're currently using https://github.com/Azure/azure-functions-kafka-extension/tree/master/samples for samples, and have one for .net and python. still need to add a java sample. and once we're done with #42 we can add a javascript folder here and include a sample


out of memery when running evaluator

No description provided.

Transformers need larger memories. May you can use smaller patch size.


Identify standard high-level Merlin README headings

Karl kindly merged the boilerplate README to the template project.


Make LGButton open, so subclassable ?

For example, we need to patch some handy instance functions for the button, I would naturally think we can subclass it, then we can use the shared handy function everywhere, and make UI configs consistent
sth like:
clsss CustomButton: LGButton {
     init(withButtonTitle){
         super.init()
          // custom config
          // ....
     }

      func enableButton() {
          self.isEabled = true
          // other custom UI change to enabled button
          // ...
       }
       func disableButton() {
          // counterpart to enableButton.
        }

         //.. other functions needed per custom requirements
}

@loregr  seems like with the new change, it is still not subclassable, there is not a good designated method could be called from super
Must call a designated initializer of the superclass 'LGButton'

sth like super.init(nibName: nil, bundle: nil)


[GUI] Problem in handling bool attribute

Steps to reproduce the problem:

Create the flow

Publishing the data {"bool": true}

the flow is executed
the data is displayed as "Invalid data"

matheusr@vali:~$ mosquitto_pub -t /admin/26f7d0/attrs -i "admin:26f7d0"  -m '{"bool":true}'
flowbroker_1                  | <17:52:54 05/12/2018> -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 7b 22 64 65 76 69 63 65 69 64 22 3a 22 32 36 66 37 64 30 22 2c 22 74 65 6e 61 6e 74 22 3a 22 61 64 6d 69 6e 22 2c ... >,
flowbroker_1                  |   size: 99,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '30de78d3-8b3a-4e8f-a9e1-db2ad930a35e',
flowbroker_1                  |   offset: 84120,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>806 }
flowbroker_1                  | <17:52:54 05/12/2018> -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:52:54 05/12/2018> -- DEBUG: Queued event {"metadata":{"deviceid":"26f7d0","tenant":"admin","timestamp":1544032373806},"attrs":{"bool":true}}
flowbroker_1                  | <17:52:54 05/12/2018> -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 22 64 65 76 69 63 65 69 64 22 3a 20 22 32 36 66 37 64 30 22 2c 20 22 74 65 6e 61 6e 74 22 3a 20 22 61 64 6d ... >,
flowbroker_1                  |   size: 101,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '30de78d3-8b3a-4e8f-a9e1-db2ad930a35e',
flowbroker_1                  |   offset: 84121,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>822 }
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: Queued event {"metadata": {"deviceid": "26f7d0", "tenant": "admin", "status": "online", "reason": "statusUpdate"}}
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: Pre-processing event {"metadata":{"deviceid":"26f7d0","tenant":"admin","timestamp":1544032373806},"attrs":{"bool":true}}
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: [ingestor] got new device event: { metadata: { deviceid: '26f7d0', tenant: 'admin', timestamp:<PHONE_NUMBER>806 },
flowbroker_1                  |   attrs: { bool: true } }
flowbroker_1                  | [executor] will handle node switch
flowbroker_1                  | debug: Executing switch node...
flowbroker_1                  | debug: ... switch node was successfully executed.
flowbroker_1                  | [executor] hop (switch) result: [{"payload":{"bool":true,"serial":"indefinido"}}]
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: Pre-processing event {"metadata": {"deviceid": "26f7d0", "tenant": "admin", "status": "online", "reason": "statusUpdate"}}
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: [ingestor] got new device event: { metadata:
flowbroker_1                  |    { deviceid: '26f7d0',
flowbroker_1                  |      tenant: 'admin',
flowbroker_1                  |      status: 'online',
flowbroker_1                  |      reason: 'statusUpdate' } }
flowbroker_1                  | [executor] will handle node change
flowbroker_1                  | debug: Executing change node...
flowbroker_1                  | debug: ... change node was successfully executed.
flowbroker_1                  | [executor] hop (change) result: [{"payload":{"bool":true,"serial":"indefinido"},"saida":{"str":"teste do nÃ³ device in"}}]
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: [ingestor] ignoring device status update 26f7d0 53629c35-7cbc-4bce-a29e-de1e357633b8
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: [ingestor] ignoring device status update 26f7d0 5d9d9764-d650-430b-9cd7-e1b9e36c8366
flowbroker_1                  | [executor] will handle node device out
flowbroker_1                  | debug: Executing device-out node...
flowbroker_1                  | debug: Updating device...
flowbroker_1                  | debug: Message is: { attrs: { str: 'teste do nÃ³ device in' },
flowbroker_1                  |   metadata: { deviceid: '26f7d0', timestamp:<PHONE_NUMBER>010, tenant: 'admin' } }
flowbroker_1                  | object
flowbroker_1                  | will produce [object Object] to device-data:admin
flowbroker_1                  | <17:52:55 05/12/2018> -- DEBUG: Trying to publish someting. Current producer topics are { 'device-data': { admin: '30de78d3-8b3a-4e8f-a9e1-db2ad930a35e' },
flowbroker_1                  |   'dojot.device-manager.device': { admin: '189ce8a3-da4a-479a-95cc-3d0ad170bd3a' } }
flowbroker_1                  | debug: ... device was updated.
flowbroker_1                  | debug: ... device-out node was successfully executed.
flowbroker_1                  | [executor] hop (device out) result: undefined
flowbroker_1                  | <17:52:56 05/12/2018> -- DEBUG: Received message: { value: <Buffer 7b 22 61 74 74 72 73 22 3a 7b 22 73 74 72 22 3a 22 74 65 73 74 65 20 64 6f 20 6e c3 b3 20 64 65 76 69 63 65 20 69 6e 22 7d 2c 22 6d 65 74 61 64 61 74 ... >,
flowbroker_1                  |   size: 118,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '30de78d3-8b3a-4e8f-a9e1-db2ad930a35e',
flowbroker_1                  |   offset: 84122,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>010 }
flowbroker_1                  | <17:52:56 05/12/2018> -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:52:56 05/12/2018> -- DEBUG: Queued event {"attrs":{"str":"teste do nÃ³ device in"},"metadata":{"deviceid":"26f7d0","timestamp":1544032375010,"tenant":"admin"}}
flowbroker_1                  | <17:52:56 05/12/2018> -- DEBUG: Pre-processing event {"attrs":{"str":"teste do nÃ³ device in"},"metadata":{"deviceid":"26f7d0","timestamp":1544032375010,"tenant":"admin"}}
flowbroker_1                  | <17:52:56 05/12/2018> -- DEBUG: [ingestor] got new device event: { attrs: { str: 'teste do nÃ³ device in' },
flowbroker_1                  |   metadata: { deviceid: '26f7d0', timestamp:<PHONE_NUMBER>010, tenant: 'admin' } }
flowbroker_1                  | [executor] will handle node switch
flowbroker_1                  | debug: Executing switch node...
flowbroker_1                  | debug: ... switch node was successfully executed.
flowbroker_1                  | [executor] hop (switch) result: [null]
flowbroker_1                  | <17:53:02 05/12/2018> -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 22 64 65 76 69 63 65 69 64 22 3a 20 22 32 36 66 37 64 30 22 2c 20 22 74 65 6e 61 6e 74 22 3a 20 22 61 64 6d ... >,
flowbroker_1                  |   size: 102,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '30de78d3-8b3a-4e8f-a9e1-db2ad930a35e',
flowbroker_1                  |   offset: 84123,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>347 }
flowbroker_1                  | <17:53:02 05/12/2018> -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:53:02 05/12/2018> -- DEBUG: Queued event {"metadata": {"deviceid": "26f7d0", "tenant": "admin", "status": "offline", "reason": "statusUpdate"}}
flowbroker_1                  | <17:53:02 05/12/2018> -- DEBUG: Pre-processing event {"metadata": {"deviceid": "26f7d0", "tenant": "admin", "status": "offline", "reason": "statusUpdate"}}
flowbroker_1                  | <17:53:02 05/12/2018> -- DEBUG: [ingestor] got new device event: { metadata:
flowbroker_1                  |    { deviceid: '26f7d0',
flowbroker_1                  |      tenant: 'admin',
flowbroker_1                  |      status: 'offline',
flowbroker_1                  |      reason: 'statusUpdate' } }
flowbroker_1                  | <17:53:02 05/12/2018> -- DEBUG: [ingestor] ignoring device status update 26f7d0 53629c35-7cbc-4bce-a29e-de1e357633b8
flowbroker_1                  | <17:53:02 05/12/2018> -- DEBUG: [ingestor] ignoring device status update 26f7d0 5d9d9764-d650-430b-9cd7-e1b9e36c8366

Publishing the data {"bool": "true"}

the data is displayed
the flow does not executed

matheusr@vali:~$ mosquitto_pub -t /admin/26f7d0/attrs -i "admin:26f7d0"  -m '{"bool":"true"}'
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 7b 22 64 65 76 69 63 65 69 64 22 3a 22 32 36 66 37 64 30 22 2c 22 74 65 6e 61 6e 74 22 3a 22 61 64 6d 69 6e 22 2c ... >,
flowbroker_1                  |   size: 101,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '30de78d3-8b3a-4e8f-a9e1-db2ad930a35e',
flowbroker_1                  |   offset: 84124,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>934 }
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: Queued event {"metadata":{"deviceid":"26f7d0","tenant":"admin","timestamp":1544032751934},"attrs":{"bool":"true"}}
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 22 64 65 76 69 63 65 69 64 22 3a 20 22 32 36 66 37 64 30 22 2c 20 22 74 65 6e 61 6e 74 22 3a 20 22 61 64 6d ... >,
flowbroker_1                  |   size: 101,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '30de78d3-8b3a-4e8f-a9e1-db2ad930a35e',
flowbroker_1                  |   offset: 84125,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>951 }
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: Queued event {"metadata": {"deviceid": "26f7d0", "tenant": "admin", "status": "online", "reason": "statusUpdate"}}
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: Pre-processing event {"metadata":{"deviceid":"26f7d0","tenant":"admin","timestamp":1544032751934},"attrs":{"bool":"true"}}
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: [ingestor] got new device event: { metadata: { deviceid: '26f7d0', tenant: 'admin', timestamp:<PHONE_NUMBER>934 },
flowbroker_1                  |   attrs: { bool: 'true' } }
flowbroker_1                  | [executor] will handle node switch
flowbroker_1                  | debug: Executing switch node...
flowbroker_1                  | debug: ... switch node was successfully executed.
flowbroker_1                  | [executor] hop (switch) result: [null]
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: Pre-processing event {"metadata": {"deviceid": "26f7d0", "tenant": "admin", "status": "online", "reason": "statusUpdate"}}
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: [ingestor] got new device event: { metadata:
flowbroker_1                  |    { deviceid: '26f7d0',
flowbroker_1                  |      tenant: 'admin',
flowbroker_1                  |      status: 'online',
flowbroker_1                  |      reason: 'statusUpdate' } }
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: [ingestor] ignoring device status update 26f7d0 53629c35-7cbc-4bce-a29e-de1e357633b8
flowbroker_1                  | <17:59:13 05/12/2018> -- DEBUG: [ingestor] ignoring device status update 26f7d0 5d9d9764-d650-430b-9cd7-e1b9e36c8366
flowbroker_1                  | <17:59:18 05/12/2018> -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 22 64 65 76 69 63 65 69 64 22 3a 20 22 32 36 66 37 64 30 22 2c 20 22 74 65 6e 61 6e 74 22 3a 20 22 61 64 6d ... >,
flowbroker_1                  |   size: 102,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '30de78d3-8b3a-4e8f-a9e1-db2ad930a35e',
flowbroker_1                  |   offset: 84126,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>583 }
flowbroker_1                  | <17:59:18 05/12/2018> -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:59:18 05/12/2018> -- DEBUG: Queued event {"metadata": {"deviceid": "26f7d0", "tenant": "admin", "status": "offline", "reason": "statusUpdate"}}
flowbroker_1                  | <17:59:18 05/12/2018> -- DEBUG: Pre-processing event {"metadata": {"deviceid": "26f7d0", "tenant": "admin", "status": "offline", "reason": "statusUpdate"}}
flowbroker_1                  | <17:59:18 05/12/2018> -- DEBUG: [ingestor] got new device event: { metadata:
flowbroker_1                  |    { deviceid: '26f7d0',
flowbroker_1                  |      tenant: 'admin',
flowbroker_1                  |      status: 'offline',
flowbroker_1                  |      reason: 'statusUpdate' } }
flowbroker_1                  | <17:59:18 05/12/2018> -- DEBUG: [ingestor] ignoring device status update 26f7d0 53629c35-7cbc-4bce-a29e-de1e357633b8
flowbroker_1                  | <17:59:18 05/12/2018> -- DEBUG: [ingestor] ignoring device status update 26f7d0 5d9d9764-d650-430b-9cd7-e1b9e36c8366

Expected behavior: the boolean attribute data must be published as
{"bool": true}
{"bool": false}
Affected Version: 0.3.0-nightly_20181129

Publishing the data {"bool": true}

the flow is executed and the data is displayed:

matheusr@vali:/home/bete$ mosquitto_pub -t /admin/a334c4/attrs -i "admin:a334c4"  -m '{"bool":true}'

iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: Authenticating MQTT client
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- |iotagent -- INFO: Getting device from http://device-manager:5000/device/a334c4
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- INFO: Parameters are: url: http://device-manager:5000/device/a334c4, headers: { authorization: 'Bearer and0IHNjaGVtYQ==.eyJzZXJ2aWNlIjoiYWRtaW4iLCJ1c2VybmFtZSI6ImlvdGFnZW50LW1xdHQifQ==.ZHVtbXkgc2lnbmF0dXJl' }, method: get, TAG
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: Connection authorized for
iotagent-mqtt_1               | {"pid":9,"hostname":"faac19273a6c","name":"MoscaServer","level":30,"time":1549891116742,"msg":"client connected","client":"admin:a334c4","v":1}
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- INFO: client up
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: Authorizing MQTT client admin:a334c4 to publish to /admin/a334c4/attrs
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: Expected topic is /admin/a334c4/attrs
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: Device published on topic /admin/a334c4/attrs
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: Authorized client admin:a334c4 to publish to topic /admin/a334c4/attrs
iotagent-mqtt_1               | {"pid":9,"hostname":"faac19273a6c","name":"MoscaServer","level":30,"time":1549891116745,"msg":"closed","client":"admin:a334c4","v":1}
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- INFO: client down
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: ignoring internal message
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: Published data: {"bool":true}, client: admin:a334c4, topic: /admin/a334c4/attrs
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- |messenger -- DEBUG: Trying to publish someting. Current producer topics are { 'device-data':
iotagent-mqtt_1               |    { admin: '9b7a19f8-2d3e-4411-9e99-f29281311741',
iotagent-mqtt_1               |      teste: '7992c6d0-9c15-44eb-871a-b3af4a4eb6bd' } }
iotagent-mqtt_1               | <13:18:36 11/02/2019> -- DEBUG: ignoring internal message

flowbroker_1                  | <13:18:37 11/02/2019> -- DEBUG: Got a message in topic 9b7a19f8-2d3e-4411-9e99-f29281311741.
flowbroker_1                  | <13:18:37 11/02/2019> -- DEBUG: There are 1 callbacks registered.
flowbroker_1                  | <13:18:37 11/02/2019> -- |messenger -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 7b 22 64 65 76 69 63 65 69 64 22 3a 22 61 33 33 34 63 34 22 2c 22 74 65 6e 61 6e 74 22 3a 22 61 64 6d 69 6e 22 2c ... >,
flowbroker_1                  |   size: 99,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '9b7a19f8-2d3e-4411-9e99-f29281311741',
flowbroker_1                  |   offset: 5,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>746 }
flowbroker_1                  | <13:18:37 11/02/2019> -- |messenger -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <13:18:37 11/02/2019> -- DEBUG: Queued event {"metadata":{"deviceid":"a334c4","tenant":"admin","timestamp":1549891116746},"attrs":{"bool":true}}
flowbroker_1                  | <13:18:37 11/02/2019> -- DEBUG: Pre-processing event {"metadata":{"deviceid":"a334c4","tenant":"admin","timestamp":1549891116746},"attrs":{"bool":true}}
flowbroker_1                  | <13:18:37 11/02/2019> -- DEBUG: [ingestor] got new device event: { metadata: { deviceid: 'a334c4', tenant: 'admin', timestamp:<PHONE_NUMBER>746 },
flowbroker_1                  |   attrs: { bool: true } }
flowbroker_1                  | [executor] will handle node switch
flowbroker_1                  | debug: Executing switch node...
flowbroker_1                  | debug: ... switch node was successfully executed.
flowbroker_1                  | [executor] hop (switch) result: [{"payload":{"bool":true,"serial":"indefinido"}}]
flowbroker_1                  | [executor] will handle node change
flowbroker_1                  | debug: Executing change node...
flowbroker_1                  | debug: ... change node was successfully executed.
flowbroker_1                  | [executor] hop (change) result: [{"payload":{"bool":true,"serial":"indefinido"},"saida":{"str":"fluxo foi ativado pelo atributo bool"}}]
flowbroker_1                  | [executor] will handle node device out
flowbroker_1                  | debug: Executing device-out node...
flowbroker_1                  | debug: Updating device...
flowbroker_1                  | debug: Message is: { attrs: { str: 'fluxo foi ativado pelo atributo bool' },
flowbroker_1                  |   metadata: { deviceid: 'a334c4', timestamp:<PHONE_NUMBER>762, tenant: 'admin' } }
flowbroker_1                  | object
flowbroker_1                  | will produce [object Object] to device-data:admin
flowbroker_1                  | <13:18:37 11/02/2019> -- |messenger -- DEBUG: Trying to publish someting. Current producer topics are { 'dojot.device-manager.device':
flowbroker_1                  |    { admin: 'eea2f7d7-6f67-4bb4-b599-f37b15285cd0',
flowbroker_1                  |      teste: 'b9cfb92d-d2f6-45d0-8f2d-239dde83be7b' },
flowbroker_1                  |   'device-data':
flowbroker_1                  |    { admin: '9b7a19f8-2d3e-4411-9e99-f29281311741',
flowbroker_1                  |      teste: '7992c6d0-9c15-44eb-871a-b3af4a4eb6bd' } }
flowbroker_1                  | debug: ... device was updated.
flowbroker_1                  | [executor] hop (device out) result: undefined
flowbroker_1                  | debug: ... device-out node was successfully executed.
flowbroker_1                  | debug: Checking memory.
flowbroker_1                  | <13:18:39 11/02/2019> -- DEBUG: Got a message in topic 9b7a19f8-2d3e-4411-9e99-f29281311741.
flowbroker_1                  | <13:18:39 11/02/2019> -- DEBUG: There are 1 callbacks registered.
flowbroker_1                  | <13:18:39 11/02/2019> -- |messenger -- DEBUG: Received message: { value: <Buffer 7b 22 61 74 74 72 73 22 3a 7b 22 73 74 72 22 3a 22 66 6c 75 78 6f 20 66 6f 69 20 61 74 69 76 61 64 6f 20 70 65 6c 6f 20 61 74 72 69 62 75 74 6f 20 62 ... >,
flowbroker_1                  |   size: 132,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '9b7a19f8-2d3e-4411-9e99-f29281311741',
flowbroker_1                  |   offset: 6,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>763 }
flowbroker_1                  | <13:18:39 11/02/2019> -- |messenger -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <13:18:39 11/02/2019> -- DEBUG: Queued event {"attrs":{"str":"fluxo foi ativado pelo atributo bool"},"metadata":{"deviceid":"a334c4","timestamp":1549891117762,"tenant":"admin"}}
flowbroker_1                  | <13:18:39 11/02/2019> -- DEBUG: Pre-processing event {"attrs":{"str":"fluxo foi ativado pelo atributo bool"},"metadata":{"deviceid":"a334c4","timestamp":1549891117762,"tenant":"admin"}}
flowbroker_1                  | <13:18:39 11/02/2019> -- DEBUG: [ingestor] got new device event: { attrs: { str: 'fluxo foi ativado pelo atributo bool' },
flowbroker_1                  |   metadata: { deviceid: 'a334c4', timestamp:<PHONE_NUMBER>762, tenant: 'admin' } }
flowbroker_1                  | [executor] will handle node switch
flowbroker_1                  | debug: Executing switch node...
flowbroker_1                  | debug: ... switch node was successfully executed.
flowbroker_1                  | [executor] hop (switch) result: [null]

Publishing the data {"bool": "true"}

the flow does not executed but the data is displayed, despite being "invalid"

matheusr@vali:/home/bete$ mosquitto_pub -t /admin/a334c4/attrs -i "admin:a334c4"  -m '{"bool":"true"}'

iotagent-mqtt_1               | <13:35:28 11/02/2019> -- DEBUG: Authenticating MQTT client
iotagent-mqtt_1               | <13:35:28 11/02/2019> -- |iotagent -- INFO: Getting device from http://device-manager:5000/device/a334c4
iotagent-mqtt_1               | <13:35:28 11/02/2019> -- INFO: Parameters are: url: http://device-manager:5000/device/a334c4, headers: { authorization: 'Bearer and0IHNjaGVtYQ==.eyJzZXJ2aWNlIjoiYWRtaW4iLCJ1c2VybmFtZSI6ImlvdGFnZW50LW1xdHQifQ==.ZHVtbXkgc2lnbmF0dXJl' }, method: get, TAG
iotagent-mqtt_1               | <13:35:28 11/02/2019> -- DEBUG: Connection authorized for
iotagent-mqtt_1               | {"pid":9,"hostname":"faac19273a6c","name":"MoscaServer","level":30,"time":1549892129000,"msg":"client connected","client":"admin:a334c4","v":1}
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- INFO: client up
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- DEBUG: Authorizing MQTT client admin:a334c4 to publish to /admin/a334c4/attrs
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- DEBUG: Expected topic is /admin/a334c4/attrs
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- DEBUG: Device published on topic /admin/a334c4/attrs
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- DEBUG: Authorized client admin:a334c4 to publish to topic /admin/a334c4/attrs
iotagent-mqtt_1               | {"pid":9,"hostname":"faac19273a6c","name":"MoscaServer","level":30,"time":1549892129002,"msg":"closed","client":"admin:a334c4","v":1}
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- INFO: client down
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- DEBUG: ignoring internal message
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- DEBUG: Published data: {"bool":"true"}, client: admin:a334c4, topic: /admin/a334c4/attrs
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- |messenger -- DEBUG: Trying to publish someting. Current producer topics are { 'device-data':
iotagent-mqtt_1               |    { admin: '9b7a19f8-2d3e-4411-9e99-f29281311741',
iotagent-mqtt_1               |      teste: '7992c6d0-9c15-44eb-871a-b3af4a4eb6bd' } }
iotagent-mqtt_1               | <13:35:29 11/02/2019> -- DEBUG: ignoring internal message

flowbroker_1                  | <13:35:30 11/02/2019> -- DEBUG: Got a message in topic 9b7a19f8-2d3e-4411-9e99-f29281311741.
flowbroker_1                  | <13:35:30 11/02/2019> -- DEBUG: There are 1 callbacks registered.
flowbroker_1                  | <13:35:30 11/02/2019> -- |messenger -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 7b 22 64 65 76 69 63 65 69 64 22 3a 22 61 33 33 34 63 34 22 2c 22 74 65 6e 61 6e 74 22 3a 22 61 64 6d 69 6e 22 2c ... >,
flowbroker_1                  |   size: 101,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '9b7a19f8-2d3e-4411-9e99-f29281311741',
flowbroker_1                  |   offset: 7,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>004 }
flowbroker_1                  | <13:35:30 11/02/2019> -- |messenger -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <13:35:30 11/02/2019> -- DEBUG: Queued event {"metadata":{"deviceid":"a334c4","tenant":"admin","timestamp":1549892129003},"attrs":{"bool":"true"}}
flowbroker_1                  | <13:35:30 11/02/2019> -- DEBUG: Pre-processing event {"metadata":{"deviceid":"a334c4","tenant":"admin","timestamp":1549892129003},"attrs":{"bool":"true"}}
flowbroker_1                  | <13:35:30 11/02/2019> -- DEBUG: [ingestor] got new device event: { metadata: { deviceid: 'a334c4', tenant: 'admin', timestamp:<PHONE_NUMBER>003 },
flowbroker_1                  |   attrs: { bool: 'true' } }
flowbroker_1                  | [executor] will handle node switch
flowbroker_1                  | [executor] hop (switch) result: [null]
flowbroker_1                  | debug: Executing switch node...
flowbroker_1                  | debug: ... switch node was successfully executed.

Publishing the data {"bool": true}

a flow activated by boolean attribute is executed
the published data is displayed on the device details screen

Publishing the data {"bool": "true"}

a flow activated by boolean attribute is NOT executed
the published data is displayed on the device details screen, although the data is "invalid"

Tested on Version: 58.2-20190321

Publishing the data {"bool": true}

a flow activated by boolean attribute is executed
the published data is displayed on the device details screen

Publishing the data {"bool": "true"}

a flow activated by boolean attribute is NOT executed
the published data is displayed on the device details screen, although the data is "invalid"

Expected behavior: the boolean attribute data must be published as

{"bool": true}
{"bool": false}

Tested on Version: 61.1-20190423

Test OK.

Publishing the data {"bool": true}

the flow is executed
the data is displayed

mosquitto_pub -t /admin/ff2f5b/attrs -m '{"bool": true}'
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: Authenticating MQTT client
iotagent-mqtt_1               | {"pid":12,"hostname":"af820f42e7c3","name":"MoscaServer","level":30,"time":1559843489879,"msg":"client connected","client":"mosqpub/3181-vali","v":1}
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- INFO: client up
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: Authorizing MQTT client mosqpub/3181-vali to publish to /admin/ff2f5b/attrs
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: Expected topic is /admin/ff2f5b/attrs
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: Device published on topic /admin/ff2f5b/attrs
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: Authorized client mosqpub/3181-vali to publish to topic /admin/ff2f5b/attrs
iotagent-mqtt_1               | {"pid":12,"hostname":"af820f42e7c3","name":"MoscaServer","level":30,"time":1559843489881,"msg":"closed","client":"mosqpub/3181-vali","v":1}
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- INFO: client down
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- |iotagent -- INFO: Getting device from http://device-manager:5000/device/ff2f5b
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- INFO: Parameters are: url: http://device-manager:5000/device/ff2f5b, headers: { authorization: 'Bearer and0IHNjaGVtYQ==.eyJzZXJ2aWNlIjoiYWRtaW4iLCJ1c2VybmFtZSI6ImlvdGFnZW50LW1xdHQifQ==.ZHVtbXkgc2lnbmF0dXJl' }, method: get, TAG
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: ignoring internal message
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: Published data: {"bool": true}, client: mosqpub/3181-vali, topic: /admin/ff2f5b/attrs
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- |messenger -- DEBUG: Trying to publish someting. Current producer topics are { 'device-data':
iotagent-mqtt_1               |    { admin: '442bf0aa-023a-44a5-b13b-08abe7fd27b1',
iotagent-mqtt_1               |      teste: 'db79f7ec-89ac-40c7-a4dd-2ab933d5dc28' } }
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: ignoring internal message
iotagent-mqtt_1               | <17:51:29 06/06/2019> -- DEBUG: Got device {"attrs":{"8":[{"created":"2019-06-04T13:47:22.910921+00:00","id":28,"is_static_overridden":false,"label":"mensagem","static_value":"","template_id":"8","type":"actuator","value_type":"string"},{"created":"2019-06-04T13:47:22.910111+00:00","id":26,"label":"bool","template_id":"8","type":"dynamic","value_type":"boolean"},{"created":"2019-06-04T13:47:22.908317+00:00","id":22,"label":"float","template_id":"8","type":"dynamic","value_type":"float"},{"created":"2019-06-04T13:47:22.909677+00:00","id":25,"label":"gps","metadata":[{"created":"2019-06-04T13:47:22.911966+00:00","id":30,"is_static_overridden":false,"label":"unidade","static_value":"decimal","type":"meta","updated":null,"value_type":"string"},{"created":"2019-06-04T13:47:22.912452+00:00","id":31,"is_static_overridden":false,"label":"descricao","static_value":"localizaÃ§Ã£o do dispositivo","type":"meta","updated":null,"value_type":"string"}],"template_id":"8","type":"dynamic","value_type":"geo:point"},{"created":"2019-06-04T13:47:22.908849+00:00","id":23,"label":"int","template_id":"8","type":"dynamic","value_type":"integer"},{"created":"2019-06-04T13:47:22.909274+00:00","id":24,"label":"str","template_id":"8","type":"dynamic","value_type":"string"},{"created":"2019-06-04T13:47:22.911328+00:00","id":29,"is_static_overridden":false,"label":"protocol","static_value":"mqtt","template_id":"8","type":"meta","value_type":"string"},{"created":"2019-06-04T13:47:22.910516+00:00","id":27,"is_static_overridden":false,"label":"serial","static_value":"indefinido","template_id":"8","type":"static","value_type":"string"}]},"created":"2019-06-06T17:48:26.786485+00:00","id":"ff2f5b","label":"device","templates":[8]}

flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: Got a message in topic 442bf0aa-023a-44a5-b13b-08abe7fd27b1.
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: There are 1 callbacks registered.
flowbroker_1                  | <17:51:30 06/06/2019> -- |messenger -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 7b 22 64 65 76 69 63 65 69 64 22 3a 22 66 66 32 66 35 62 22 2c 22 74 65 6e 61 6e 74 22 3a 22 61 64 6d 69 6e 22 2c ... >,
flowbroker_1                  |   size: 99,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '442bf0aa-023a-44a5-b13b-08abe7fd27b1',
flowbroker_1                  |   offset: 3,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>884 }
flowbroker_1                  | <17:51:30 06/06/2019> -- |messenger -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: { 'caec5f77-1b77-4e1d-bd63-ec9098ced304': [Function] }
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: Queued event [object Object]
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: Pre-processing event {"source":"device","message":"{\"metadata\":{\"deviceid\":\"ff2f5b\",\"tenant\":\"admin\",\"timestamp\":1559843489884},\"attrs\":{\"bool\":true}}"}
flowbroker_1                  | <17:51:30 06/06/2019> -- |dev cache -- DEBUG: retriving data related to admin:ff2f5b from cache
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [ingestor] got new device event: { metadata: { tenant: 'admin', timestamp:<PHONE_NUMBER>884 },
flowbroker_1                  |   event: 'publish',
flowbroker_1                  |   data: { attrs: { bool: true, serial: 'indefinido' }, id: 'ff2f5b' } }
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [executor] will handle node switch
flowbroker_1                  | <17:51:30 06/06/2019> -- |switch -- DEBUG: Executing switch node...
flowbroker_1                  | <17:51:30 06/06/2019> -- |switch -- DEBUG: ... switch node was successfully executed.
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [executor] hop (switch) result: [{"payload":{"bool":true,"serial":"indefinido"}}]
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [executor] will handle node change
flowbroker_1                  | <17:51:30 06/06/2019> -- |change -- DEBUG: Executing change node...
flowbroker_1                  | <17:51:30 06/06/2019> -- |change -- DEBUG: ... change node was successfully executed.
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [executor] hop (change) result: [{"payload":{"bool":true,"serial":"indefinido"},"saida":{"str":"teste do atributo bool"}}]
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [executor] will handle node template
flowbroker_1                  | <17:51:30 06/06/2019> -- |template -- DEBUG: ... template node was successfully executed.
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [executor] hop (template) result: [{"payload":{"bool":true,"serial":"indefinido"},"saida":{"str":"teste do atributo bool"},"deviceID":"ff2f5b"}]
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [executor] will handle node multi device out
flowbroker_1                  | <17:51:30 06/06/2019> -- |multi device out -- DEBUG: Executing multi-device-out node...
flowbroker_1                  | <17:51:30 06/06/2019> -- |multi device out -- DEBUG: Updating device...
flowbroker_1                  | <17:51:30 06/06/2019> -- |multi device out -- DEBUG: Message is: { attrs: { str: 'teste do atributo bool' },
flowbroker_1                  |   metadata: { timestamp:<PHONE_NUMBER>904, tenant: 'admin' } }
flowbroker_1                  | <17:51:30 06/06/2019> -- |messenger -- DEBUG: Trying to publish someting. Current producer topics are { 'dojot.device-manager.device':
flowbroker_1                  |    { admin: 'edd5770f-d5bb-4dea-9d8d-05e8a7090da8',
flowbroker_1                  |      teste: '5e416430-13aa-4b51-bdf8-d080d039fb1f' },
flowbroker_1                  |   'device-data':
flowbroker_1                  |    { admin: '442bf0aa-023a-44a5-b13b-08abe7fd27b1',
flowbroker_1                  |      teste: 'db79f7ec-89ac-40c7-a4dd-2ab933d5dc28' },
flowbroker_1                  |   'dojot.notifications':
flowbroker_1                  |    { admin: 'cedf3b31-c885-4b75-bc89-e2b936960b86',
flowbroker_1                  |      teste: '4eef7f28-810e-4062-80d6-aa8a842184e5' } }
flowbroker_1                  | <17:51:30 06/06/2019> -- |multi device out -- DEBUG: ... device was updated.
flowbroker_1                  | <17:51:30 06/06/2019> -- |multi device out -- DEBUG: ... multi-device-out node was successfully executed.
flowbroker_1                  | <17:51:30 06/06/2019> -- DEBUG: [executor] hop (multi device out) result: undefined
flowbroker_1                  | <17:51:32 06/06/2019> -- DEBUG: Got a message in topic 442bf0aa-023a-44a5-b13b-08abe7fd27b1.
flowbroker_1                  | <17:51:32 06/06/2019> -- DEBUG: There are 1 callbacks registered.
flowbroker_1                  | <17:51:32 06/06/2019> -- |messenger -- DEBUG: Received message: { value: <Buffer 7b 22 61 74 74 72 73 22 3a 7b 22 73 74 72 22 3a 22 74 65 73 74 65 20 64 6f 20 61 74 72 69 62 75 74 6f 20 62 6f 6f 6c 22 7d 2c 22 6d 65 74 61 64 61 74 ... >,
flowbroker_1                  |   size: 118,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '442bf0aa-023a-44a5-b13b-08abe7fd27b1',
flowbroker_1                  |   offset: 4,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>905 }
flowbroker_1                  | <17:51:32 06/06/2019> -- |messenger -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:51:32 06/06/2019> -- DEBUG: { 'caec5f77-1b77-4e1d-bd63-ec9098ced304': [Function] }
flowbroker_1                  | <17:51:32 06/06/2019> -- DEBUG: Queued event [object Object]
flowbroker_1                  | <17:51:32 06/06/2019> -- DEBUG: Pre-processing event {"source":"device","message":"{\"attrs\":{\"str\":\"teste do atributo bool\"},\"metadata\":{\"timestamp\":1559843490904,\"tenant\":\"admin\",\"deviceid\":\"ff2f5b\"}}"}
flowbroker_1                  | <17:51:32 06/06/2019> -- |dev cache -- DEBUG: retriving data related to admin:ff2f5b from cache
flowbroker_1                  | <17:51:32 06/06/2019> -- DEBUG: [ingestor] got new device event: { metadata: { timestamp:<PHONE_NUMBER>904, tenant: 'admin' },
flowbroker_1                  |   event: 'publish',
flowbroker_1                  |   data:
flowbroker_1                  |    { attrs: { str: 'teste do atributo bool', serial: 'indefinido' },
flowbroker_1                  |      id: 'ff2f5b' } }
flowbroker_1                  | <17:51:32 06/06/2019> -- DEBUG: [executor] will handle node switch
flowbroker_1                  | <17:51:32 06/06/2019> -- |switch -- DEBUG: Executing switch node...
flowbroker_1                  | <17:51:32 06/06/2019> -- |switch -- DEBUG: ... switch node was successfully executed.
flowbroker_1                  | <17:51:32 06/06/2019> -- DEBUG: [executor] hop (switch) result: [null]

persister_1                   | [06/06/19 - 17:51:30] |messenger| INFO: Emitting new event message for subject device-data@admin
persister_1                   | [06/06/19 - 17:51:30] |persister| INFO: Received data: {'metadata': {'deviceid': 'ff2f5b', 'tenant': 'admin', 'timestamp':<PHONE_NUMBER>884}, 'attrs': {'bool': True}}
persister_1                   | [06/06/19 - 17:51:30] |persister| DEBUG: got data event b'{"metadata":{"deviceid":"ff2f5b","tenant":"admin","timestamp":1559843489884},"attrs":{"bool":true}}'
persister_1                   | [06/06/19 - 17:51:32] |messenger| INFO: Emitting new event message for subject device-data@admin
persister_1                   | [06/06/19 - 17:51:32] |persister| INFO: Received data: {'attrs': {'str': 'teste do atributo bool'}, 'metadata': {'timestamp':<PHONE_NUMBER>904, 'tenant': 'admin', 'deviceid': 'ff2f5b'}}
persister_1                   | [06/06/19 - 17:51:32] |persister| DEBUG: got data event b'{"attrs":{"str":"teste do atributo bool"},"metadata":{"timestamp":1559843490904,"tenant":"admin","deviceid":"ff2f5b"}}'

Publishing the data {"bool": "true"}

the data is displayed as "Invalid data"
the flow does not executed

mosquitto_pub -t /admin/ff2f5b/attrs -m '{"bool": "true"}'
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: Authenticating MQTT client
iotagent-mqtt_1               | {"pid":12,"hostname":"af820f42e7c3","name":"MoscaServer","level":30,"time":1559843684441,"msg":"client connected","client":"mosqpub/7532-vali","v":1}
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- INFO: client up
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: Authorizing MQTT client mosqpub/7532-vali to publish to /admin/ff2f5b/attrs
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: Expected topic is /admin/ff2f5b/attrs
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: Device published on topic /admin/ff2f5b/attrs
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: Authorized client mosqpub/7532-vali to publish to topic /admin/ff2f5b/attrs
iotagent-mqtt_1               | {"pid":12,"hostname":"af820f42e7c3","name":"MoscaServer","level":30,"time":1559843684443,"msg":"closed","client":"mosqpub/7532-vali","v":1}
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- INFO: client down
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- |iotagent -- INFO: Getting device from http://device-manager:5000/device/ff2f5b
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- INFO: Parameters are: url: http://device-manager:5000/device/ff2f5b, headers: { authorization: 'Bearer and0IHNjaGVtYQ==.eyJzZXJ2aWNlIjoiYWRtaW4iLCJ1c2VybmFtZSI6ImlvdGFnZW50LW1xdHQifQ==.ZHVtbXkgc2lnbmF0dXJl' }, method: get, TAG
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: ignoring internal message
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: Published data: {"bool": "true"}, client: mosqpub/7532-vali, topic: /admin/ff2f5b/attrs
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- |messenger -- DEBUG: Trying to publish someting. Current producer topics are { 'device-data':
iotagent-mqtt_1               |    { admin: '442bf0aa-023a-44a5-b13b-08abe7fd27b1',
iotagent-mqtt_1               |      teste: 'db79f7ec-89ac-40c7-a4dd-2ab933d5dc28' } }
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: ignoring internal message
iotagent-mqtt_1               | <17:54:44 06/06/2019> -- DEBUG: Got device {"attrs":{"8":[{"created":"2019-06-04T13:47:22.910921+00:00","id":28,"is_static_overridden":false,"label":"mensagem","static_value":"","template_id":"8","type":"actuator","value_type":"string"},{"created":"2019-06-04T13:47:22.910111+00:00","id":26,"label":"bool","template_id":"8","type":"dynamic","value_type":"boolean"},{"created":"2019-06-04T13:47:22.908317+00:00","id":22,"label":"float","template_id":"8","type":"dynamic","value_type":"float"},{"created":"2019-06-04T13:47:22.909677+00:00","id":25,"label":"gps","metadata":[{"created":"2019-06-04T13:47:22.911966+00:00","id":30,"is_static_overridden":false,"label":"unidade","static_value":"decimal","type":"meta","updated":null,"value_type":"string"},{"created":"2019-06-04T13:47:22.912452+00:00","id":31,"is_static_overridden":false,"label":"descricao","static_value":"localizaÃ§Ã£o do dispositivo","type":"meta","updated":null,"value_type":"string"}],"template_id":"8","type":"dynamic","value_type":"geo:point"},{"created":"2019-06-04T13:47:22.908849+00:00","id":23,"label":"int","template_id":"8","type":"dynamic","value_type":"integer"},{"created":"2019-06-04T13:47:22.909274+00:00","id":24,"label":"str","template_id":"8","type":"dynamic","value_type":"string"},{"created":"2019-06-04T13:47:22.911328+00:00","id":29,"is_static_overridden":false,"label":"protocol","static_value":"mqtt","template_id":"8","type":"meta","value_type":"string"},{"created":"2019-06-04T13:47:22.910516+00:00","id":27,"is_static_overridden":false,"label":"serial","static_value":"indefinido","template_id":"8","type":"static","value_type":"string"}]},"created":"2019-06-06T17:48:26.786485+00:00","id":"ff2f5b","label":"device","templates":[8]}

flowbroker_1                  | <17:54:45 06/06/2019> -- DEBUG: Got a message in topic 442bf0aa-023a-44a5-b13b-08abe7fd27b1.
flowbroker_1                  | <17:54:45 06/06/2019> -- DEBUG: There are 1 callbacks registered.
flowbroker_1                  | <17:54:45 06/06/2019> -- |messenger -- DEBUG: Received message: { value: <Buffer 7b 22 6d 65 74 61 64 61 74 61 22 3a 7b 22 64 65 76 69 63 65 69 64 22 3a 22 66 66 32 66 35 62 22 2c 22 74 65 6e 61 6e 74 22 3a 22 61 64 6d 69 6e 22 2c ... >,
flowbroker_1                  |   size: 101,
flowbroker_1                  |   key: null,
flowbroker_1                  |   topic: '442bf0aa-023a-44a5-b13b-08abe7fd27b1',
flowbroker_1                  |   offset: 5,
flowbroker_1                  |   partition: 0,
flowbroker_1                  |   timestamp:<PHONE_NUMBER>445 }
flowbroker_1                  | <17:54:45 06/06/2019> -- |messenger -- DEBUG: Emitting new event message for subject device-data@admin
flowbroker_1                  | <17:54:45 06/06/2019> -- DEBUG: { 'caec5f77-1b77-4e1d-bd63-ec9098ced304': [Function] }
flowbroker_1                  | <17:54:45 06/06/2019> -- DEBUG: Queued event [object Object]
flowbroker_1                  | <17:54:45 06/06/2019> -- DEBUG: Pre-processing event {"source":"device","message":"{\"metadata\":{\"deviceid\":\"ff2f5b\",\"tenant\":\"admin\",\"timestamp\":1559843684445},\"attrs\":{\"bool\":\"true\"}}"}
flowbroker_1                  | <17:54:45 06/06/2019> -- |dev cache -- DEBUG: retriving data related to admin:ff2f5b from cache
flowbroker_1                  | <17:54:45 06/06/2019> -- DEBUG: [ingestor] got new device event: { metadata: { tenant: 'admin', timestamp:<PHONE_NUMBER>445 },
flowbroker_1                  |   event: 'publish',
flowbroker_1                  |   data: { attrs: { bool: 'true', serial: 'indefinido' }, id: 'ff2f5b' } }
flowbroker_1                  | <17:54:45 06/06/2019> -- DEBUG: [executor] will handle node switch
flowbroker_1                  | <17:54:45 06/06/2019> -- |switch -- DEBUG: Executing switch node...
flowbroker_1                  | <17:54:45 06/06/2019> -- |switch -- DEBUG: ... switch node was successfully executed.
flowbroker_1                  | <17:54:45 06/06/2019> -- DEBUG: [executor] hop (switch) result: [null]

persister_1                   | [06/06/19 - 17:54:45] |messenger| INFO: Emitting new event message for subject device-data@admin
persister_1                   | [06/06/19 - 17:54:45] |persister| INFO: Received data: {'metadata': {'deviceid': 'ff2f5b', 'tenant': 'admin', 'timestamp':<PHONE_NUMBER>445}, 'attrs': {'bool': 'true'}}
persister_1                   | [06/06/19 - 17:54:45] |persister| DEBUG: got data event b'{"metadata":{"deviceid":"ff2f5b","tenant":"admin","timestamp":1559843684445},"attrs":{"bool":"true"}}'

Tested on Version: 62.3-20190603


SQS Listener Container in Actuator Health Checks

We are using the SQS messaging features in Spring Cloud AWS (version 1.2.1 and 2.0.0 M4).
We had a production outage because the service(s) that support the @SqsListener annotation simply didn't complete configuration and logged the following message. More details can be found here:
Ignoring queue with name 'exampleQueue' as it does not exist.

If we had a custom HealthIndicator (as defined here) that could detect this error/failure state and report the service down, then our infrastructure (Kubernetes) would have restarted the app until it reported that it was healthy, thereby eliminating (or minimizing the duration of) the outage.
Is there any bean that I can use to detect this state, and then inject into a custom HealthIndicator? Or any other way to write a custom HealthIndicator to detect unhealthy services that are supporting the SQS messaging?
Also, perhaps a standard HealthIndicator should be included with the artifacts?

If you mean just to check if a queue exists during runtime, you can create custom health indicator like this:
public class SqsQueueHealthIndicator extends AbstractHealthIndicator {

    private final AmazonSQSAsync amazonSQSAsync;
    private final String queueName;

    public SqsQueueHealthIndicator(AmazonSQSAsync amazonSQSAsync, String queueName) {
        this.amazonSQSAsync = amazonSQSAsync;
        this.queueName = queueName;
    }

    @Override
    protected void doHealthCheck(Health.Builder builder) {
        try {
            amazonSQSAsync.getQueueUrl(queueName);
            builder.up();
        } catch (QueueDoesNotExistException e) {
            builder.down(e);
        }
    }
}

and then use it for each queue you need:
@Bean
SqsQueueHealthIndicator q1HealthIndicator(AmazonSQSAsync amazonSQSAsync) {
    return new SqsQueueHealthIndicator(amazonSQSAsync, "q1");
}

@Bean
SqsQueueHealthIndicator sqsDemoHealthIndicator(AmazonSQSAsync amazonSQSAsync) {
    return new SqsQueueHealthIndicator(amazonSQSAsync, "sqs-demo");
}

Having such a health indicator in the library itself is a good idea.

Nope, I'm concerned with the container service actually listening. If someone has @SqsListener on a method, they're expecting that the container is listening for messages and delivering them to the code. If that's not happening, they health check should fail because it means the code isn't running as defined/configured.

Ok, I think I got what you mean. Have you tried adding health indicator like:
class SqsListenerHealthIndicator extends AbstractHealthIndicator {

    private final SimpleMessageListenerContainer container;
    private final String queueName;

    SqsListenerHealthIndicator(SimpleMessageListenerContainer container, String queueName) {
        this.container = container;
        this.queueName = queueName;
    }

    @Override
    protected void doHealthCheck(Health.Builder builder) {
        if (container.isRunning(queueName)) {
            builder.up();
        } else {
            builder.down();
        }
    }
}```

and then declaring beans:

@Bean
HealthIndicator sqsListenerHealthIndicator(SimpleMessageListenerContainer container) {
    return new SqsListenerHealthIndicator(container, "my-new-queue");
}

You can take a look at more out-of-the-box solution for this on my branch: https://github.com/maciejwalkowiak/spring-cloud-aws/commit/c230496edfd1191f062db96c6a151d7cfd79c4ef
I am not convinced if use case is so common to merge it into Spring Cloud AWS. What do you think @aemruli ?

@maciejwalkowiak I think it is definitely worth adding, we would need to push it to the actuator module as I want to keep the messaging module clean. But I see potential also for other modules to benefit from health indicator (RDS as an example).

Ok, I'll prepare a PR.


trim Function to remove leading and trailing whitespace?

Does tarql 1.1 offer a trim function to remove leading and trailing whitespace? If not I request it as a new feature.

No, there is no trim function, but I suppose this can be done fairly easily with the standard SPARQL REPLACE function, which accepts a regular expression.
Ideally, Tarql would have a way of defining custom functions based on SPARQL expressions, similar to SPIN functions. This would make it possible to package the REPLACE call into a simple my:trim(?x) call.

#34 asks for custom SPARQL functions


relations: update value_check value

closes https://github.com/inveniosoftware/invenio-records/issues/266
depends on https://github.com/inveniosoftware/invenio-records/pull/267

The error is probably because of my suggested refactor in marshmallow-utils, and also because the cases need to be clearer:
If an IdentifierSchema has identifier_required=False, what should happen ?
:x: : raise a ValidationError  :heavy_check_mark:  : Don't raise an error

Scheme
Identifier
Validation

no scheme
no identifier
:heavy_check_mark:

scheme
no identifier
? (discard it or error I think)

invalid scheme (not in allowed)
no identifier
? (discard it or error I think)

no scheme (none found)
identifier
:x:

invalid scheme
identifier
:x:


[net/http] Support timeout of idle "keep-alive" connections in http.Transport

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

1.6.2

What operating system and processor architecture are you using (go env)?

darwin/amd64

What did you do?

Run the below test:
package keepalive

import (
	"net/http"
	"testing"
	"time"

	"github.com/getlantern/fdcount"
)

func TestIdle(t *testing.T) {
	_, counter, err := fdcount.Matching("TCP")
	if err != nil {
		t.Fatalf("Error getting fd count: %v", err)
	}

	maxIdleTime := 100 * time.Millisecond
	tr := &http.Transport{
	// MaxIdleTime: maxIdleTime - I'd like to be able to do this
	}
	client := http.Client{
		Transport: tr,
	}
	resp, err := client.Get("https://www.google.com/humans.txt")
	if err != nil {
		t.Fatalf("Unable to make request: %v", err)
	}
	if resp.Body != nil {
		resp.Body.Close()
	}

	time.Sleep(maxIdleTime * 2) // doesn't matter how long I sleep here, connection will never go away
	err = counter.AssertDelta(0)
	if err != nil {
		t.Errorf("Wrong number of TCP file descriptors", err)
	}
}

What did you expect to see?

Test passes.

What did you see instead?

--- FAIL: TestIdle (7.87s)
	keepalive_test.go:34: Wrong number of TCP file descriptors%!(EXTRA *errors.errorString=Unexpected TCP file descriptor count. Expected 0, have 1.

		Removed file descriptors
		-----------------------------

		New file descriptors
		-----------------------------
		keepalive 85989 ox.to.a.cart    5u    IPv4 0x2f354771863b7ca1       0t0       TCP <IP_ADDRESS>:61989-><IP_ADDRESS>:443 (ESTABLISHED)
		)
FAIL
FAIL	command-line-arguments	7.892s

I hope to have a patch available for review later today.

Already fixed at tip. Dup of #13998. See details there.

Awesome, thanks @bradfitz!


[Udemy] Fix issue 8753

Fix issue in https://github.com/rg3/youtube-dl/issues/8753
The web page changes the HTML in new version of video player so it causes the error of "Unable to extract course id". I change the regex and everything works now.

Thank you sir!

@Cmakota Just fix it with tuble search_regex. It is working right now. Until this pull request is merged into a release, you can change the udemy.py as you said to use this fix.


fix(kubernetesenv): support stable marshal of config params and instances

This PR adds annotations to force stable marshaling of protos in the kubernetesenv handler config as well as in the generated template configs that are used to by Mixer to determine whether or not to Build() a new handler.
This PR came out of investigations into situations in which Mixer, for whatever reason, loses its connection to Galley, causing a resend of the entire Mixer config. Instead of reusing existing handlers (as the config had not actually changed), Mixer was rebuilding handlers -- in particular, the kubernetesenv handlers. This is not ideal, and in the case of kubernetesenv led to memory leaks: #19481.
Key changes in this PR are in:

mixer/tools/mixgen/cmd/api_proto.go
mixer/adapter/kubernetesenv/template/template.proto

The rest of the changes are the results of running make gen.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ X ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@kyessenov I'll look for a place to add such a test. I manually validated this for kubernetesenv in the meantime.

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
81b3ce65ca111b660959a03d7453307d2457c45a
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

PTAL. I've added a test and updated the failing unit tests.

@kyessenov I was fine leaving that out, but since you asked, I've gone ahead and added it, with a test for the stable map marshal.

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
3b7967ef63c712771a0cea08593a41caec303d22
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
3b7967ef63c712771a0cea08593a41caec303d22
link
/test lint_istio

unit-tests_istio
a78e15517d175207940387aa10cd84040753dd4b
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test unit-tests_istio

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pilot-multicluster-e2e_istio
a78e15517d175207940387aa10cd84040753dd4b
link
/test pilot-multicluster-e2e_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

In response to a cherrypick label: #19700 failed to apply on top of branch "release-1.4":
Applying: run BUILD_WITH_CONTAINER=1 make gen
Using index info to reconstruct a base tree...
M	mixer/adapter/kubernetesenv/template/template.yaml
M	mixer/adapter/kubernetesenv/template/template_handler_service.descriptor_set
M	mixer/adapter/kubernetesenv/template/template_proto.descriptor_set
M	mixer/pkg/adapter/test/fixtures.gen.go
M	mixer/template/apikey/template.yaml
M	mixer/template/apikey/template_handler_service.descriptor_set
M	mixer/template/authorization/template.yaml
M	mixer/template/authorization/template_handler_service.descriptor_set
M	mixer/template/edge/template.yaml
M	mixer/template/edge/template_handler_service.descriptor_set
M	mixer/template/listentry/template.yaml
M	mixer/template/listentry/template_handler_service.descriptor_set
M	mixer/template/logentry/template.yaml
M	mixer/template/logentry/template_handler_service.descriptor_set
M	mixer/template/metric/template.yaml
M	mixer/template/metric/template_handler_service.descriptor_set
M	mixer/template/quota/template.yaml
M	mixer/template/quota/template_handler_service.descriptor_set
M	mixer/template/sample/apa/Apa.yaml
M	mixer/template/sample/apa/Apa_handler_service.descriptor_set
M	mixer/template/sample/check/CheckTesterTemplate.yaml
M	mixer/template/sample/check/CheckTesterTemplate_handler_service.descriptor_set
M	mixer/template/sample/quota/QuotaTesterTemplate.yaml
M	mixer/template/sample/quota/QuotaTesterTemplate_handler_service.descriptor_set
M	mixer/template/sample/report/ReportTesterTemplate.yaml
M	mixer/template/sample/report/ReportTesterTemplate_handler_service.descriptor_set
M	mixer/template/tracespan/tracespan.yaml
M	mixer/template/tracespan/tracespan_handler_service.descriptor_set
M	mixer/test/spyAdapter/template/apa/tmpl.yaml
M	mixer/test/spyAdapter/template/apa/tmpl_handler_service.descriptor_set
M	mixer/test/spyAdapter/template/quota/quotatmpl.yaml
M	mixer/test/spyAdapter/template/quota/quotatmpl_handler_service.descriptor_set
M	mixer/test/spyAdapter/template/report/reporttmpl.yaml
M	mixer/test/spyAdapter/template/report/reporttmpl_handler_service.descriptor_set
Falling back to patching base and 3-way merge...warning: Cannot merge binary files: mixer/test/spyAdapter/template/report/reporttmpl_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/test/spyAdapter/template/quota/quotatmpl_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/test/spyAdapter/template/apa/tmpl_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/tracespan/tracespan_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/sample/report/ReportTesterTemplate_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/sample/quota/QuotaTesterTemplate_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/sample/check/CheckTesterTemplate_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/sample/apa/Apa_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/quota/template_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/metric/template_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/logentry/template_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/listentry/template_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/edge/template_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/authorization/template_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/template/apikey/template_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/adapter/kubernetesenv/template/template_proto.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)
warning: Cannot merge binary files: mixer/adapter/kubernetesenv/template/template_handler_service.descriptor_set (HEAD vs. run BUILD_WITH_CONTAINER=1 make gen)

Auto-merging mixer/test/spyAdapter/template/report/reporttmpl_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/test/spyAdapter/template/report/reporttmpl_handler_service.descriptor_set
Auto-merging mixer/test/spyAdapter/template/report/reporttmpl.yaml
CONFLICT (content): Merge conflict in mixer/test/spyAdapter/template/report/reporttmpl.yaml
Auto-merging mixer/test/spyAdapter/template/quota/quotatmpl_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/test/spyAdapter/template/quota/quotatmpl_handler_service.descriptor_set
Auto-merging mixer/test/spyAdapter/template/quota/quotatmpl.yaml
CONFLICT (content): Merge conflict in mixer/test/spyAdapter/template/quota/quotatmpl.yaml
Auto-merging mixer/test/spyAdapter/template/apa/tmpl_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/test/spyAdapter/template/apa/tmpl_handler_service.descriptor_set
Auto-merging mixer/test/spyAdapter/template/apa/tmpl.yaml
CONFLICT (content): Merge conflict in mixer/test/spyAdapter/template/apa/tmpl.yaml
Auto-merging mixer/template/tracespan/tracespan_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/tracespan/tracespan_handler_service.descriptor_set
Auto-merging mixer/template/tracespan/tracespan.yaml
CONFLICT (content): Merge conflict in mixer/template/tracespan/tracespan.yaml
Auto-merging mixer/template/sample/report/ReportTesterTemplate_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/sample/report/ReportTesterTemplate_handler_service.descriptor_set
Auto-merging mixer/template/sample/report/ReportTesterTemplate.yaml
CONFLICT (content): Merge conflict in mixer/template/sample/report/ReportTesterTemplate.yaml
Auto-merging mixer/template/sample/quota/QuotaTesterTemplate_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/sample/quota/QuotaTesterTemplate_handler_service.descriptor_set
Auto-merging mixer/template/sample/quota/QuotaTesterTemplate.yaml
CONFLICT (content): Merge conflict in mixer/template/sample/quota/QuotaTesterTemplate.yaml
Auto-merging mixer/template/sample/check/CheckTesterTemplate_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/sample/check/CheckTesterTemplate_handler_service.descriptor_set
Auto-merging mixer/template/sample/check/CheckTesterTemplate.yaml
CONFLICT (content): Merge conflict in mixer/template/sample/check/CheckTesterTemplate.yaml
Auto-merging mixer/template/sample/apa/Apa_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/sample/apa/Apa_handler_service.descriptor_set
Auto-merging mixer/template/sample/apa/Apa.yaml
CONFLICT (content): Merge conflict in mixer/template/sample/apa/Apa.yaml
Auto-merging mixer/template/quota/template_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/quota/template_handler_service.descriptor_set
Auto-merging mixer/template/quota/template.yaml
CONFLICT (content): Merge conflict in mixer/template/quota/template.yaml
Auto-merging mixer/template/metric/template_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/metric/template_handler_service.descriptor_set
Auto-merging mixer/template/metric/template.yaml
CONFLICT (content): Merge conflict in mixer/template/metric/template.yaml
Auto-merging mixer/template/logentry/template_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/logentry/template_handler_service.descriptor_set
Auto-merging mixer/template/logentry/template.yaml
CONFLICT (content): Merge conflict in mixer/template/logentry/template.yaml
Auto-merging mixer/template/listentry/template_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/listentry/template_handler_service.descriptor_set
Auto-merging mixer/template/listentry/template.yaml
CONFLICT (content): Merge conflict in mixer/template/listentry/template.yaml
Auto-merging mixer/template/edge/template_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/edge/template_handler_service.descriptor_set
Auto-merging mixer/template/edge/template.yaml
CONFLICT (content): Merge conflict in mixer/template/edge/template.yaml
Auto-merging mixer/template/authorization/template_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/authorization/template_handler_service.descriptor_set
Auto-merging mixer/template/authorization/template.yaml
CONFLICT (content): Merge conflict in mixer/template/authorization/template.yaml
Auto-merging mixer/template/apikey/template_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/template/apikey/template_handler_service.descriptor_set
Auto-merging mixer/template/apikey/template.yaml
CONFLICT (content): Merge conflict in mixer/template/apikey/template.yaml
Auto-merging mixer/pkg/adapter/test/fixtures.gen.go
CONFLICT (content): Merge conflict in mixer/pkg/adapter/test/fixtures.gen.go
Auto-merging mixer/adapter/kubernetesenv/template/template_proto.descriptor_set
CONFLICT (content): Merge conflict in mixer/adapter/kubernetesenv/template/template_proto.descriptor_set
Auto-merging mixer/adapter/kubernetesenv/template/template_handler_service.descriptor_set
CONFLICT (content): Merge conflict in mixer/adapter/kubernetesenv/template/template_handler_service.descriptor_set
Auto-merging mixer/adapter/kubernetesenv/template/template.yaml
CONFLICT (content): Merge conflict in mixer/adapter/kubernetesenv/template/template.yaml
error: Failed to merge in the changes.
Patch failed at 0002 run BUILD_WITH_CONTAINER=1 make gen


Add license

Can you please clarify on the license.

MIT license
In a nutshell - do whatever you want - with attribution - will update the source code

Are you looking to integrate with cyberduck/mountainduck?

@synapticloop Indeed.

@synapticloop Let me know if you are interested in pull requests. Currently working on https://github.com/synapticloop/backblaze-b2-java-api/compare/master...iterate-ch:master

absolutely interested in pull requests - have had a look at some of the commits - they are more than welcome


Add experimental microcontroller mixin

This is the beginning of a "getters" or "selectors" like feature for Microcosm. It will probably never be as robust as NuclearJS's getters, which can leverage ImmutableJS hash codes, but it can at least aspire to improve efficiency.
This is just the subscription system. For actual selection, we could actually use https://github.com/faassen/reselect

:+1:

:+1:

Great feedback. Closing for now until the name thing can be sorted out.


Uploaded images have no cms thumbnail in assets admin

Maybe after uploading images AssetAdmin::create()->generateThumbnails($image); should be called to generate the thumb.

That's a good idea ! I think it should also have a matching config flag to enable/disable this because maybe this is already done elsewhere (for my part, i do it in a file extension).

Closed with https://github.com/lekoala/silverstripe-filepond/commit/2c727c7ff805cd368ed89ca3bb47ed3fc4219aff

I'm having trouble getting this to work - have set enable_auto_thumbnails: true in config, but CMS will show a blank white thumbnail until image is saved (publishing image without separate save does not generate thumbnail). With enable_auto_thumbnails: false I get a blank blue thumbnail. AM using SS 4.8.
Have the following set up on MemberExtension:
`private static $has_many = [
'Invoices' => Invoice::class
];
private static $owns = ['Photo'];`

Any tips welcome!

@elkebe it should work fine. Did you check if this part is running ? a simple die statement should help ;-) if the thumbnails are generated, it should work
public function onAfterUpload()
{
    if (File::config()->enable_auto_thumbnails) {
        AssetAdmin::create()->generateThumbnails($this->owner);
    }
}

@elkebe it seems that somehow the settings is never seen as true (and it wasn't working if you enabled chunking). Now it seems to be working, i've changed the settings to be on FilePondField instead

@lekoala thanks for this. Have just updated to v1.2.1 - however something is not quite right as the FilePondFIeld is now displaying as a simple click-to-upload field (no longer a drag and drop field) and file does not get uploaded... was working fine in v1.1.1

@elkebe should be fixed in 1.2.2 (an extra slash in the requirements)
SilverStripe\Assets\File:
extensions:
- LeKoala\FilePond\FilePondFileExtension
LeKoala\FilePond\FilePondField:
enable_auto_thumbnails: true
auto_clear_temp_folder: true
enable_default_description: true
enable_poster: true
should do the trick

@lekoala thanks so much for your super quick responses on this. v1.2.2 displaying FielPondField correctly and uploads as expected, however there's still something funky going on, although this may be a problem with the Assets Admin itself?
Image thumbnail appears in list view and image preview in File/assets manager, but not grid view or preview of has_one in CMS. Have attached screenshots for you (ignore the black boxes as they are just redacted names).
Another potential issue (but I haven't managed to test this thoroughly yet), is that multiple uploads from the same user (if saving to file name pattern of eg. FirstName-Surname.ext) display a different image preview in the FilePondField to the actual image in the $has_one - this only happened after about 4-5 profile images had been uploaded and may have been a weird configuration from my testing... will investigate further.

@elkebe i tested again on my end and i get the thumbnails. not sure what i could look for without a project having the actual issue to troubleshoot.
i would check the actual filesystem to see if the thumbnails are generated alongside after an upload. if yes, the issue is probably elsewhere.
and maybe indeed try to disable renaming pattern if that causes the issues or not. most of the time, i add the timestamp just in case in case of multiple uploads


Update SPARQL query to align with new schema

Once https://github.com/neurobagel/encarta/issues/10 is done, the API query template needs to be updated to correspond to the new schema!

Applying the bug/blocker label here (bit unfair) to highlight that things will break if we don't fix it

Closing this as a duplicate of #94, will merge descriptions


Upgrade Iceberg jar version to 3.3_2.12

I confirmed product tests with iceberg group pass with this change.


Release v1.7.0

This PR does the release of the library version 1.7.0.
This release brings numerous API improvements, as well as fixes and infrastructure updates to the framework.
Breaking Changes

The BlackBoxContext-based tests now fail if a runtime exception was thrown within the signal handlers.
In order to address #1314, we've decided to enforce the fail-fast approach within the BBC tests done in PR #1322. From now on, if a test case had any runtime exceptions thrown from signal handlers. While it may be a breaking change for some, we believe it worth fixing such issues right away than hiding them under the carpet.
If one requires to fall back to the previous behavior, the BBC instance can be configured using the newly introduced tolerateFailures method.

The grand_origin field is no longer set to a default instance for the signal Origin if not grand origin is present (see #1341 for details).

The ServerEnvironment API is improved and changed as a result of the #1315 and related discussions in a series of PRs (#1327, #1331, #1336).
The previously deprecated configure...() API is removed in favor of the new fluent when().use() API.
So now, instead of smth like this:
ServerEnvironment.use(productionStorageFactory, Production.class)
                 .use(testingStorageFactory, Tests.class)
                 .use(memoizingTracerFactory, Production.class)

We should use the following snippet:
ServerEnvironment.when(Production.class)
                 .use(productionStorageFactory)
                 .use(memoizingTracerFactory);
ServerEnvironment.when(Tests.class)
                 .use(testingStorageFactory);

API Changes

Change type validation requirements are relaxed for primitive type changes.
The new_value field is no longer a required one for StringChange and BytesChange types. See PR #1307 for details.

Introduced simplified unicast() methods in the EventRouting.
The new unicast() API allows simplifying and prettifying the even routing for the cases where a singular ID is used.
Now, instead of smth like this:
 @OverridingMethodsMustInvokeSuper
 @Override
 protected void setupEventRouting(EventRouting<AirportId> routing) {
     super.setupEventRouting(routing);
     routing..route(FlightScheduled.class, (e, ctx)-> EventRoute.withId(e.getAirport()));
 }

One can use the following API:
 @OverridingMethodsMustInvokeSuper
 @Override
 protected void setupEventRouting(EventRouting<AirportId> routing) {
     super.setupEventRouting(routing);
     routing.unicast(FlightScheduled.class, FlightScheduled::getAirport)
 }

To find out more details on the new API please check PR #1317.

Added localDate and localDateTime helpers to the WithTime interface.
This feature allows accessing localDate and localDateTime methods from within all the signals. From now on, if one requires a Java LocalDate or LocalDateTime instances over the Protobuf Timestamp or Java Instant that were previously available for signals, they may use the new API to simplify such a conversion and access to the signals timestamp field.
See PR #1319 for additional details.

Fixes

Improved multitenant delivery support by ensuring the tenant is properly propagated within the delivery (see PR #1308).

Fixed a typo in the io.spine.client.Client shutdownTimeout method (see PR #1339).

Fixed dispatching of rejections caused by a particular command (see #1318 and #1343).

Infrastructure

The libraries now do not use implementation for compile-only annotations like errorprone annotations but use the newly introduced compileOnlyApi configuration for such dependencies (see #1340).

@yuri-sergiichuk There is a typo here:
... if not grand origin

Should be no grand origin.

@yuri-sergiichuk Can we please change
We should use the following snippet:

to
One should use the following snippet:

This is going to be more inline with how we tell about things throughout this text.

@yuri-sergiichuk I also think you may easily drop all "PR"s when referencing a pull request. Just "see #4211" works fine, with less letters to read :)

@yuri-sergiichuk There is a typo here:
routing..route(FlightScheduled.class, (e, ctx)-> EventRoute.withId(e.getAirport()));

Let's remove the range operator .. in favour of calling a method (.).


Add LogTSV implementation

I think there are some duplicate commits, but I'll fix it when your PR is in Main.
Case class for serializing and deserializing LogTSV that's intended to be used when generating the dataset before creating the models

Ser nå at jeg force pushet en amend commit. Burde nok heller laget en ny commit, siden jeg squasher nok hele denne PRen. Jaja


openapi: Generic runtime URLs

This PR makes runtimes' URLs generic, e.g. /emerald/transaction becomes /{runtime}/transaction.
oapi-codegen imports a symbol called runtime in the autogenerated code, which clashes with our URL param of the same name. The PR includes a bash script (called from Makefile) to work around this issue.
The PR also includes some general small cleanups -- I searched for "emerald" in the codebase and tweaked all mentions/comments that will soon apply to all runtimes, not just emerald.
Testing: No regressions on URLs from https://github.com/oasisprotocol/oasis-indexer/blob/3c756580ea3fe1d7d5949b4062c30693074d8ad8/tests/e2e_regression/run.sh.


Help for test environment and development

Hello, I need some help to mount a test environment and development
for me to help in the project , thanks.

Hello,
Sorry for the late reply.
The dist folder contains ready to use files and the src folder contains the "dev" files.
Also, Phonon uses Stylus. If you want to edit the default style, you can edit the file src/stylus/_variables.styl then run gulp css-all
PS: when you fork Phonon, do not forget to run npm install.


Fix typo SyntaxError

Removed a typo that placed a character incorrectly and causes a SyntaxError

Right, thanks!


Associate email domain attribute to account id

Extract and store the user's email domain and link it to its account Id in our management store.

done #243


Change behavior of resolutions in bower.json

The current behavior of resolutions key in bower.json is really confusing.
It is used only if conflict between dependencies occurs. That means as soon as there's no longer a conflict, the resolutions are ignored. It means bower users are not able to fix component version by specifying it in resolutions.. This issue is connected to lack of shrinkwrap feature (#505).
My proposal is following:
Modify the behavior of resolutions in backward-compatible way: force given version of component regardless if conflict occurred.

While you are considering changing the resolutions behaviour I think it should be extended to include the path to a package as well as its version.  There appears to be a vulnerability in bower as it stands in that it doesn't expose collisions in package paths, and only considers the version.
Consider the case where you are depending on several other packages which each depend on jquery.  This is all fine and the version requirements are such that there is a common version they all agree on.  Now consider that one of these packages decides to use a fork of jquery (possibly hostile) and they advance their version to a later version that still meets the requirements of your other packages.  Now at the next update bower will pull in the forked version of jquery, and not raise any alert that it is coming from a different repository to the one expected by the other packages.
In this case bower should be raising an alert the same as incompatible versions, and storing the result in the resolutions table with the path to the project.
This has the added benefit that users will be able to override dependencies in their projects by specifying a resolution to a fork if that is what they desire.  I am sort of using this by specifying specific commit hashes in my dependencies and resolutions to override the child-dependencies of sub-packages.  I am forced to use commit hashes (or branches) but not versions because the current resolutions doesn't fire if the versions are not incompatible, and I'm not sure how bower resolves multiple dependent repositories with the same version.

Bower is deprecated now, and in maintenance mode. Because of this we won't implement new features like this one. We recommend switching to Yarn or npm, and migrating with bower-away

btw. yarn supports resolutions as well: https://classic.yarnpkg.com/en/docs/selective-version-resolutions/


[Refactor] Enable auto tablet distribution when version >= 3.0

What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[x] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 1 / 2 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
1
2
50.00%
[2916]

[FE PR Coverage Check]
:disappointed: fail : 1 / 2 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
1
2
50.00%
[2916]

[FE PR Coverage Check]
:disappointed: fail : 0 / 3 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
0
3
00.00%
[2915, 2918, 2919]

[FE PR Coverage Check]
:disappointed: fail : 0 / 3 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
0
3
00.00%
[2915, 2918, 2919]

[FE PR Coverage Check]
:disappointed: fail : 0 / 3 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
0
3
00.00%
[2915, 2918, 2919]

[FE PR Coverage Check]
:heart_eyes: pass : 1 / 1 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%
[]

@Mergifyio backport branch-3.1

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5


Ordering by most common

Most of the time people using this code will be hoping to identify bots as quickly as possible. Attempting to put them in order according to most commonly identified bots would speed up the process, allowing to optimize and get out quickly.
I did a very quick optimization using the frequency reported on this page:
https://deviceatlas.com/blog/list-of-web-crawlers-user-agents
And then I put all your patterns (concatenated with |) into 2 preg_match() calls:
if (preg_match(/most|common|patterns/, $_SERVER['HTTP_USER_AGENT'] || preg_match(/less|common|patterns/, $_SERVER['HTTP_USER_AGENT']) {
// is a bot
} else {
// isn't a bot
}
Providing a script to produce that might be a help...?

interesting comment!
one option is to add a field "prevalence"/"priority"/ that reflects this information, and that could be used to generate the regexp in the right order.
WDYT?

Sure - that would be a good solution.

This would be a strange optimisation to do unless more than 50% of your User-Agent tests match the crawler list.  This is because for non-crawer traffic both regex groups state 'no match'.
If you are looking for lowering latency, then you should look to using a language (or maybe PHP has a C an extension) that lets you compile the concatinated version of RE (which then means ordering is irrelevent):
For example:

Erlang
Python
.NET

Some languages cache the compiled version automatically for you (I cannot see if PHP does too):

Perl
JavaScript - I suspect that is why .compile() is now deprecated

I tried multiple cases using https://godoc.org/go.kelfa.io/kelfa/pkg/crawlerflagger (it's written in Go).
It exposes 2 ways to query the crawler-user-agents list:

ExactMatch (it uses the "instances" field)
RegexpMatch (it uses the "pattern" field)

I tried to match the 1st entry, the 100th entry, the 200th entry, the 300th entry, the 400th entry, and a non-existent entry, those are the results:
BenchmarkName                         Iterations         Average (nanoseconds/operation)
BenchmarkExactMatch/case0-8             10000000               182 ns/op
BenchmarkExactMatch/case101-8           10000000               128 ns/op
BenchmarkExactMatch/case200-8           10000000               137 ns/op
BenchmarkExactMatch/case300-8           10000000               124 ns/op
BenchmarkExactMatch/case400-8           20000000               113 ns/op
BenchmarkExactMatch/miss-8             200000000                 8.03 ns/op
BenchmarkRegExpMatch/case0-8             5000000               292 ns/op
BenchmarkRegExpMatch/case101-8            200000              7335 ns/op
BenchmarkRegExpMatch/case200-8            100000             12866 ns/op
BenchmarkRegExpMatch/case300-8            100000             21898 ns/op
BenchmarkRegExpMatch/case400-8             50000             26515 ns/op
BenchmarkRegExpMatch/miss-8                50000             23963 ns/op

So it seems to suggest that for "instances" based match (at least in Go) the order has absolutely no relevance, while it has relevance for "pattern" based in match (at least in Go).

Interesting, do you also test with a single pattern concatenating all patterns with |?

At the moment there are 400+ regexp (one per entry) and then a switch to analyse the case that matches.
The reason which made me implement it in this way is that I'm not really sure how to identify which case then is matching. Basically it would be possible to decide if at least one pattern is matched by the input string, but not which one.

@monperrus  Since most of the bots user agent has bot|crawler|spider ,we could group all the bots useragents with bot|crawl|spider to a single pattern like this one [ https://regex101.com/r/GYFf0I/1/ ] might help. Improving this regex to a single pattern will reduce the number of patterns to be matched .

A generic regex like that is a good idea but you do have to be very careful not to create false positives. You can’t have bot as part of that regex as there are a few genuine user-agents that have bot as part of their name, Cubot for example.
The best way to increase the performance of as regex such as this, is to remove common strings from the source user-agent.
As you can see here...
https://github.com/JayBizzle/Crawler-Detect/blob/master/src/Fixtures/Exclusions.php
...we run a regex replace on the user agent first that removes any of the common matches before ruining the bot regexes.
We saw a 55% speed increase doing this.

Grouping patterns is on the user side, as in @JayBizzle 's example.
Note that we'd be happy to merge example code snippets for grouping in the README.


Update usage of "dapr run --placement-host-address" argument

What content needs to be created or modified?

Update documentation about --placement-host-address argument in dapr run command
Describe the solution you'd like

The --placement-host-address argument now accepts optional port number.
Syntax: --placement-host-address <hostname>[:<port>]
Where should the new material be placed?

The associated pull request from dapr/dapr, dapr/components-contrib, or other Dapr code repos

https://github.com/dapr/cli/pull/746

/assign


Fail to load images from dir

I'm trying to load images from a directory into the LabelTool, but everytime I try I get "No .jpeg images found in the specified dir!". Even running with the test images provided in the download does not work.  The script seems to be looking in the right location:

Code modified to show above screenshot is at https://pastebin.com/Y1BFWww2
My 001 folder is as follows:

I am using a fork to work with high res images from @toobaimt found at https://github.com/puzzledqs/BBox-Label-Tool/issues/25
Any help would be appreciated.

Activate Python2.7 and then run that command.
They mention that it requires Python 2 environment.
Hope it helps.

Hey! I am working on python 2.7 conda environment and I am having the same problem. If the folder inside the images folder is named 001, then even when i press the load button nothing happens. I dont even get any kind of error message. If I rename the folder to some other number say '1', then I get an error message saying 'no .JPEG images found in the specified dir!'. What am i doing wrong?

@techSash This is a bit late but I was having this error too and the problem seems to be that every folder needs a corresponding examples folder. If you don't have examples then you can always copy the examples to match your folder name.


Architecture diagram for PIDD case study

Related Issue
No response
Description
Considerations:
As part of this article, we want to include a diagram of their architecture. - https://docs.google.com/document/d/1WA8cKVu_t9CwD4sOCIOTt_vx04Coiybo2nzxfGlZwn4/edit
The digram should show a central Node-RED instance running on FlowFuse Cloud. That should have 10 (or less if it's earlier to design) Node-RED instances running on edge devices (some Raspberry Pis, some Groov EPICs). Each is linked to a water height sensor, or a pump (which pushes water along the canals), or a well, or a sump (which takes water back out of a field after it's been irrigated).
Maybe we should show some overview of a farming area to make it easier for the reader to understand? I'm open to ideas.

I'd suggest we chat about this when someone picks up this task.

I'll ping you tomorrow 😉

Here it is @robmarcer
Unless I got something wrong, I think is done!

This is great, I've added it to the article. Thank you!
https://github.com/FlowFuse/website/pull/1441


We use address to set name resolution.

server is used to specify nameservers.
whereas address is used to set resolution.

Thanks


Suggestion: Individual coloring for tags and their synonyms

Great to see that you implemented coloring of tags.
I have a lot of tags. Some of them should have a special coloring. For example:
These should be red with white text:
Passwort, password
Account, account, Zugangsdaten, login, credentials
Privat, private, privat
Some that start with HH should be yellow with black text, but not the same yellow:
HH23A
HH23B
HH23C
HH24A
...
Some should be blue with black or white text, but not the same blue:
FW23A
FW22A
FW21A
FW24A
...
Most of them are german words or special codes that are not in your list. I guess, this problem has every user who uses his own language (or a mix).
What do you think?

Thanks for the comments. Glad you enjoyed the color tags feature in MagicUser =)
Obsidian currently uses different mechanisms to highlight tags in live preview/source mode and reading mode (in reading mode they are links with the class tag). This makes it challenging to achieve consistent styling across all views, especially when targeting tags based on dynamically assigned colors (like the HH23... tags example, different yellow colors).
Consider using plugins that offer more control over tag keyword customization, especially for languages beyond English. I think the solution for this is using Javascript in a specific plugin to color tags or loading a specific CSS snippet. Try to find one (community plugins) that probably can do this. If you didn't find, please let me know.
Back to the theme...
I can add the English words you didn't find in the current version of MagicUser. But with other languages, you will have to add them as a CSS snippet or using a plugin.
I noticed you have both "Password" and "password" ("Account" and "account").  Is there a specific reason for this duplication? In this case you will have to use both ways to write (so it will be more classes to add), especially for tags in live-preview and source modes.

Btw I like the idea, but the dynamic coloring will make it more difficult (like the different yellow color in the HH23A tags, dynamic blue colors as well). It has the risk to have one color in live-preview and other in reading mode. I just made a search (Obsidian forum) there are some plugins for tags, at least one of them only works in reading mode.
If you have a big amount of these HH tags and FW tags, you could try a custom CSS snippet. But this will take more time, compared to a plugin.

Actually it is "Passwort" (password in German). Sorry, I read it wrong. But account and Account still are duplicate words (Privat and privat too).

Thank you very much for your detailed answer. You are absolutely right, due to the complexity and the need for javascript it is better to use a plugin.
I created a few css commands for coloring a long time ago. Here is an excerpt:
.tag  {
  background-color: var(--text-accent);
  border: none;
  color: black;
  font-size: 12px;
  padding: 1px 8px;

  text-align: center;
  text-decoration: none;
  display: inline-block;
  margin: 0px 0px;
  cursor: pointer;
  border-radius: 7px;
}

.tag:hover  {
color: white !important;
/* text-shadow: 1px 1px 2px #000; */
/* background-color: var(--text-accent-hover);  */
/* background-color: red !important; */
border: solid white 1px !important;
}

/* Tags without name; font-color and background-color */
.tag[href^="#"] {
  background-color: white;
  color: black;
}

/* ----------------------------- */
.tag[href^="#nichtgetagged"],
.tag[href^="#untagged"]  {
  background-color: grey;
  color: white;
}

/* some tags in aquamarine */
.tag[href^="#cut"],
.tag[href^="#copy"],
.tag[href^="#paste"],
.tag[href^="#markieren"],
.tag[href^="#ausschneiden"],
.tag[href^="#kopieren"],
.tag[href^="#einfügen"]  {
  background-color: aquamarine;
}

Unfortunately, the coloring of tags no longer works in the YAML front matter. It is probably due to a bug in Obsidian, as I have read.
I followed your good advice and am now also trying
colored tags plugin (great colors for all tags)
colored tags wrangler plugin (own colors for named tags, but no german umlauts öäüÖÄÜß)

Great. Thanks for sharing. The snippet will only work in reading mode.
Please tet me know if the mentioned plugins resolved your issue and if you have any additional suggestions for tags.
All the best

Please let me know if the plugins solved the issue. Thanks

If you need further assistance and if the plugins didn't solve the issue. Just let me know. This functionality is possible using JavaScript/TypeScript (specific plugin).
All the best