refactor: change docker-compose to run app and db

setup Dockerfile to run application automatically
setup docker-compose integration with app and database
add wait-for-it.sh file to control the startup of database by application in docker compose
add follow scripts:

start: to start application without develop mode (nodemon)
db:create: to create and migrate database
db:prepare: to create migrate and seed database

Automatização do processo de incialização da aplicação pelo docker-compose. Agora so basta baixar o repositorio, configurar as variaveis de ambiente e executar o docker-compose, que ele irá inciar o banco, com as migrations, seeders e iniciar a aplicação em conjunto.
Foi adicionado scripts para ter um controle melhor e mais automatizado do banco de dados.

Just changed the name of the PR to refactor instead of feat, but doesn't worry about changing the commit name since it's already done and would be a little stressful to rollback.
According to the Conventional Commit Types it should be a refactor instead of a feat

Just changed the name of the PR to refactor instead of feat, but doesn't worry about changing the commit name since it's already done and would be a little stressful to rollback.
According to the Conventional Commit Types it should be a refactor instead of a feat

My bad, sometimes I confuse these commit types.
But thank you for the alert :)

Merged! Thanks :smile:


Knex migrate and seed CLI commands throwing error

Error: Cannot find module './dialects/[object KnexClient]/index.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Knex (/Users/johnarmbruster/Desktop/knexTodos/node_modules/knex/lib/index.js:55:15)
    at initKnex (/usr/local/lib/node_modules/knex/bin/cli.js:69:10)
    at Command.<anonymous> (/usr/local/lib/node_modules/knex/bin/cli.js:142:17)
    at Command.listener (/usr/local/lib/node_modules/knex/node_modules/commander/index.js:301:8)
    at emitTwo (events.js:106:13)
    at Command.emit (events.js:191:7)
    at Command.parseArgs (/usr/local/lib/node_modules/knex/node_modules/commander/index.js:615:12)
    at Command.parse (/usr/local/lib/node_modules/knex/node_modules/commander/index.js:458:21)
    at Liftoff.invoke (/usr/local/lib/node_modules/knex/bin/cli.js:186:13)
    at Liftoff.<anonymous> (/usr/local/lib/node_modules/knex/node_modules/liftoff/index.js:193:16)
    at module.exports (/usr/local/lib/node_modules/knex/node_modules/flagged-respawn/index.js:17:3)
    at Liftoff.<anonymous> (/usr/local/lib/node_modules/knex/node_modules/liftoff/index.js:185:9)
    at /usr/local/lib/node_modules/knex/node_modules/liftoff/index.js:159:9
    at /usr/local/lib/node_modules/knex/node_modules/v8flags/index.js:108:14
    at /usr/local/lib/node_modules/knex/node_modules/v8flags/index.js:36:12
    at /usr/local/lib/node_modules/knex/node_modules/v8flags/index.js:47:7
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

Here is my knexfile:
var environment = process.env.NODE_ENV || 'development';

var config = {
    development: {
        client: 'pg',
        connection: 'postgres://localhost/todos_test',
        migrations: {
            directory: __dirname + '/db/migrations',
          },
        seeds: {
            directory: __dirname + '/db/seeds',
          },
      },
    production: {
        client: 'pg',
        connection: process.env.DATABASE_URL,
        migrations: {
            directory: __dirname + '/db/migrations',
          },
        seeds: {
            directory: __dirname + '/db/seeds/production',
          },
      },
  };

  module.exports = require('knex')(config[environment]);

Operating System: Mac OS Sierra
It happens when I run any of the CLI commands, but my server works fine if I call the database with the API. Any ideas?

I saw the other issue #1791, but I'm not sure exactly what they did to fix it. I just created another project to replicate the issue and was able to replicate it with this setup.

You are returning knex instance from knexfile.js you should return configuration instead.
module.exports = config;

os maybe (I'm not using knexfiles myself)
module.exports = config[environment];


Add nq_open question answering dataset

Added nq_open Open-domain question answering dataset.
The NQ-Open task is currently being used to evaluate submissions to the EfficientQA competition, which is part of the NeurIPS 2020 competition track.

@SBrandeis  thanks for the review, I applied your suggested changes, but CI is failing now not sure about the error.

Many thanks @Nilanshrajput  !
The failing tests on CI are not related to your changes, merging master on your branch should fix them :)
If you're interested in what causes the CI to fail, checkout this commit

@SBrandeis done!

Hello @Nilanshrajput, your PR includes changes from other branches too now (485 files changed)
Would you mind creating another branch from master with your changes and opening a new PR?

@SBrandeis sorry i messed up the git history, #1587 I opened this new pr!

closing in favor of #1587


Problem installing robotjs

This issue has been closed because it has been inactive for > 240 days.
You may reopen this issue if it has been closed in error.


Error during tf.evaluate when running on TPU: RuntimeError: All tensors outfed from TPU should preserve batch size dimension, but got scalar

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Google Cloud Platform (Linux Debian)
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary):Binary
TensorFlow version (use command below):1.9
Python version: 2.7
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: NA (TPU)
GPU model and memory: NA (TPU)
Exact command to reproduce:

Describe the problem
I am using TPU on GCP to train my model. My model is fully TPU compatible and the training on TPU works as expected when I run model.train(train_input, steps=num_steps). However, when I want to evaluate the model using train_costs = lfads.evaluate(train_input, name='train_data', steps=100) I get the following error:
RuntimeError: All tensors outfed from TPU should preserve batch size dimension, but got scalar Tensor("OutfeedDequeueTuple:0", shape=(), dtype=float32, device=/job:worker/task:0/device:TPU:0)
I constructed the eval_metrics in TPUEstimatorSpec as described in the MNIST example passing a tuple of (metric_fn, [tensors]) as
def m_fn(input):
       return {'test':tf.metrics.mean(input)}
tpu_eval_metrics = (m_fn, [rec_costs])

I used the same input_fn both for train and evaluate. I also used the same TPUEstimatorSpec line in my model_fn for training/evaluation. I cannot figure out what is causing this error and didn't have any luck searching online.
Note: I tested the same code but for CPU/GPU and did not run into any errors during evaluation
Source code / logs
RuntimeError: All tensors outfed from TPU should preserve batch size dimension, but got scalar Tensor("OutfeedDequeueTuple:0", shape=(), dtype=float32, device=/job:worker/task:0/device:TPU:0)

This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.
If you think we've misinterpreted a bug, please comment again with a clear explanation, as well as all of the information requested in the issue template. Thanks!

@mrezak did you ever figure out what was going on? I am having the same problem

I met the same problem before. I think you should make sure that the parameters of the metrics_fn should be the tensors with the same shape of labels (i.e. the first dimension of these tensors should be the batch size).

For anyone reaching this issue later: I had the same problem as @pxxgogo. My metrics_fn output a scalar instead of a tensor. Thanks @pxxgogo for making the suggestion.


LAN mode breaks AWS functionality

What issue do you have? Please be as thorough and explicit as possible.
My Govee H6199 stopped responding to commands from the Home/Eve apps.
It worked perfectly fine form the Govee app (over WiFi, so no issues in my network), and Homebridge could receive status updates from changes made with the Gove app.
The issue was solved after I disabled LAN. It's also solved if I remove the manual IP configuration
Details of your setup.
I use Homebridge UI-X, with Homebridge v1.6.1 and Node.js v18.17.0, running on an Ubuntu minimal server.

Which version of this plugin (homebridge-govee) do you have? Has the issue started since upgrading from a previous version?
Currently running homebridge-govee v9.3.0; I have reproduced the same issue on v9.2.0 and v8.1.2
**Note: My Gove light was not in use since Nov 2022, so I didn't notice the issue until now.
What I know for sure is that at one point everything was working with LAN enabled and with the IP manually configured.
I don't know if this model actually supports LAN commands, but I remember I configured the IP as soon as the function was introduced, out of 'completeness' let's say, and it was still working. Maybe the old version of the plugin was ignoring it and using AWS all the time.

Which Govee devices do you have that are causing issues? Please include product models if applicable.
Govee H6199 is the only device I have

Please paste any relevant logs below.
The following logs are with LAN enabled.
After removing the device and adding it back from scratch. Notice the LAN "unsupported".
[7/30/2023, 9:19:25 AM] [Govee] [LAN] client enabled and found 0 device(s).
[7/30/2023, 9:19:30 AM] [Govee] [HTTP] client enabled and found 1 device(s).
[7/30/2023, 9:19:30 AM] [Govee] [AWS] client enabled.
[7/30/2023, 9:19:30 AM] [Govee] [BLE] disabling client as disabled in config.
[7/30/2023, 9:19:30 AM] [Govee] [H6199_3C23] has been added to Homebridge.
[7/30/2023, 9:19:30 AM] [Govee] [H6199_3C23] initialising with options {"adaptiveLightingShift":0,"aws":"enabled","ble":"disabled","brightnessStep":1,"colourSafeMode":false,"lan":"unsupported"}.
[7/30/2023, 9:19:30 AM] [Govee] [H6199_3C23] initialised with id [4B:F3:A4:C1:38:40:3C:23] [H6199].

I added the IP address in the config, just out of habit, and restarted:
[7/30/2023, 9:22:24 AM] [Govee] [LAN] client enabled and found 1 device(s).
[7/30/2023, 9:22:29 AM] [Govee] [HTTP] client enabled and found 1 device(s).
[7/30/2023, 9:22:29 AM] [Govee] [AWS] client enabled.
[7/30/2023, 9:22:29 AM] [Govee] [BLE] disabling client as disabled in config.
[7/30/2023, 9:22:29 AM] [Govee] [H6199_3C23] initialising with options {"adaptiveLightingShift":0,"aws":"enabled","ble":"disabled","brightnessStep":1,"colourSafeMode":false,"lan":"enabled"}.
[7/30/2023, 9:22:29 AM] [Govee] [H6199_3C23] initialised with id [4B:F3:A4:C1:38:40:3C:23] [H6199].
[7/30/2023, 9:22:35 AM] [Govee] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!
[7/30/2023, 9:23:29 AM] [Govee] [H6199_3C23] current brightness [65%].   <-- no effect on the light
[7/30/2023, 9:23:32 AM] [Govee] [H6199_3C23] current brightness [36%].   <-- no effect on the light
[7/30/2023, 9:23:33 AM] [Govee] [H6199_3C23] current brightness [35%].   <-- no effect on the light
[7/30/2023, 9:23:35 AM] [Govee] [H6199_3C23] current brightness [21%].   <-- no effect on the light
[7/30/2023, 9:23:52 AM] [Govee] [H6199_3C23] current state [off].   <-- no effect on the light
[7/30/2023, 9:23:59 AM] [Govee] [H6199_3C23] current state [on].   <-- no effect on the light
[7/30/2023, 9:24:23 AM] [Govee] [H6199_3C23] current scene [MusicMode].   <-- no effect on the light
[7/30/2023, 9:24:26 AM] [Govee] [H6199_3C23] current scene [VideoMode].    <-- no effect on the light
[7/30/2023, 9:24:29 AM] [Govee] [H6199_3C23] current scene [VideoModeTwo].   <-- no effect on the light
[7/30/2023, 9:24:50 AM] [Homebridge UI] [homebridge-govee] Terminating child process...
[7/30/2023, 9:24:50 AM] [Homebridge UI] [homebridge-govee] Child process ended
[7/30/2023, 9:25:21 AM] [Govee] [H6199_3C23] current state [off].   <-- no effect on the light
[7/30/2023, 9:25:38 AM] [Govee] [H6199_3C23] current state [on].   <-- after opening the Govee app (light already on)
[7/30/2023, 9:25:45 AM] [Govee] [H6199_3C23] current state [of].   <-- changed with Govee app (light responded)
[7/30/2023, 9:26:00 AM] [Govee] [H6199_3C23] current state [on].   <-- changed with Govee app (light responded)

Hi @RaduMC
Please try the new beta - v9.3.1-beta.1
https://github.com/bwp91/homebridge-govee/wiki/Beta-Version

Hi. Thanks for the quick action.
Unfortunately it doesn’t solve it. I installed the beta, enabled LAN, and configured the IP address.
From the logs, it looks like the plug-in is still trying to send commands via LAN.
[7/30/2023, 7:48:29 PM] [Homebridge UI] Running Command: npm install --save<EMAIL_ADDRESS>[7/30/2023, 7:49:23 PM] [Homebridge UI] Changes to config.json saved.
[7/30/2023, 7:49:24 PM] [Homebridge UI] [homebridge-govee] Terminating child process...
[7/30/2023, 7:49:24 PM] [Homebridge UI] [homebridge-govee] Child process ended
[7/30/2023, 7:49:28 PM] [Homebridge UI] Homebridge restart request received
[7/30/2023, 7:49:28 PM] [Homebridge UI] UI / Bridge settings have not changed; only restarting Homebridge process
[7/30/2023, 7:49:28 PM] [Homebridge UI] Sending SIGTERM to Homebridge
[7/30/2023, 7:49:28 PM] Got SIGTERM, shutting down Homebridge...
[7/30/2023, 7:49:33 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[7/30/2023, 7:49:38 PM] [HB Supervisor] Restarting Homebridge...
[7/30/2023, 7:49:38 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /var/lib/homebridge/node_modules --strict-plugin-resolution
[7/30/2023, 7:49:38 PM] [HB Supervisor] Started Homebridge v1.6.1 with PID: 43545
[7/30/2023, 7:49:38 PM] Loaded config.json with 1 accessories and 4 platforms.
[7/30/2023, 7:49:38 PM] Loaded 2 cached accessories from cachedAccessories.
[7/30/2023, 7:49:38 PM] ---
[7/30/2023, 7:49:38 PM] Loaded plugin<EMAIL_ADDRESS>[7/30/2023, 7:49:38 PM] Registering platform 'homebridge-govee.Govee'
[7/30/2023, 7:49:38 PM] ---
[7/30/2023, 7:49:38 PM] Loading 4 platforms...
[7/30/2023, 7:49:38 PM] [Govee] Initializing Govee platform...
[7/30/2023, 7:49:38 PM] [Govee] Initialising plugin v9.3.1-beta.1 | System linux | Node v18.17.0 | HB v1.6.1 | HAPNodeJS v0.11.1...
[7/30/2023, 7:49:38 PM] [Govee] Plugin initialised. Setting up accessories....
[7/30/2023, 7:49:38 PM] [Govee] ******************************************************************************************
[7/30/2023, 7:49:38 PM] [Govee] You are using a beta version of the plugin - you will experience more logging than normal.
[7/30/2023, 7:49:38 PM] [Govee] ******************************************************************************************
Setup Payload:
X-HM://xxxxxxxx
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ xxxxxxxxx│
    └────────────┘

[7/30/2023, 7:49:38 PM] [Govee] [LAN] server started listening on <IP_ADDRESS>:4002.
[7/30/2023, 7:49:38 PM] [Govee] [LAN] scanning for devices over LAN...
[7/30/2023, 7:49:40 PM] [Govee] [LAN] client enabled and found 1 device(s).
[7/30/2023, 7:49:40 PM] [Govee] [HTTP] retrieved access token from cache.
[7/30/2023, 7:49:46 PM] [Govee] [HTTP] client enabled and found 1 device(s).
[7/30/2023, 7:49:46 PM] [Govee] [AWS] client enabled.
[7/30/2023, 7:49:46 PM] [Govee] [BLE] disabling client as disabled in config.
[7/30/2023, 7:49:46 PM] [Govee] [H6199_3C23] initialising with options {"adaptiveLightingShift":0,"aws":"enabled","ble":"disabled","brightnessStep":1,"colourSafeMode":false,"lan":"enabled"}.
[7/30/2023, 7:49:46 PM] [Govee] [H6199_3C23] initialised with id [xxxxxxxxx] [H6199].
[7/30/2023, 7:49:46 PM] [Govee] [AWS] connect event.
[7/30/2023, 7:49:47 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"status","cmdVersion":2,"transaction":"v_1690735787290000","type":0}}.
[7/30/2023, 7:49:47 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"v_1690735787290000","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}].
[7/30/2023, 7:49:47 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"v_1690735787290000","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}.
[7/30/2023, 7:49:51 PM] [Govee] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!
[7/30/2023, 7:50:46 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"y_1690735845575068","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}].
[7/30/2023, 7:50:46 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"y_1690735845575068","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}.
[7/30/2023, 7:50:46 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"y_1690735846459142","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}].
[7/30/2023, 7:50:46 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"y_1690735846459142","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}.
[7/30/2023, 7:50:47 PM] [Govee] [LAN] scanning for devices over LAN...
[7/30/2023, 7:51:01 PM] [Govee] [H6199_3C23] [LAN] sending update [{"msg":{"cmd":"turn","data":{"value":1}}}].
[7/30/2023, 7:51:01 PM] [Govee] [H6199_3C23] [LAN] command sent to <IP_ADDRESS>.
[7/30/2023, 7:51:01 PM] [Govee] [H6199_3C23] current state [on].   <— didn’t turn on
[7/30/2023, 7:51:47 PM] [Govee] [LAN] scanning for devices over LAN...
[7/30/2023, 7:52:47 PM] [Govee] [LAN] scanning for devices over LAN...
[7/30/2023, 7:53:38 PM] [Govee] [H6199_3C23] [LAN] sending update [{"msg":{"cmd":"brightness","data":{"value":43}}}].
[7/30/2023, 7:53:38 PM] [Govee] [H6199_3C23] [LAN] command sent to <IP_ADDRESS>.
[7/30/2023, 7:53:38 PM] [Govee] [H6199_3C23] current brightness [43%].   <— didn’t work
[7/30/2023, 7:53:38 PM] [Govee] [H6199_3C23] [LAN] sending update [{"msg":{"cmd":"brightness","data":{"value":55}}}].
[7/30/2023, 7:53:38 PM] [Govee] [H6199_3C23] [LAN] command sent to <IP_ADDRESS>.
[7/30/2023, 7:53:38 PM] [Govee] [H6199_3C23] current brightness [55%].    <— didn’t work
[7/30/2023, 7:53:39 PM] [Govee] [H6199_3C23] [LAN] sending update [{"msg":{"cmd":"brightness","data":{"value":100}}}].
[7/30/2023, 7:53:39 PM] [Govee] [H6199_3C23] [LAN] command sent to <IP_ADDRESS>.
[7/30/2023, 7:53:39 PM] [Govee] [H6199_3C23] current brightness [100%].    <— didn’t work
[7/30/2023, 7:53:47 PM] [Govee] [LAN] scanning for devices over LAN...
[7/30/2023, 7:54:47 PM] [Govee] [LAN] scanning for devices over LAN... ```

Thanks, could you try 9.3.1-beta.2?

It’s working with beta2. Great work!
[7/30/2023, 9:48:52 PM] [Govee] Initialising plugin v9.3.1-beta.2 | System linux | Node v18.17.0 | HB v1.6.1 | HAPNodeJS v0.11.1...
[7/30/2023, 9:48:52 PM] [Govee] Plugin initialised. Setting up accessories....
[7/30/2023, 9:48:52 PM] [Govee] ******************************************************************************************
[7/30/2023, 9:48:52 PM] [Govee] You are using a beta version of the plugin - you will experience more logging than normal.
[7/30/2023, 9:48:52 PM] [Govee] ******************************************************************************************

[7/30/2023, 9:48:52 PM] [Govee] [LAN] server started listening on <IP_ADDRESS>:4002.
[7/30/2023, 9:48:52 PM] [Govee] [LAN] scanning for devices over LAN...
[7/30/2023, 9:48:54 PM] [Govee] [LAN] client enabled and found 1 device(s).
[7/30/2023, 9:48:54 PM] [Govee] [HTTP] retrieved access token from cache.
[7/30/2023, 9:48:59 PM] [Govee] [HTTP] client enabled and found 1 device(s).
[7/30/2023, 9:48:59 PM] [Govee] [AWS] client enabled.
[7/30/2023, 9:48:59 PM] [Govee] [BLE] disabling client as disabled in config.
[7/30/2023, 9:48:59 PM] [Govee] [H6199_3C23] initialising with options {"adaptiveLightingShift":0,"aws":"enabled","ble":"disabled","brightnessStep":1,"colourSafeMode":false,"lan":"unsupported"}.
[7/30/2023, 9:48:59 PM] [Govee] [H6199_3C23] initialised with id [xxxxxxxx] [H6199].
[7/30/2023, 9:49:00 PM] [Govee] [AWS] connect event.
[7/30/2023, 9:49:00 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"status","cmdVersion":2,"transaction":"v_1690742940536000","type":0}}.
[7/30/2023, 9:49:01 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"v_1690742940536000","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}].
[7/30/2023, 9:49:01 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"v_1690742940536000","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}.
[7/30/2023, 9:49:01 PM] [Govee] [H6199_3C23] current brightness [9%].
[7/30/2023, 9:49:05 PM] [Govee] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!
[7/30/2023, 9:49:52 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"y_1690742991588572","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}].
[7/30/2023, 9:49:52 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"y_1690742991588572","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}.
[7/30/2023, 9:49:53 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"y_1690742992539716","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}].
[7/30/2023, 9:49:53 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"y_1690742992539716","cmdVersion":0,"state":{"connected":"true","onOff":0,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}.
[7/30/2023, 9:50:00 PM] [Govee] [LAN] scanning for devices over LAN...
[7/30/2023, 9:50:13 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"turn","cmdVersion":0,"data":{"val":1},"transaction":"v_1690743013965000","type":1}}.
[7/30/2023, 9:50:13 PM] [Govee] [H6199_3C23] current state [on].
[7/30/2023, 9:50:14 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"v_1690743013965000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}].
[7/30/2023, 9:50:14 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"status","type":0,"transaction":"v_1690743013965000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":23,"colorTemInKelvin":0,"color":{"r":255,"g":0,"b":0},"mode":11},"op":{"opcode":"all","modeValue":["MwULAQAAAAAAAAAAAAAAAAAAADw=","qqIB/wAA/wAA/wAA/wAAAAAAAAk=","qqIC/wAA/wAA/wAA/wAAAAAAAAo=","qqID/wAA/wAA/wAA/wAAAAAAAAs=","qqIE/wAA/wAA/wAAAAAAAAAAAPM="],"sleepValue":["qhEAHg8PAAAAAAAAAAAAAAAAAKU="],"wakeupValue":["qhL/ZAAAgA8AAAAAAAAAAAAAAKw="],"timerValue":["qgr/AAAAgAAAAIAAAACAAAAAgF8="]}}.
[7/30/2023, 9:50:43 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"brightness","cmdVersion":0,"data":{"val":84},"transaction":"v_1690743043942000","type":1}}.
[7/30/2023, 9:50:43 PM] [Govee] [H6199_3C23] current brightness [33%].
[7/30/2023, 9:50:44 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"brightness","cmdVersion":0,"data":{"val":91},"transaction":"v_1690743044298000","type":1}}.
[7/30/2023, 9:50:44 PM] [Govee] [H6199_3C23] current brightness [36%].
[7/30/2023, 9:50:44 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743043942000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":84}}].
[7/30/2023, 9:50:44 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743043942000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":84}}.
[7/30/2023, 9:50:44 PM] [Govee] [H6199_3C23] current brightness [33%].
[7/30/2023, 9:50:44 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"brightness","cmdVersion":0,"data":{"val":94},"transaction":"v_1690743044654000","type":1}}.
[7/30/2023, 9:50:44 PM] [Govee] [H6199_3C23] current brightness [37%].
[7/30/2023, 9:50:45 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743044298000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":91}}].
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743044298000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":91}}.
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] current brightness [36%].
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"brightness","cmdVersion":0,"data":{"val":99},"transaction":"v_1690743045073000","type":1}}.
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] current brightness [39%].
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"brightness","cmdVersion":0,"data":{"val":102},"transaction":"v_1690743045500000","type":1}}.
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] current brightness [40%].
[7/30/2023, 9:50:45 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743044654000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":94}}].
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743044654000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":94}}.
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] current brightness [37%].
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] [AWS] sending update {"msg":{"cmd":"brightness","cmdVersion":0,"data":{"val":104},"transaction":"v_1690743045977000","type":1}}.
[7/30/2023, 9:50:45 PM] [Govee] [H6199_3C23] current brightness [41%].
[7/30/2023, 9:50:46 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743045073000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":99}}].
[7/30/2023, 9:50:46 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743045073000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":99}}.
[7/30/2023, 9:50:46 PM] [Govee] [H6199_3C23] current brightness [39%].
[7/30/2023, 9:50:46 PM] [Govee] [AWS] message event [{"proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743045500000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":102}}].
[7/30/2023, 9:50:46 PM] [Govee] [H6199_3C23] [AWS] receiving update {"source":"AWS","proType":2,"pactType":1,"pactCode":1,"sku":"H6199","device":"xxxxxxxx","softVersion":"1.07.02","hardVersion":"1.00.01","cmd":"brightness","type":0,"transaction":"v_1690743045500000","cmdVersion":0,"state":{"connected":"true","onOff":1,"wifiSoftVersion":"1.00.29","wifiHardVersion":"1.00.01","brightness":102}}.
[7/30/2023, 9:50:46 PM] [Govee] [H6199_3C23] current brightness [40%]. ```


negative balance when syncing wallet

Using commit ac43eb2 plus a cargo update to include the latest fixes, I sometimes run into an issue.
This is what I'm doing:

issue a NIA asset on wallet 1
send some NIA assets from wallet 1 to wallet 2
send some more NIA assets from wallet 1 to wallet 2
send some NIA assets from wallet 2 to wallet 1

All operations are carried out using opret1st closing method, all invoices are blinded.
During the last transfer, wallet 2 fails to sync with:
Loading descriptor from wallet wallet_2 ... success
Syncing keychain 0 .......... keychain 1 .......... keychain 9 .............thread 'main' panicked at ~/.cargo/git/checkouts/bp-wallet-997f3c057e1b59f2/e05f6c7/src/data.rs:410:55:
negative balance: TryFromIntError(())

Here is the whole data dir for wallet 2, including consignments for previous transfers:
wallet2_data.tar.gz

This is entire mystery for me why this happens. I will wait on the confirmation that the issue is still in the released beta 6 and will pay more attention in fixing it. I believe it is a pure command-line tool issue unrelated to a more deep levels

Can we verify that the issue is still there with the most recent master branches?

Can we verify that the issue is still there with the most recent master branches?

i have testet it, it fixed by https://github.com/BP-WG/bp-wallet/pull/35

@nicbus can you pls confirm that the bug is fixed


Link checker

One thing that could be nice is to have something that runs over the doc and "checks".
Simpler one would be to just check that all links actually lead somewhere.

superseded by #271


Adds nodeSelector to deploy on tainted nodes

When using this chart on tainted nodes (e.g. with ARM kubernetes.io/arch=arm64:NoSchedule), we must add a nodeSelector to the deployments, this PR adds the ability to specify a nodeSelector like so:
  paymentService:
   ...
    podAnnotations: {}
    nodeSelector:
      kubernetes.io/arch: arm64

If we are adding nodeSelector, I believe we also need affinity and tolerations.

@TylerHelmuth Yes, I have the opentelemetry demo deployed on a cluster with two node pools (arm and amd)
NAME                                            STATUS    NODE-SELECTOR
aiops-ad-service-6c89dbfb95-9nsms               Running   map[kubernetes.io/arch:arm64]
aiops-cart-service-57b6cf696b-l2rg2             Running   map[kubernetes.io/arch:amd64]
aiops-checkout-service-b77bccdd9-6hptk          Running   map[kubernetes.io/arch:arm64]
aiops-currency-service-55b975fd7f-j9vj6         Running   map[kubernetes.io/arch:arm64]
aiops-email-service-56657f7c5b-dcgq4            Running   map[kubernetes.io/arch:arm64]
aiops-featureflag-service-668fbdd6f4-s6584      Running   map[kubernetes.io/arch:arm64]
aiops-ffs-postgres-6f5976774-gx2wn              Running   map[kubernetes.io/arch:arm64]
aiops-frontend-66988d6f9-hr2z8                  Running   map[kubernetes.io/arch:arm64]
aiops-jaeger-f7df8fbf9-hvlwd                    Running   <none>
aiops-loadgenerator-5f5659f859-7b25t            Running   map[kubernetes.io/arch:arm64]
aiops-otelcol-75c5f696b8-855vp                  Running   <none>
aiops-payment-service-78674fc8f5-frlg5          Running   map[kubernetes.io/arch:arm64]
aiops-product-catalog-service-998bdfc7f-dls2q   Running   map[kubernetes.io/arch:arm64]
aiops-quote-service-f7b5994cf-mgch6             Running   map[kubernetes.io/arch:arm64]
aiops-recommendation-service-5d57b6b77b-fhhgf   Running   map[kubernetes.io/arch:amd64]
aiops-redis-7447c4798d-bpbsq                    Running   <none>
aiops-shipping-service-698fdd4665-ljhwc         Running   map[kubernetes.io/arch:arm64]

The chart is deployed having some services with  kubernetes.io/arch: arm64 as a label for the nodeSelector, some with  kubernetes.io/arch: amd64 and some with nothing, they are all running fine
@dmitryax I agree, I will do another PR adding affinity and tolerations.

@ugosan doing all three in this PR is ok since all 3 fields are related.  Maybe nest them in an object called schedulingRules?

@TylerHelmuth all done, we have schedulingRules.affinity like so:
    schedulingRules:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/arch
                operator: In
                values:
                - arm64

schedulingRules.tolerations like so:
    schedulingRules:
      tolerations:
        - key: "kubernetes.io/arch"
          operator: "Equal"
          value: "arm64"
          effect: "NoSchedule"

and former nodeSelector was moved under schedulingRules:
    schedulingRules:
      nodeSelector:
        kubernetes.io/arch: arm64

The default values.yml was also updated to reflect those changes

@ugosan please rebase.


Share image to WhatsApp not working

Hello, does anyone try sharing an image to WhatsApp? when sharing an image with caption , the text is shared but image never been shared, please notice that sharing to other apps works fine , only WhatsApp is showing this odd behavior

When sharing an image without caption, I got a message that this item cannot be shared
Any clues on this ??


Update connectivity.md

Fixed a typo

Thank you for bringing this to my attention.  I've corrected this in documentation and it should be live soon.  Closing the PR.


Windows 10 (1809) - IsOpened() always return false

Hi,
With Windows 10 (1709) IsOpened() works but with Windows 10 (1809) IsOpened() always return false.
I think the bug is in the file Osklib\Interop\NativeMethods.cs in the function FindTextInputWindow().
I opened my On-Screen Keyboard and I analysed all the Windows's computer with "Microsoft Spy++".
This is a resume :
Window 0001099A "" ApplicationFrameWindow
-->Window 000109A6 "" ApplicationFrameTitleBarWindow
-->Window 000109A2 "" ApplicationFrameTitleBarWindow
-->Window 000109AA "" ApplicationFrameInputSinkWindow
Window 00010998 "Default IME" IME
Window 00010996 "Microsoft Text Input Application" Windows.UI.Core.CoreWindow
Window 00010980 "Default IME" IME
Window 00010984 "Default IME" IME
Window 00010982 "" ApplicationFrameWindow
-->Window 0001097E "Microsoft Text Input Application" Windows.UI.Core.CoreWindow
As you can see I have 2 entry with "ApplicationFrameWindow" and the first is NOT the window wanted. In the program as soon as an entry "ApplicationFrameWindow" is found there is a return so the second entry is never checked.
I updated the function by adding "if (IsValidHandle(textInput))"
BEFORE :
internal static IntPtr FindTextInputWindow()
{
	// enumerating Windows Store Container windows and try to find Window with caption 'Microsoft Text Input Application'
	IntPtr lastProbed = IntPtr.Zero;
	do
	{
		lastProbed = FindWindowEx(IntPtr.Zero, lastProbed, ApplicationFrameHostClassName, null);
		if (IsValidHandle(lastProbed))
		{
			var textInput = FindWindowEx(lastProbed, IntPtr.Zero, CoreWindowClassName, TextInputApplicationCaption);
			return textInput;
		}
	} while (IsValidHandle(lastProbed));

	return IntPtr.Zero;
}

AFTER :
internal static IntPtr FindTextInputWindow()
{
	// enumerating Windows Store Container windows and try to find Window with caption 'Microsoft Text Input Application'
	IntPtr lastProbed = IntPtr.Zero;
	do
	{
		lastProbed = FindWindowEx(IntPtr.Zero, lastProbed, ApplicationFrameHostClassName, null);
		if (IsValidHandle(lastProbed))
		{
			var textInput = FindWindowEx(lastProbed, IntPtr.Zero, CoreWindowClassName, TextInputApplicationCaption);
			if (IsValidHandle(textInput))
			{
				return textInput;
			}
		}
	} while (IsValidHandle(lastProbed));

	return IntPtr.Zero;
}

Now the function IsOpened() works with my Windows 10 (1809).
Are you agree with this change ?
Regard,
AlanGusLive

Window(1903).if opened the keyboard and hide it after,IsOpened() always return true.....
Is there a way to get keyboard status?

I'll check it tomorrow
пн, 21 окт. 2019 г., 10:58 Yinghualuowu<EMAIL_ADDRESS>
Window(1903).if opened the keyboard and hide it after,IsOpened() always
return true.....
Is there a way to get keyboard status?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/AlexeiScherbakov/osklib/issues/6?email_source=notifications&email_token=ACCDWO35HKXH5P7LANCTUP3QPVOJHA5CNFSM4HF3NME2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBZNE7Y#issuecomment-544395903,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCDWOZBRPGT3T5LSGO672TQPVOJHANCNFSM4HF3NMEQ
.

Hi Alexei,
Any updates ? Since 1903 update, KeyboardOpened and KeyboardClosed events no longer works. Do let me know if it is possible to make it work, as we will have to find alternative means if this can't be fixed. Thanks, much appreciated. :)

Please check lastest version from this repository. If it works for you - I'll update NuGet package

Hi Alexei,
Has anything been updated ? I downloaded the package and didn't see any update files. I compiled the dll and tested, it seems the same.

I updated only source - for 10.0.18362.418 all is working. New code have
some breaking changes (now it use WinRT/COM for all new versions of Windows
10), so I will publish package when I'll have feedback about stability
пн, 4 нояб. 2019 г., 13:36 zellhwang<EMAIL_ADDRESS>
Hi Alexei,
Has anything been updated ? I downloaded the package and didn't see any
update files. I compiled the dll and tested, it seems the same.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/AlexeiScherbakov/osklib/issues/6?email_source=notifications&email_token=ACCDWO7TAJ24TMEAICD54ILQR73KPA5CNFSM4HF3NME2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC6ZZBI#issuecomment-549297285,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCDWO5LRC3IMDUEA2RYJLDQR73KPANCNFSM4HF3NMEQ
.

Hi Alexei,
I downloaded a zip file of the lastest source code from the Master Branch, but there is no change in the source code. As I want to test, where can I find the updated source code?
I checked, there is only one branch in your project.
Regards,
AlanGusLive

May be notebook goes sleep faster then git push. I'll check it in 2-3 hours
пн, 4 нояб. 2019 г., 20:48 Fruity Mix Free<EMAIL_ADDRESS>
Hi Alexei,
I downloaded a zip file of the lastest source code from the Master Branch,
but there is no change in the source code. As I want to test, where can I
find the updated source code?
I checked, there is only one branch in your project.
Regards,
AlanGusLive
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/AlexeiScherbakov/osklib/issues/6?email_source=notifications&email_token=ACCDWO64WSE5PCMY3STM7WLQSBOAFA5CNFSM4HF3NME2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDADZYQ#issuecomment-549469410,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCDWO5GFNRBPW5DGC7XWBTQSBOAFANCNFSM4HF3NMEQ
.

Hi Alexei,
I have tested the new codes and it works under Windows 10 (1809). Thanks for the update, much appreciated. :)

After using new codes, everything was in expected state.Thank you! Glad that it helped~

Hi Alexei,
I tested the new source code with the ConsoleTester. This is the result:
Windows 1909 (10.0.18363.418) : OK
Windows 1903 (10.0.18362.449) : OK
Windows 1809 (10.0.17763.805) : OK
Windows 1709 (10.0.16299.1451) : Problem, the virtual keyboard is NOT displayed after the call of OnScreenKeyboard.Show().
For this problem, in the file Osklib\NewWindows10OnScreenKeyboardController.cs the fonction IsOpened() return true but my virtual keyboard is hide when I start the program.
Line 54, the call of _inputHostManagerBroker.Instance.GetIhmLocation(out var ret, out displayMode); as a ret with the four values to zero and the displayMode is DisplayMode.Docked => so the function return true which is wrong.
After the line 54, I added a new test :
if (ret.Bottom == 0 && ret.Left == 0 && ret.Right == 0 && ret.Top == 0)
{
	return false;
}

And it works (the OnScreenKeyboard.Show() and after the OnScreenKeyboard.Close()). I think the test must be added line 64 too.
Have you test with Windows 1709 ? Can you tell me how to fix with a better solution?
Regards,
AlanGusLive

You can look OnScreenKeyboard.cs for a version check and try to change
'version.Build>=16299' from >= to > . For new versions it use WinRT/COM
check. For old versions it use WinAPI mode. Between simple WinAPI check and
pure WinRT check there are many versions with strange behavior. So WinAPI
check becomes something crazy :-)
WinRT check was introduced to detect docking/floating mode and in new
versions it also can be used to detect opened/closed states.
чт, 7 нояб. 2019 г., 22:22 Fruity Mix Free<EMAIL_ADDRESS>
Hi Alexei,
I tested the new source code with the ConsoleTester. This is the result:
Windows 1909 (10.0.18363.418) : OK
Windows 1903 (10.0.18362.449) : OK
Windows 1809 (10.0.17763.805) : OK
Windows 1709 (10.0.16299.1451) : Problem, the virtual keyboard is NOT
displayed after the call of OnScreenKeyboard.Show().
For this problem, in the file
Osklib\NewWindows10OnScreenKeyboardController.cs the fonction IsOpened()
return true but my virtual keyboard is hide when I start the program.
Line 54, the call of _inputHostManagerBroker.Instance.GetIhmLocation(out
var ret, out displayMode); as a ret with the four values to zero and the
displayMode is DisplayMode.Docked => so the function return true which is
wrong.
After the line 54, I added a new test :
if (ret.Bottom == 0 && ret.Left == 0 && ret.Right == 0 && ret.Top == 0)
{
return false;
}
And it works (the OnScreenKeyboard.Show() and after the
OnScreenKeyboard.Close()). I think the test must be added line 64 too.
Have you test with Windows 1709 ? Can you tell me how to fix with a better
solution?
Regards,
AlanGusLive
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/AlexeiScherbakov/osklib/issues/6?email_source=notifications&email_token=ACCDWOZCHLM5LDU3ZOG5RXLQSRTGHA5CNFSM4HF3NME2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDNQQ3I#issuecomment-551225453,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCDWO62KSVYLESRWRV3JADQSRTGHANCNFSM4HF3NMEQ
.

Hi Alexei,
As you said, with the file OnScreenKeyboard.cs, I changed 'version.Build>=16299' from >= to > and now it works with Windows 1709 (10.0.16299.1451).
Well done :-)
Can you update your source code with this fix to close this issue ?
Regards,
AlanGusLive

Well I'm glad to see, that it is working :-D
This code is full of dirty hacks )))
пт, 8 нояб. 2019 г., 21:06 Fruity Mix Free<EMAIL_ADDRESS>
Hi Alexei,
As you said, with the file OnScreenKeyboard.cs, I changed
'version.Build>=16299' from >= to > and now it works with Windows 1709
(10.0.16299.1451).
Well done :-)
Can you update your source code with this fix to close this issue ?
Regards,
AlanGusLive
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/AlexeiScherbakov/osklib/issues/6?email_source=notifications&email_token=ACCDWOY46G3VIH6BL5T6MWDQSWTDVA5CNFSM4HF3NME2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDS47EY#issuecomment-551931795,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCDWO45OLE45P54VVXV4UDQSWTDVANCNFSM4HF3NMEQ
.

Version 1.6 on NuGet

Hi Alexei,
Thanks for the NuGet version.
I close this Issue.
Regards,
AlanGusLive


Update difference-between-document-understanding-and-form-processing-…

…model.md
removed a duplicate paragraph

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/3099

@efrene Please merge this PR. Thanks.


ceph: 15.2.8 -> 15.2.10 and py dep fixup

Motivation for this change

Normal update, fixes at least the mentioned CVE though.
Drop redundant patch.
There was a regression in master that caused the mgr to fail achieving healthy state with restful because of a change in how deps are propagated. This should fix it such that tests pass, though the way the python deps are handled is still not great. One Day:tm:

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@srhb presuming the CVE you're referring to is https://nvd.nist.gov/vuln/detail/CVE-2020-25678 ?

Full rebuild works for me, linux x86_64, but the ceph nixos tests have never worked for me... :(


Looping audio not able to stop after 2nd loop

This Issue is about

A bug in the API

Looping sounds do not always stop with sndInstance.stop() after looping. This problem isn't present in 2.4.7. It appears a line was added in Phaser.Sound:
//  Gets reset by the play function
this.isPlaying = false;
I'm not 100% (sorry I can't post my project) but it seems either after the 2nd loop (but only when multiple looping sound) this.isPlaying is not being set back to true. This makes the check in stop() for isPlaying just bail.

I have the same issue in 2.4.8, but seems to only happen on mobile for me?

I saw it on all browsers, but there's a fix in the dev branch now -- and has solved the issue for me completely. If you're not seeing your issue in 2.4.7 it's probably the same thing.

Thanks for submitting this issue. We have fixed this, and the fix has been pushed to the dev branch.


You can't create new threads and invite people to them

@andrewxhill commented on Tue Jul 30 2019
On production Textile between 2 devices:

Create a brand new thread. Don't bother adding anything to it (or do if you like).
Invite a peer to that thread via a p2p invite.
Go to peer's phone.
Accept invite
When peer joins the thread, they will see only themselves having joined.
Refresh the app (or hardkill and reopen).
The peer will see,

On production from device to daemon
I performed a similar set of steps as above, but this time invited p2p my user that is on my desktop daemon.
In this case, I think it appears to join the thread successfully and I don't see anything particularly corrupt. Post thread accept invite <id> I do,
textile threads get 12D3KooWLz2DsLkQvLYLNQoPe523abTft51qCGkZ8caEbqDnfbgC
{
    "block_count": 3,
    "head": "Qma5hLAN4GZ3d7ytR69hNayPBpq4EXF6QJCMvf1gy5337w",
    "head_blocks": [
        {
            "author": "12D3KooWB32CouwnXVxf6r1DhCm5F2Dbte2xPCGzsEHjgLUubkZ1",
            "date": "2019-07-30T17:32:50.121810Z",
            "id": "QmasvJ6ruY6fW5QGLPp54ESUgCsha6S6H7Ua8htyPXD4SR",
            "parents": [
                "QmdsvGfzSspnWbAhZUTPMBhH9GMC2JwNZyQ8QV6ZCqS8sy"
            ],
            "thread": "12D3KooWLz2DsLkQvLYLNQoPe523abTft51qCGkZ8caEbqDnfbgC",
            "type": "JOIN",
            "user": {
                "address": "P4pcJ2E15nmYVXRPbb7hX9pn3Kjv1UNZQkninyUWaPvjnMtm",
                "avatar": "QmW3caygKdzENxuErEPwBip4Z8N7FbPRx7gAbJ9ScYTjwk",
                "name": "IPFSCamper"
            }
        }
    ],
    "id": "12D3KooWLz2DsLkQvLYLNQoPe523abTft51qCGkZ8caEbqDnfbgC",
    "initiator": "P4hyTD7oh5D39y5t7rXevEnRNo5ExLXbfC2H9sf6g6KLo5AP",
    "key": "textile_photos-shared-744e0c9c-270d-45d8-821e-d973822677fe",
    "name": "LOL",
    "peer_count": 2,
    "schema": "QmeVa8vUbyjHaYaeki8RZRshsn3JeYGi8QCnLCWXh6euEh",
    "schema_node": {
        "links": {
            "large": {
                "mill": "/image/resize",
                "opts": {
                    "quality": "80",
                    "width": "800"
                },
                "use": ":file"
            },
            "small": {
                "mill": "/image/resize",
                "opts": {
                    "quality": "80",
                    "width": "320"
                },
                "use": ":file"
            },
            "thumb": {
                "mill": "/image/resize",
                "opts": {
                    "quality": "80",
                    "width": "100"
                },
                "pin": true,
                "use": "large"
            }
        },
        "name": "media",
        "pin": true
    },
    "sharing": "SHARED",
    "sk": "CAESQJspta1gKKj5u+NcbHhzKwZ+ScfBp54F27nE2H+x97vPpenPpVV0TLqENxJO7n4i5tn2YNEfCX1aaHBAa8OmNOk=",
    "state": "LOADED",
    "type": "OPEN",
    "whitelist": []
}

Via QR Code / Link based invite between 2 phones

I do the above, but instead of doing a p2p invite I generated a link.
When second phone joins the thread, it appears to do so successfully.
There is no warning of a corrupt thread.

However, the two peers seem to be on detached heads. I can't get them to reconcile.
This final case we can probably ignore until threads v2

@asutula commented on Tue Jul 30 2019
Little info here... We are displaying that alert icon on the group when we detect the thread is invalid because:
const valid = thread.headBlocks.length > 0

That's what @sanderpick said to use, I don't claim to understand the reasoning or what the different situations are that lead to different states of headBlocks

@sanderpick commented on Wed Jul 31 2019
Can I see some logs from the peer that is seeing the error?

@sanderpick commented on Wed Jul 31 2019
(I'm unable to reproduce)

@sanderpick commented on Wed Jul 31 2019
Additionally, does it happen on latest beta?

@andrewxhill commented on Wed Jul 31 2019
your latest invite to me failed. trying to pull logs now. could you invite "andrew v2" to that same group?

@andrewxhill commented on Wed Jul 31 2019
you successfully joined "Tesst"?

Moved to https://github.com/textileio/go-textile/issues/883

The issue seems to be related to the block sync and commit mechanics. A block is only ever placed in the outbox (destined for a direct send, pubsub, or peer inbox) after it has been committed to a thread, which happens after any sync operations. A block can be synced and committed to a thread before its parent. This is intentional as the queued blocks are handed concurrently. However, in this case the invite is synced and committed before the join block is synced and committed, which means the invitee will never find the join and signal to the inviter that they have joined.
https://github.com/textileio/go-textile/pull/882 postpones committing if the block is not a join and it would result in a parent-less entry.

Question @andrewxhill - when you see this, does the thread list hang for a few seconds or does it display immediately?

if you mean on an app reload event, then yes I started noticing my app hanging more (even after launch) at the group list screen than I remember previously.
if you mean, at the time of accepting the invite, I notice that the invite accepts at normal speed and then drops me into what appears to be a successful group created. if i exit, the groups are already visible so no full fetch needed or lag notices.
on refresh of the app, i notice the first point, app restarts then there seems be some log loading my groups. finally, my newly entered group is marked as corrupt once it is displayed

10 4, thanks. There may be two issues here:

A block commit race - fixed by https://github.com/textileio/go-textile/pull/882
The initial block was not pinned - this may be fixed by https://github.com/textileio/go-textile/pull/882 as well, but I'm not certain. In any case, I still cannot reproduce over here, which means I'm having a hard time coming up with other ideas.

I'm gonna release - I should be in a better spot to track this down with the above in place.


Make Release of Authorization Logic Binary

cc: @bgogul
We need to make a release of the authorization logic binary to use it in the transparent release repository. After talking to @tiziano88 it sounds like this is the preferred way of using authorization logic in that context rather than writing a bazel rule in the transparent release repo that builds auth logic from source there.
I'm looking at this doc to figure out how to do this. @tiziano88 let me know if there are other/better docs.

OK. I didn't do anything special that isn't either covered by github's documentation here or adding the environment variables that should be covered by this pr.
And this message should help capture this information at least in this issue.


Can someone tell me how to install on an SD Card since the steps changed?

I don't have my chroot anymore, I deleted it and want to install a clean new install on an SD Card. But I have read through the README.md and it did not seem to help. I did not understand the steps to install on an SD Card. Please help!
-J

Hey, I updated the Wiki. Look there for how to install on an SD Card. Good luck, J!

@virgilmk,
Link please, the below wiki article -

How To Install To External Drive

Still shows using: sudo sh -e ~/Downloads/crouton ...

@TheMinigun,
Not much has changed once you install crouton in /usr/local/bin just use:

sudo crouton -p ...

Hope this helps,
-DennisLfromGA

Ok thanks!

Closing. Please re-open if this issue is still a concern.


Azure Function Extension to throw warning message if app_port is given for non-trigger dapr functions

Problem: The console message doesn't clearly inform the user when the app_port is set, but there's no listener (app) on that port. This situation occurs when using a function app with Dapr input/output bindings and without Dapr triggers, specifying an app_port with Dapr. Dapr keeps attempting to connect to the app on the specified port, even if there's no app running on that port.
Expectation: When the user provides an app_port to Dapr, and there's no app running on that port, there should be a log message indicating that Dapr is trying to communicate on that port, but no app is available.
Message in console:
the current message is below:time="2023-09-26T10:24:23.9718899+05:30" level=info msg="internal gRPC server is running on port 65226" app_id=funcorderapp instance= scope=dapr.runtime type=log ver=1.10.6 time="2023-09-26T10:24:23.9718899+05:30" level=info msg="application protocol: http. waiting on port 3003.  This will block until the app is listening on that port." app_id=funcname instance= scope=dapr.runtime type=log ver=1.10.6
Here is the sample project: https://github.com/ASHIQUEMD/azure-func-isolated-dapr
Dapr cli command to run the app: dapr run --app-id functionapp --app-port 3001 --dapr-http-port 3501 -- func host start

Hey @ASHIQUEMD  Would you be able to provide an example project, and the commands you're using to run Dapr and the function host?

@Phiph, I have update issues with project links, please have a look.

I've had a look, and I'm don't have any ideas around it at the moment. It appears that's an internal call for DAPR to register and set the app up with its configuration, along with starting the Actor and Workflow Engine.
Do you expect a Warn Message for anyone using the SDK without a API endpoint application with something along the lines of:
Dapr is expecting to communicate with your application, but it does not have a HTTP port. Binding only function apps are not yet supported


Archive Notice

PR to get approval of Archiving welcome repo.

Since this is a core package already in our core repo, it's good to go.

Thank you! @kaosine Appreciate the help


Use lb_set_config()

Use the new lb_set_config() to set config values.
Need to upgrade to libbash.sh 1.5 (https://github.com/pruje/libbash.sh/issues/115)

Done in commit bfbe0fd0213a9894921ade8cc7b2c64defd18443


Enhancement: Add mapping for port 9000

Problem/Motivation
When setting up portainer to work with edge agents, I came across the issue that the HTTP port for portainer is not exposed.
Unless I can supply authentication for homeassistant via the portainer agent (which I think is impossible) I need this port mapping alongside the ingress implementation.
Expected behavior
The ability to specify the HTTP port in the addon screen
Actual behavior
Only port 8000 can be specified
Steps to reproduce
Open addon settings
Proposed changes
Please add the mapping for port 9000 again to make use of edge agents.

Port 9000 is for Portainer itself, not the agent API. This add-on will not expose its interface directly alongside ingress. This change has been made quite some time ago.

I'm aware that port 8000 is used for the Agent API, not 9000. However, an edge agent needs both 9000 and 8000 as described in this article https://www.portainer.io/2019/07/how-does-the-edge-agent-work/
Without the possibility to expose port 9000, i cannot find a way to reach the Portainer API. Maybe there is a way to utilize the ingress endpoint from HomeAssistant?


SW-6172 Added accelerator tag checking before sending support emails

Merge activity

Oct 21, 1:42 PM EDT: A user merged this pull request with Graphite.


BUG: Contact Merge hits error is some scenarios.

Several Hub users are reporting a problem where they get a runtime error when trying to use Contact Merge.  The thread is here: https://powerofus.force.com/0D58000001pLmcx
I was able to find AMERICANS FOR PROSPERITY FOUNDATION's error in the Foundation org:
Apex script unhandled exception by user/organization: 005i0000004Bz4D/00Di0000000aUpe
Visualforce Page: /apex/npsp__CON_ContactMerge
caused by: System.NullPointerException: Attempt to de-reference a null object
Class.npsp.CON_ContactMerge_CTRL.loadMergeCandidates: line 299, column 1
Class.npsp.CON_ContactMerge_CTRL.nextStep: line 169, column 1
The lines have since changed since we ApexDoc'd this class, but the fault in LoadMergeCandidates is here:
https://github.com/SalesforceFoundation/Cumulus/blob/f7a41a1a8e2e8d39f30a806e3dc722208dc32845/src/classes/CON_ContactMerge_CTRL.cls#L299
which corresponds to this current code in loadMergeCandidates:
        lastModifiedByRow.values.add(new Cell(c.id, modifiedBy.get('name') + ' ' + c.get('LastModifiedDate')));

I have no idea how this line could be failing with a null object exception, and wonder if it might be org specific.

David,
I've found two contacts that should be merged, but produce an error. The contact is Max Hess and he's a staff member so I'm not worried about messing up his record. I've also enabled login access so you should be able to sign in and search for "Max Hess". Let me know what else I can do to help.

OK, I figured out the problem.  One of the contacts (Mr. Max Hess) has a LastModifiedBy value of Rollup Helper, 2/4/2015 3:25 AM.  This isn't a real user.  I could not find any user account for them whether active or inactive.  The NPSP Contact Merge code was assuming this field would always contain a real user record, and it then tries to get the Users name with modifiedBy.get('name').  But in this case ModifiedBy is null, so we hit the runtime error.
I will be able to fix this in npsp code, but the fix won't be available for several weeks.  You can work around it by modifying the record so your own user is tagged in the Last Modified By field.

Oh! That's a great find! I would have never thought that could be the
issue. Now that we know we can work around it. Thank you again for your
help.
On Tuesday, March 17, 2015, David Habib<EMAIL_ADDRESS>wrote:

OK, I figured out the problem. One of the contacts (Mr. Max Hess) has a
LastModifiedBy value of Rollup Helper, 2/4/2015 3:25 AM. This isn't a real
user. I could not find any user account for them whether active or
inactive. The NPSP Contact Merge code was assuming this field would always
contain a real user record, and it then tries to get the Users name with
modifiedBy.get('name'). But in this case ModifiedBy is null, so we hit the
runtime error.
I will be able to fix this in npsp code, but the fix won't be available
for several weeks. You can work around it by modifying the record so your
own user is tagged in the Last Modified By field.
—
Reply to this email directly or view it on GitHub
https://github.com/SalesforceFoundation/Cumulus/issues/1466#issuecomment-82624050
.

David and Nathan - Thanks for all this research and testing!  My customer also uses Rollup Helper so this is likely our problem as well.  However, they are on NPSP 2.x with plans to upgrade near end of April.  Will the fix be available to 2.0 as well? (I'm guessing not).  We can try the work around in the meantime.

Sorry Beth, we aren't doing updates to the 2.0 packages.

Beth, you can upgrade to 3.0 without changing your householding model. It's
a good option if you don't have time to go through the entire conversion
process.
On Wed, Mar 18, 2015 at 11:41 AM, David Habib<EMAIL_ADDRESS>wrote:

Sorry Beth, we aren't doing updates to the 2.0 packages.
—
Reply to this email directly or view it on GitHub
https://github.com/SalesforceFoundation/Cumulus/issues/1466#issuecomment-83025673
.

Thanks for confirming... we are on the upgrade path!
Thanks,
Beth

Included in beta release version 3.37 (Beta 1) and higher

Included in production release version 3.37


Please update tags to reflect latest changes.

The last tag 0.9.0 is from 7 months ago.

Hi @forest2087, i am working on a big change in the next release. I will try to release once i am done with all those changes.

@rajeshwarpatlolla Do you mind if I add a tag now? I want to version lock my app with you current code on master. Thanks.

#169

Please check the new release v1.0.0. This issue has been addressed.


Write Instruction to download data in README

One of the nicest feature of Wazimap is to allow people to download certain portions of data in different universal formats. We should write that in the About section & README to encourage people to download and play with data.

How about using video? Here's a screencast I made.

How can i get hold of the software to write the step by step process?

Roshan created this video: https://www.facebook.com/codefornepal/videos/647380015471250/


generate filter if filter_by property is not defined

PROBLEM
For custom filters, a user has to add the filter_by property even for straight-forward filter
SOLUTION
Generate the typesense filter parameters if the user has not defined the filter_by property

This is already being done by default. If you experience any issue with custom filters, feel free to re-open citing an example


Building on Linux doesn't work

If I try to build my client on linux it breaks
env GOOS=linux GOARCH=amd64 go build -o cliamd64
# github.com/UiPath/Tetris/cmd/cli/client
client/create.go:81:33: undefined: msalAccessor.New

while it works on macOS. Any reasons why ?

The Linux build (also) requires cgo and a platform specific toolchain: https://github.com/AzureAD/microsoft-authentication-extensions-for-go/blob/118813276aa9e603b389a54322408fc5cf59f7eb/cache/accessor/linux.go#L10-L12
That error suggests you're building with CGO_ENABLED=0 but setting it to 1 isn't necessarily enough to build--you need the toolchain in any case.


Use semver for devDependencies

This will make @greenkeeperio-bot send less PR's
https://blog.greenkeeper.io/announcing-real-time-dependency-break-detection-for-greenkeeper-4f7558c10d77#.rae5cx64w
because there are no tests, i only updated devDependencies,
however we should maybe add npm run dist to the tests? to make sure nothing broke?
Good/bad idea?

This is not a bad compromise. If we see unexpected errors come up in the future due to this we can revert it.


fix for image component when try to request the remote image

Added check to set the headers
verified available test app for  image components a.)ImageDataExpiryTime.js b.)getSize.js
verified with XHR test apps.

Change is looks okay to me.

verify in TBC.
Verify with all dependent modules/components.(Image/XHR) unit test APP.


[new] Finally added a copy button so that users can copy their passwords!

More info in the commit description (11d6372eb156ad247b019203afd5640a46ee7338)

@the-DJDJ Commiting code instead of studying?? ;)

Meh, I have a few days off and i figured why not? (:

Meh, I have a few days off and i figured why not? (:


list index out of range when using ModuleDict with DDP

🐛 Bug
Hi, I am using the torchmetrics with torch-lightning.
I have a LightningModule that needs several metrics, and when I register the MetricCollection with ModuleDict, it is fine in the non-ddp mode, however if I use accelerator='ddp', there is the following error
Traceback (most recent call last):
  File "/home/tchrs/meta/lightning-hydra-template/run.py", line 30, in main
    return train(config)
  File "/home/tchrs/meta/lightning-hydra-template/src/train.py", line 77, in train
    trainer.fit(model=model, datamodule=datamodule)
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 460, in fit
    self._run(model)
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 755, in _run
    self.pre_dispatch()
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 780, in pre_dispatch
    self.accelerator.pre_dispatch(self)
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/pytorch_lightning/accelerators/accelerator.py", line 108, in pre_dispatch
    self.training_type_plugin.pre_dispatch()
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/pytorch_lightning/plugins/training_type/ddp.py", line 290, in pre_dispatch
    self.configure_ddp()
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/pytorch_lightning/plugins/training_type/ddp.py", line 257, in configure_ddp
    **self._ddp_kwargs,
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 446, in __init__
    self._sync_params_and_buffers(authoritative_rank=0)
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 452, in _sync_params_and_buffers
    for name, param in self.module.state_dict().items():
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1076, in state_dict
    module.state_dict(destination, prefix + name + '.', keep_vars=keep_vars)
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1076, in state_dict
    module.state_dict(destination, prefix + name + '.', keep_vars=keep_vars)
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1076, in state_dict
    module.state_dict(destination, prefix + name + '.', keep_vars=keep_vars)
  [Previous line repeated 1 more time]
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torchmetrics/metric.py", line 421, in state_dict
    with self.sync_context(dist_sync_fn=self.dist_sync_fn):
  File "/home/jiashu/.conda/envs/meta/lib/python3.7/contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torchmetrics/metric.py", line 303, in sync_context
    distributed_available=distributed_available
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torchmetrics/metric.py", line 272, in sync
    self._sync_dist(dist_sync_fn, process_group=process_group)
  File "/home/tchrs/.conda/envs/meta/lib/python3.7/site-packages/torchmetrics/metric.py", line 222, in _sync_dist
    if isinstance(output_dict[attr][0], Tensor):
IndexError: list index out of range

To Reproduce
Define a model like this

class MNISTLitModel(LightningModule):
    def __init__(
        self,
        input_size: int = 784,
        lin1_size: int = 256,
        lin2_size: int = 256,
        lin3_size: int = 256,
        output_size: int = 10,
        lr: float = 0.001,
        weight_decay: float = 0.0005,
    ):
        super().__init__()

        self.save_hyperparameters()

        self.model = SimpleDenseNet(hparams=self.hparams)

        # loss function
        self.criterion = torch.nn.CrossEntropyLoss()

        m = MetricCollection([
            Accuracy()
        ])
        a = MetricCollection([
            AUROC()
        ])
        self.metrics = ModuleDict()
        for phase in ["train", "valid", "test"]:
            self.metrics[f"{phase}_pred"] = m.clone()
            self.metrics[f"{phase}_logits"] = a.clone()

    def forward(self, x: torch.Tensor):
        return self.model(x)

    def step(self, batch: Any):
        x, y = batch
        logits = self.forward(x)
        loss = self.criterion(logits, y)
        preds = torch.argmax(logits, dim=1)
        return loss, logits, preds, y

    def training_step(self, batch: Any, batch_idx: int):
        loss, logits, preds, targets = self.step(batch)
        return {"loss": loss, "logits": logits, "preds": preds, "targets": targets}

    def compute_metric_and_log(self, output: dict, phase: str):
           loss,  logits, pred, label = output["loss"], output["logits"], output["preds"], output["targets"]

          for type_ in ['pred', 'logit']:
              input = logits if type_ == "logit" else pred
              metric = self.metrics[f"{phase}_{input}"]
              metric(input, label)
              for mname, m in metric.items():
                  self.log(f"{phase}/{mname}", m, logger=True, on_step=phase == "train", on_epoch=phase != "train")

    def training_step_end(self, output: dict) -> dict:
        self.compute_metric_and_log(output, "train")
        return output

....

Environment

PyTorch Version (e.g., 1.0): 1.8.1
OS (e.g., Linux): Ubuntu
How you installed PyTorch (conda, pip, source): pip
Build command you used (if compiling from source): n/a
Python version: 3.7,10
CUDA/cuDNN version: 10.1
GPU models and configuration: GTX 1080 Ti
Any other relevant information:

torch lightning version 1.3.8
torchmetrics version 0.4.0

additional context
The error happens in this line. I noticed in the debug mode, that in the time of the error, the output_dict is {'preds‘: [], 'target': []}

@SkafteNicki @awaelchli could have look?

Is this unrelated to the state_dict issues we had with torchmetrics 0.4 + PL? I believe 0.4.0 + 1.3.8 was no good.

unrelated to the error but I believe you would run into this issue later on: make sure to reduce the outputs in training_step_end. I recommend only returning loss.mean() unless you need the other outputs in on of the epoch_end hooks.


placeholder="none" leads to type error

I am trying to pass placeholder="none" as a prop but it is resulting in a type error.

It looks like it is conflicting with the types for react (@types/react) - https://github.com/DefinitelyTyped/DefinitelyTyped/blob/68688f3ec09c41aa8923ff232f99913e2bdb4c54/types/react/index.d.ts#L1861

Ah, thank you for the clarification! I am indeed trying to disable the placeholder, and thus will use empty. The readme says that none should be used
https://github.com/Niels-IO/next-image-export-optimizer/blob/62f1086b1714b9ec23b5dc5a5cfb40ebb9bdb16f/README.md?plain=1#L132
Perhaps it should be updated?

Hi @HandyHat,
Oh, my bad; that should definitely be corrected. The curse of writing documentation out of memory...


run: simplify basic examples t/o docs, leaving bare min. usage

Extracted from https://peckofpickledpojos.wordpress.com/2020/08/09/learning-dvc-by-trial-and-error:

the way stages are run assumes that the script src/prepare.py takes in command line arguments [incorrect but all of our examples look this way]... took me a few seconds before I could parse out what was happening

For example the first run example in https://dvc.org/doc/start/data-pipelines could just use python src/prepare.py as command and avoid repeating the dependency to avoid confusion. Probably other simplifications can be done to show the gist of run there and in other very-first examples of run users might find.

Actually https://github.com/iterative/example-get-started/blob/master/src/prepare.py#L20 does take a parameter. Should we close this @shcheklein? Or change the example project so we don't have to repeat dependencies in run?

Closed by #2075.

Closed by #2075.


[FEAT] Add gradient_runtime dependency, remove type annotation file

Replace Gradient.TypeAnnotation file with dependency gradient_runtime
Resolves Enhancement #147
Gradient Runtime repo

It seems to me I've too hastily triaged #147 and that we don't really need a separate package. @luk-pau-es could you take a look at https://github.com/esl/gradient/issues/147#issuecomment-1350656340 and see if you agree that's the case? If it is, then we can close this PR without merging. Sorry for the confusion.

I have read through the comment on the task, and I agree with you. I am closing this PR.

Fix #147


[BUG] Using EventHubProducerClient with AMQP_WEB_SOCKETS and custom Endpoint Address results in timeout

Describe the bug
Using EventHubProducerClient with AMQP_WEB_SOCKETS and custom Endpoint Address results in timeout
Exception or Stack Trace
Exception in thread "main" java.lang.IllegalStateException: Timeout on blocking read for<PHONE_NUMBER>0 NANOSECONDS
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:123)
at reactor.core.publisher.Mono.block(Mono.java:1731)
at com.azure.messaging.eventhubs.EventHubProducerClient.createBatch(EventHubProducerClient.java:199)
at com.example.App.main(App.java:36)
To Reproduce
Run the following code.
Code Snippet
package com.example;

import com.azure.core.credential.TokenCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.messaging.eventhubs.*;

import java.util.Arrays;
import java.util.List;

import static java.nio.charset.StandardCharsets.UTF_8;

public class App
{
    public static void main( String[] args )
    {
        List<EventData> telemetryEvents = Arrays.asList(
            new EventData("Roast beef".getBytes(UTF_8)),
            new EventData("Cheese".getBytes(UTF_8)),
            new EventData("Tofu".getBytes(UTF_8)),
            new EventData("Turkey".getBytes(UTF_8)));

        TokenCredential credential = new DefaultAzureCredentialBuilder()
            .build();

        EventHubProducerClient producer = new EventHubClientBuilder()
            .credential(
                "Event Hub Namespace Name",
                "Event Hub Name",
                credential)
            .transportType(AmqpTransportType.AMQP_WEB_SOCKETS)
            .customEndpointAddress("https://<event hub custom endpoint>")
            .buildProducerClient();

        EventDataBatch currentBatch = producer.createBatch();

        for (EventData event : telemetryEvents) {
            if (currentBatch.tryAdd(event)) {
                continue;
            }

            // The batch is full, so we create a new batch and send the batch.
            producer.send(currentBatch);
            currentBatch = producer.createBatch();

            // Add that event that we couldn't before.
            if (!currentBatch.tryAdd(event)) {
                System.err.printf("Event is too large for an empty batch. Skipping. Max size: %s. Event: %s%n",
                    currentBatch.getMaxSizeInBytes(), event.getBodyAsString());
            }
        }

        producer.send(currentBatch);

        System.out.println("Java OK!");
    }
}

Expected behavior
Connection should be established and messages should flow.
Setup (please complete the following information):

OS: Windows & Linux
IDE: Visual Studio Code
Library/Libraries: azure-messaging-eventhubs:5.13.1
Java version: openjdk <IP_ADDRESS> 2022-08-12
App Server/Environment: Event Hubs, Application Gateway
Frameworks: -

Additional context
An Event Hub with a private endpoint, is sitting behind and Application Gateway. Same sample written using .NET is working as expected.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

cc @juntuchen-msft

@conniey PTAL

@anuchandy is investigating this based on an internal work item.

The root cause is here. PR to address it is opened, which should be released in November-2022 version.

The PR with the fix is merged and expected to ship in the Nov-2022 cadence.


Remove sidekiq workers from bibdata-alma-staging1

We only want workers running on the worker box.

We changed our minds on this one.


Use custom reply for POST

I currently need to use POST instead of GET on a server. Is possible to use json-server with following behaviour :
a POST don't overwrite db.json, and return same result as GET would have done.
Thanks in advance for your answer

@deniseBrise did you finally manage this issue?

Sorry no,  I have gave up. But I still interested in the solution (if
already possible).
Thanks
Le 20 juil. 2017 06:45, "Stelios Charmpalis"<EMAIL_ADDRESS>a
écrit :

@deniseBrise https://github.com/denisebrise did you finally manage this
issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/typicode/json-server/issues/574#issuecomment-316595381,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOQzWSr2U4T3zk726cvqAxWd5Stq7MG9ks5sPtt_gaJpZM4OJdtn
.

see #453

@deniseBrise Can you close this in favor of #453 ?

closed in favor of 453


[Request for External] Report 1306 "Standard Sales - Invoice" Protected variables

[Request for External] for RequestPage parameters :
DisplayAssemblyInformation
DisplayShipmentInformation
DisplayAdditionalFeeNote
The customer want to change default value (set DisplayShipmentInformation On)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 44906.


CPP_EQUAL: equality issue

First of all, you've done good job with this preprocessor metaprogramming project.
I am actually using it in one of my C projects right now, and it comes very useful until the equality operator pops up.
Let's take a look at the following snippet
int main(int argc, char* argv[]){
    #if N == 100
    foo();
    #endif
    CPP_EQUAL(N,100)
    return 0;
}

I run the preprocessor as gcc -E -DN=100 foo.c and this is the result:
int main(int argc, char* argv[]){
    foo();
    0
    return 0;
}

Instead with gcc -E -DN=150 foo.c:
int main(int argc, char* argv[]){

    0
    return 0;
}

So it seems that CPP_EQUAL returns always zero. Am I missing something?
Thanks

Ah, right, the way that works is a little funny. You have to define a macro COMPARE_token(x) x for every token you want to test for equality. This is because the C preprocessor gives us nothing except pattern matching, so the only way to check if two tokens are equal is to attempt to match them.
This works as expected:
#define COMPARE_100(x) x
int main(int argc, char* argv[]){
    #if N == 100
    foo();
    #endif
    CPP_EQUAL(N,100)
    return 0;
}

I could add some predefined COMPARE_ macros for numbers.

Oh I see! That's cumbersome, and it isn't scalable, too bad.
Of course it's not your fault, thanks a lot for the help!


[Implement] new api change for admob

Since GoogleMobileAd for unity update, new API was added in version 7.4.0 as menitoned in this changelog
So I will redeploy API for Admob Client and synchronize it similarly with ApplovinClient

DONE in v2


doc: fix arch.md content

The link in the docs seems to be broken

@3mard, it's working for me: https://perkeep.org/doc/terms

Hi @zenhack
I was viewing the docs through github https://github.com/perkeep/perkeep/blob/master/doc/arch.md
and there the link is broken (https://github.com/perkeep/perkeep/blob/master/doc/terms)
Maybe I am not supposed to view them through github ?

I think the links are written for the rendered site. It's a little weird
to have .md in the URL for a page that's not actually markdown (though
/doc/terms.md appears to redirect to /doc/terms on the live site, so
it still works at least). I'll defer to the actual maintainers (I'm just
a community member) but my take would be to leave it as-is.
Quoting Omer Davutoglu (2020-03-10 14:37:43)

Hi [1]@zenhack
I was viewing the docs through github
[2]https://github.com/perkeep/perkeep/blob/master/doc/arch.md
and there the link is broken
([3]https://github.com/perkeep/perkeep/blob/master/doc/terms)
Maybe I am not supposed to view them through github ?
--
You are receiving this because you were mentioned.
Reply to this email directly, [4]view it on GitHub, or [5]unsubscribe.
Verweise

https://github.com/zenhack
https://github.com/perkeep/perkeep/blob/master/doc/arch.md
https://github.com/perkeep/perkeep/blob/master/doc/terms
https://github.com/perkeep/perkeep/pull/1306?email_source=notifications&email_token=AAGXYPX5RZQW2ZAW46NWYHDRG2CHPA5CNFSM4LE7PZGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOMUJNA#issuecomment-597247156
https://github.com/notifications/unsubscribe-auth/AAGXYPSLPP7HXUBOVSR4PG3RG2CHPANCNFSM4LE7PZGA

I think the links are written for the rendered site. It's a little weird to have .md in the URL for a page that's not actually markdown (though /doc/terms.md appears to redirect to /doc/terms on the live site, so it still works at least). I'll defer to the actual maintainers (I'm just a community member) but my take would be to leave it as-is. Quoting Omer Davutoglu (2020-03-10 14:37:43)

Yeah we have silly rules in the website for when/where we use .md or not, and I can never remember why and what they are. But given that most of the links in the files in doc/ seem to be .md, I think it's supposed to be that way, so I would not touch it.

Quoting mpl (2020-03-11 05:37:44)

 I think the links are written for the rendered site. It's a little
 weird to have .md in the URL for a page that's not actually markdown
 (though /doc/terms.md appears to redirect to /doc/terms on the live
 site, so it still works at least). I'll defer to the actual
 maintainers (I'm just a community member) but my take would be to
 leave it as-is. Quoting Omer Davutoglu (2020-03-10 14:37:43)

Yeah we have silly rules in the website for when/where we use .md or
not, and I can never remember why and what they are. But given that
most of the links in the files in doc/ seem to be .md, I think it's
supposed to be that way, so I would not touch it.

The patch adds a suffix, not removes one. So perhaps you do want to
merge this?

Quoting mpl (2020-03-11 05:37:44)
I think the links are written for the rendered site. It's a little weird to have .md in the URL for a page that's not actually markdown (though /doc/terms.md appears to redirect to /doc/terms on the live site, so it still works at least). I'll defer to the actual maintainers (I'm just a community member) but my take would be to leave it as-is. Quoting Omer Davutoglu (2020-03-10 14:37:43) Yeah we have silly rules in the website for when/where we use .md or not, and I can never remember why and what they are. But given that most of the links in the files in doc/ seem to be .md, I think it's supposed to be that way, so I would not touch it.
The patch adds a suffix, not removes one. So perhaps you do want to merge this?

Oh good point, thanks. yeah.

@mpl that silly reason is partially my fault 😕 and is related to #1146

@willnorris Ah I knew it was somewhat documented somewhere but could not remember where, sorry (and thanks). No objection to that PR then, right?

I think it might be further documented somewhere else as well, but I'm not finding it right now.  I should still go back and resolve that issue at some point!
And no, of course no objection to the PR :)

The link in the docs seems to be broken

3mard:fix-docs-links

The link in the docs seems to be broken

The link in the docs seems to be broken
doc/arch.md