Gove H6199 does not respond when homebridge run as background service (macOS launchd)

When I run the Gove homebridge service in the foreground on my Mac mini:
sudo DEBUG=* homebridge -D -U /Users/admin/.govee
Everything works fine and I can control light H6199 light strip from the Apple Home app.
However, when I run this is the background as a (global deamon) using launchd, the Light strip does not respond to any command from the Home app.
I run a number of homebridge instances on my Mac mini, all using launchd with no problems.
A few details on versions etc…
Govee Lightstrip:
H6199
Running:
macOS
Node v14.17.4
Homebridge v1.3.4
Homebridge-govee v4.4.1
Any help is greatly appericiated.

Can you restart the plugin and get homebridge govee logs from the beginning up until trying to control a device?

Running in the foreground using:
sudo DEBUG=* homebridge -D -U /Users/admin/.govee
This is the output:
ciao:init Loading ciao v1.1.2... +0ms
Initializing HAP-NodeJS v0.9.4...
[11/08/2021, 00:09:11] Loaded config.json with 0 accessories and 1 platforms.
[11/08/2021, 00:09:12] Loaded 1 cached accessories from cachedAccessories.
[11/08/2021, 00:09:12] ---
[11/08/2021, 00:09:13] Loaded plugin<EMAIL_ADDRESS>[11/08/2021, 00:09:13] Registering platform 'homebridge-alexa.Alexa'
[11/08/2021, 00:09:13] ---
[11/08/2021, 00:09:13] Loaded plugin<EMAIL_ADDRESS>[11/08/2021, 00:09:13] Registering platform 'homebridge-broadlink-rm.BroadlinkRM'
[11/08/2021, 00:09:13] ---
[11/08/2021, 00:09:13] Loaded plugin<EMAIL_ADDRESS>[11/08/2021, 00:09:13] Registering platform 'homebridge-govee.Govee'
[11/08/2021, 00:09:13] ---
[11/08/2021, 00:09:13] Loaded plugin<EMAIL_ADDRESS>[11/08/2021, 00:09:13] Plugin 'homebridge-harmony' tried to register with an incorrect plugin identifier: 'homebridge-harmonyHub'.  Setting up accessories....
  follow-redirects options {
  maxRedirects: 21,
  maxBodyLength: 10485760,
  protocol: 'https:',
  path: '/account/rest/account/v1/login',
  method: 'POST',
  headers: {
    Accept: 'application/json, text/plain, */*',
    'Content-Type': 'application/json;charset=utf-8',
    'User-Agent': 'axios/0.21.1',
    'Content-Length': 81
  },
  agent: undefined,
  agents: { http: undefined, https: undefined },
  auth: undefined,
  hostname: 'app.govee.com',
  port: null,
  nativeProtocols: {
    'http:': {
      _connectionListener: [Function: connectionListener],
      METHODS: [Array],
      STATUS_CODES: [Object],
      Agent: [Function],
      ClientRequest: [Function: ClientRequest],
      IncomingMessage: [Function: IncomingMessage],
      OutgoingMessage: [Function: OutgoingMessage],
      Server: [Function: Server],
      ServerResponse: [Function: ServerResponse],
      createServer: [Function: createServer],
      validateHeaderName: [Function: hidden],
      validateHeaderValue: [Function: hidden],
      get: [Function: get],
      request: [Function: request],
      maxHeaderSize: [Getter],
      globalAgent: [Getter/Setter]
    },
    'https:': {
      Agent: [Function: Agent],
      globalAgent: [Agent],
      Server: [Function: Server],
      createServer: [Function: createServer],
      get: [Function: get],
      request: [Function: request]
    }
  }
} +0ms
Preparing Advertiser for 'Govee AE2C' using bonjour-hap backend!
Setup Payload:
X-HM://0023ISYXJBS8G
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:

Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 031-45-175 │
    └────────────┘

  HAP-NodeJS:EventedHTTPServer Server listening on [::]:51846 +0ms
Starting to advertise 'Govee AE2C' using bonjour-hap backend!
[11/08/2021, 00:09:15] Homebridge v1.3.4 (Govee) is running on port 51846.
  follow-redirects options {
  maxRedirects: 21,
  maxBodyLength: 10485760,
  protocol: 'https:',
  path: '/device/rest/devices/v1/list',
  method: 'POST',
  headers: {
    Accept: 'application/json, text/plain, */*',
    'Content-Type': 'application/x-www-form-urlencoded',
    Authorization: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InNpZCI6Im14R3ZmVXZXdmZwOElzTTVhYzdmcDZRQnFyTkZWdXRkIn0sImlhdCI6MTYyODYzNjk1NSwiZXhwIjoxNjMzODIwOTU1fQ.KVsllONMJCbySP7tOMYin-GOlTZiGa-8kJfTLfFZyKU',
    Appversion: '3.7.0',
    'User-Agent': 'axios/0.21.1'
  },
  agent: undefined,
  agents: { http: undefined, https: undefined },
  auth: undefined,
  hostname: 'app2.govee.com',
  port: null,
  nativeProtocols: {
    'http:': {
      _connectionListener: [Function: connectionListener],
      METHODS: [Array],
      STATUS_CODES: [Object],
      Agent: [Function],
      ClientRequest: [Function: ClientRequest],
      IncomingMessage: [Function: IncomingMessage],
      OutgoingMessage: [Function: OutgoingMessage],
      Server: [Function: Server],
      ServerResponse: [Function: ServerResponse],
      createServer: [Function: createServer],
      validateHeaderName: [Function: hidden],
      validateHeaderValue: [Function: hidden],
      get: [Function: get],
      request: [Function: request],
      maxHeaderSize: [Getter],
      globalAgent: [Getter/Setter]
    },
    'https:': {
      Agent: [Function: Agent],
      globalAgent: [Agent],
      Server: [Function: Server],
      createServer: [Function: createServer],
      get: [Function: get],
      request: [Function: request]
    }
  }
} +542ms
  follow-redirects options {
  maxRedirects: 21,
  maxBodyLength: 10485760,
  protocol: 'https:',
  path: '/v1/devices',
  method: 'GET',
  headers: {
    Accept: 'application/json, text/plain, */*',
    'Govee-API-Key': '34ca0017-2c36-48f4-a49b-51d9a41cb84f',
    'User-Agent': 'axios/0.21.1'
  },
  agent: undefined,
  agents: { http: undefined, https: undefined },
  auth: undefined,
  hostname: 'developer-api.govee.com',
  port: null,
  nativeProtocols: {
    'http:': {
      _connectionListener: [Function: connectionListener],
      METHODS: [Array],
      STATUS_CODES: [Object],
      Agent: [Function],
      ClientRequest: [Function: ClientRequest],
      IncomingMessage: [Function: IncomingMessage],
      OutgoingMessage: [Function: OutgoingMessage],
      Server: [Function: Server],
      ServerResponse: [Function: ServerResponse],
      createServer: [Function: createServer],
      validateHeaderName: [Function: hidden],
      validateHeaderValue: [Function: hidden],
      get: [Function: get],
      request: [Function: request],
      maxHeaderSize: [Getter],
      globalAgent: [Getter/Setter]
    },
    'https:': {
      Agent: [Function: Agent],
      globalAgent: [Agent],
      Server: [Function: Server],
      createServer: [Function: createServer],
      get: [Function: get],
      request: [Function: request]
    }
  }
} +393ms
  HAP-NodeJS:EventedHTTPServer [::ffff:<IP_ADDRESS>] New connection from client on interface en0 (::ffff:<IP_ADDRESS>) +897ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP server listening on <IP_ADDRESS>:52045 +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP socket connected. HAPConnection now fully set up! +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +2ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +0ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 1/2 +2ms
  HAP-NodeJS:EventedHTTPServer [::ffff:<IP_ADDRESS>] New connection from client on interface en0 (::ffff:<IP_ADDRESS>) +77ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP server listening on <IP_ADDRESS>:52047 +73ms
  HAP-NodeJS:EventedHTTPServer [::ffff:<IP_ADDRESS>] New connection from client on interface en0 (::ffff:<IP_ADDRESS>) +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP server listening on <IP_ADDRESS>:52049 +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP socket connected. HAPConnection now fully set up! +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP socket connected. HAPConnection now fully set up! +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +0ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +77ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 1/2 +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +27ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +26ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 1/2 +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +32ms
  HAP-NodeJS:EventedHTTPServer [::ffff:<IP_ADDRESS>] New connection from client on interface en0 (::ffff:<IP_ADDRESS>) +64ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP server listening on <IP_ADDRESS>:52051 +2ms
  HAP-NodeJS:EventedHTTPServer [::ffff:<IP_ADDRESS>] New connection from client on interface en0 (::ffff:<IP_ADDRESS>) +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP server listening on <IP_ADDRESS>:52053 +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  HAP-NodeJS:EventedHTTPServer [::ffff:<IP_ADDRESS>] New connection from client on interface en0 (::ffff:<IP_ADDRESS>) +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP server listening on <IP_ADDRESS>:52055 +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +0ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +38ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 2/2 +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Client 466251AC-834F-4269-BEBA-B291F5B60063 verification complete +20ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP socket connected. HAPConnection now fully set up! +24ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP socket connected. HAPConnection now fully set up! +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP socket connected.  HAPConnection now fully set up! +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] Internal HTTP socket connected. HAPConnection now fully set up! +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +7ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +0ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +21ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 2/2 +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Client 466251AC-834F-4269-BEBA-B291F5B60063 verification complete +21ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +23ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +2ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 1/2 +10ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +28ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +17ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 1/2 +1ms
[11/08/2021, 00:09:16] [Govee] Disabling BLE client as required packages not available.
  mqttjs:client MqttClient :: options.protocol mqtts +0ms
  mqttjs:client MqttClient :: options.protocolVersion 4 +0ms
  mqttjs:client MqttClient :: options.username ?SDK=JavaScript&Version=2.2.11 +0ms
  mqttjs:client MqttClient :: options.keepalive 300 +0ms
  mqttjs:client MqttClient :: options.reconnectPeriod 1000 +0ms
  mqttjs:client MqttClient :: options.rejectUnauthorized true +0ms
  mqttjs:client MqttClient :: clientId ccf7419f59 +0ms
  mqttjs:client MqttClient :: setting up stream +1ms
  mqtt-packet:parser _resetState: resetting packet, error, _list, and _stateCounter +0ms
  mqttjs:client _setupStream :: calling method to clear reconnect +1ms
  mqttjs:client _clearReconnect : clearing reconnect timer +1ms
  mqttjs:client _setupStream :: using streamBuilder provided to client to create stream +0ms
  mqttjs:client _setupStream :: pipe stream to writable stream +1ms
  mqttjs:client _setupStream: sending packet `connect` +1ms
  mqttjs:client sendPacket :: packet: { cmd: 'connect' } +0ms
  mqttjs:client sendPacket :: emitting `packetsend` +1ms
  mqttjs:client sendPacket :: writing to stream +0ms
  mqtt-packet:writeToStream generate called +0ms
  mqtt-packet:writeToStream generate: packet.cmd: connect +107ms
  mqtt-packet:writeToStream writeVarByteInt: writing to stream: <Buffer 36> +1ms
  mqtt-packet:writeToStream writeNumberCached: number: 4 +1ms
  mqtt-packet:writeToStream writeNumberCached: <Buffer 00 04> +0ms
  mqtt-packet:writeToStream writeString: MQTT +0ms
  mqtt-packet:writeToStream writeNumberCached: number: 300 +0ms
  mqtt-packet:writeToStream writeNumberCached: <Buffer 01 2c> +0ms
  mqtt-packet:writeToStream writeNumberCached: number: 10 +0ms
  mqtt-packet:writeToStream writeNumberCached: <Buffer 00 0a> +1ms
  mqtt-packet:writeToStream writeString: ccf7419f59 +0ms
  mqtt-packet:writeToStream writeNumberCached: number: 30 +0ms
  mqtt-packet:writeToStream writeNumberCached: <Buffer 00 1e> +0ms
  mqtt-packet:writeToStream writeString: ?SDK=JavaScript&Version=2.2.11 +0ms
  mqttjs:client sendPacket :: writeToStream result true +110ms
[11/08/2021, 00:09:16] [Govee] [TV Light] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"disableAWS":"no","enableBT":"no","logging":"standard"}.
[11/08/2021, 00:09:16] [Govee] [TV Light] initialised with id [F7:57:D9:33:36:32:71:46].
[11/08/2021, 00:09:16] [Govee] ✓ Setup complete. This plugin has been made with ♥ by bwp91 from the UK!
  follow-redirects options {
  maxRedirects: 21,
  maxBodyLength: 10485760,
  protocol: 'https:',
  path: '/v1/devices/state?device=F7:57:D9:33:36:32:71:46&model=H6199',
  method: 'GET',
  headers: {
    Accept: 'application/json, text/plain, */*',
    'Govee-API-Key': '34ca0017-2c36-48f4-a49b-51d9a41cb84f',
    'User-Agent': 'axios/0.21.1'
  },
  agent: undefined,
  agents: { http: undefined, https: undefined },
  auth: undefined,
  hostname: 'developer-api.govee.com',
  port: null,
  nativeProtocols: {
    'http:': {
      _connectionListener: [Function: connectionListener],
      METHODS: [Array],
      STATUS_CODES: [Object],
      Agent: [Function],
      ClientRequest: [Function: ClientRequest],
      IncomingMessage: [Function: IncomingMessage],
      OutgoingMessage: [Function: OutgoingMessage],
      Server: [Function: Server],
      ServerResponse: [Function: ServerResponse],
      createServer: [Function: createServer],
      validateHeaderName: [Function: hidden],
      validateHeaderValue: [Function: hidden],
      get: [Function: get],
      request: [Function: request],
      maxHeaderSize: [Getter],
      globalAgent: [Getter/Setter]
    },
    'https:': {
      Agent: [Function: Agent],
      globalAgent: [Agent],
      Server: [Function: Server],
      createServer: [Function: createServer],
      get: [Function: get],
      request: [Function: request]
    }
  }
} +687ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +251ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +250ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 2/2 +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Client 466251AC-834F-4269-BEBA-B291F5B60063 verification complete +14ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /accessories +16ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: GET /accessories +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +3ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +6ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +55ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /accessories +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: GET /accessories +73ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +8ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +2ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 2/2 +0ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Client BE39456D-C9C5-4BBD-9FAA-872AAAD27A34 verification complete +20ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +35ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +7ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +23ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 2/2 +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Client 466251AC-834F-4269-BEBA-B291F5B60063 verification complete +23ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /pair-verify +25ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: POST /pair-verify +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Pair verify step 2/2 +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] Client 466251AC-834F-4269-BEBA-B291F5B60063 verification complete +14ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +20ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /accessories +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: GET /accessories +8ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /characteristics +2ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: PUT /characteristics +2ms
  HAP-NodeJS:Accessory [Govee AE2C] Processing characteristic set: {"characteristics":[{"aid":2,"iid":10,"ev":true},{"aid":2,"iid":11,"ev":true},{"aid":2,"iid":12,"ev":true},{"aid":2,"iid":13,"ev":true},{"aid":2,"iid":16,"ev":true},{"aid":2,"iid":17,"ev":true}]} +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "On" on "Govee AE2C" for events +2ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Brightness" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Hue" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Color Temperature" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Characteristic Value Active Transition Count" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Saturation" on "Govee AE2C" for events +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /accessories +4ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: GET /accessories +5ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +4ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /characteristics +1ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: PUT /characteristics +5ms
  HAP-NodeJS:Accessory [Govee AE2C] Processing characteristic set: {"characteristics":[{"aid":2,"iid":10,"ev":true},{"aid":2,"iid":11,"ev":true},{"aid":2,"iid":12,"ev":true},{"aid":2,"iid":13,"ev":true},{"aid":2,"iid":16,"ev":true},{"aid":2,"iid":17,"ev":true}]} +7ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "On" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Brightness" on "Govee AE2C" for events +2ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Hue" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Color Temperature" on "Govee AE2C" for events +1ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Characteristic Value Active Transition Count" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Saturation" on "Govee AE2C" for events +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +4ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /characteristics?id=2.15,2.16,2.14 +0ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: GET /characteristics?id=2.15,2.16,2.14 +4ms
  HAP-NodeJS:Accessory [Govee AE2C] Got Characteristic "Characteristic Value Active Transition Count" value: "0" +4ms
  HAP-NodeJS:Accessory [Govee AE2C] Got Characteristic "Characteristic Value Transition Control" value: "" +0ms
  HAP-NodeJS:Accessory [Govee AE2C] Got Characteristic "Supported Characteristic Value Transition Configuration" value: "AQYBAQsCAQEAAAEGAQENAgEC" +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +5ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /accessories +0ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: GET /accessories +6ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +4ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /accessories +0ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: GET /accessories +3ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /accessories +11ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: GET /accessories +13ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /characteristics +35ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: PUT /characteristics +37ms
  HAP-NodeJS:Accessory [Govee AE2C] Processing characteristic set: {"characteristics":[{"aid":2,"iid":10,"ev":true},{"aid":2,"iid":11,"ev":true},{"aid":2,"iid":12,"ev":true},{"aid":2,"iid":13,"ev":true},{"aid":2,"iid":16,"ev":true},{"aid":2,"iid":17,"ev":true}]} +57ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "On" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Brightness" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Hue" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Color Temperature" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Characteristic Value Active Transition Count" on "Govee AE2C" for events +1ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Saturation" on "Govee AE2C" for events +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +2ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP request: /characteristics +3ms
  HAP-NodeJS:HAPServer [CC:22:3D:E3:CE:47] HAP Request: PUT /characteristics +5ms
  HAP-NodeJS:Accessory [Govee AE2C] Processing characteristic set: {"characteristics":[{"aid":2,"iid":10,"ev":true},{"aid":2,"iid":11,"ev":true},{"aid":2,"iid":12,"ev":true},{"aid":2,"iid":13,"ev":true},{"aid":2,"iid":16,"ev":true},{"aid":2,"iid":17,"ev":true}]} +3ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "On" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Brightness" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Hue" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Color Temperature" on "Govee AE2C" for events +0ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Characteristic Value Active Transition Count" on "Govee AE2C" for events +1ms
  HAP-NodeJS:Accessory [::ffff:<IP_ADDRESS>] Registered Characteristic "Saturation" on "Govee AE2C" for events +0ms
  HAP-NodeJS:EventedHTTPServer:Connection [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms
  mqttjs:client writable stream :: parsing buffer +433ms
  mqtt-packet:parser parse: current state: _parseHeader +547ms
  mqtt-packet:parser _parseHeader: packet: Packet { cmd: 'connack', retain: false, qos: 0, dup: false, length: -1, topic: null, payload: null } +1ms
  mqtt-packet:parser parse: state complete. _stateCounter is now: 1 +1ms
  mqtt-packet:parser parse: packet.length: -1, buffer list length: 3 +0ms
  mqtt-packet:parser _parseVarByteNum +0ms
  mqtt-packet:parser _parseVarByteNum: result: { bytes: 1, value: 2 } +0ms
  mqtt-packet:parser _parseLength 2 +0ms
  mqtt-packet:parser parse: state complete. _stateCounter is now: 2 +0ms
  mqtt-packet:parser parse: packet.length: 2, buffer list length: 2 +0ms
  mqtt-packet:parser _parsePayload: payload BufferListStream {
  mqtt-packet:parser   _bufs: [ <Buffer 00 00> ],
  mqtt-packet:parser   length: 2,
  mqtt-packet:parser   _readableState: ReadableState {
  mqtt-packet:parser     objectMode: false,
  mqtt-packet:parser     highWaterMark: 16384,
  mqtt-packet:parser     buffer: BufferList { head: null, tail: null, length: 0 },
  mqtt-packet:parser     length: 0,
  mqtt-packet:parser     pipes: null,
  mqtt-packet:parser     pipesCount: 0,
  mqtt-packet:parser     flowing: null,
  mqtt-packet:parser     ended: false,
  mqtt-packet:parser     endEmitted: false,
  mqtt-packet:parser     reading: false,
  mqtt-packet:parser     sync: true,
  mqtt-packet:parser     needReadable: false,
  mqtt-packet:parser     emittedReadable: false,
  mqtt-packet:parser     readableListening: false,
  mqtt-packet:parser     resumeScheduled: false,
  mqtt-packet:parser     paused: true,
  mqtt-packet:parser     emitClose: true,
  mqtt-packet:parser     autoDestroy: false,
  mqtt-packet:parser     destroyed: false,
  mqtt-packet:parser     defaultEncoding: 'utf8',
  mqtt-packet:parser     awaitDrain: 0,
  mqtt-packet:parser     readingMore: false,
  mqtt-packet:parser     decoder: null,
  mqtt-packet:parser     encoding: null
  mqtt-packet:parser   },
  mqtt-packet:parser   readable: true,
  mqtt-packet:parser   _events: [Object: null prototype] {},
  mqtt-packet:parser   _eventsCount: 0,
  mqtt-packet:parser   _maxListeners: undefined,
  mqtt-packet:parser   _writableState: WritableState {
  mqtt-packet:parser     objectMode: false,
  mqtt-packet:parser     highWaterMark: 16384,
  mqtt-packet:parser     finalCalled: false,
  mqtt-packet:parser     needDrain: false,
  mqtt-packet:parser     ending: false,
  mqtt-packet:parser     ended: false,
  mqtt-packet:parser     finished: false,
  mqtt-packet:parser     destroyed: false,
  mqtt-packet:parser     decodeStrings: true,
  mqtt-packet:parser     defaultEncoding: 'utf8',
  mqtt-packet:parser     length: 0,
  mqtt-packet:parser     writing: false,
  mqtt-packet:parser     corked: 0,
  mqtt-packet:parser     sync: true,
  mqtt-packet:parser     bufferProcessing: false,
  mqtt-packet:parser     onwrite: [Function (anonymous)],
  mqtt-packet:parser     writecb: null,
  mqtt-packet:parser     writelen: 0,
  mqtt-packet:parser     bufferedRequest: null,
  mqtt-packet:parser     lastBufferedRequest: null,
  mqtt-packet:parser     pendingcb: 0,
  mqtt-packet:parser     prefinished: false,
  mqtt-packet:parser     errorEmitted: false,
  mqtt-packet:parser     emitClose: true,
  mqtt-packet:parser     autoDestroy: false,
  mqtt-packet:parser     bufferedRequestCount: 0,
  mqtt-packet:parser     corkedRequestsFree: CorkedRequest {
  mqtt-packet:parser       next: null,
  mqtt-packet:parser       entry: null,
  mqtt-packet:parser       finish: [Function (anonymous)]
  mqtt-packet:parser     }
  mqtt-packet:parser   },
  mqtt-packet:parser   writable: true,
  mqtt-packet:parser   allowHalfOpen: true,
  mqtt-packet:parser   [Symbol(kCapture)]: false
  mqtt-packet:parser } +0ms
  mqtt-packet:parser _parseConnack +2ms
  mqtt-packet:parser _parseConnack: complete +0ms
  mqtt-packet:parser _parsePayload complete result: true +1ms
  mqtt-packet:parser parse: state complete. _stateCounter is now: 3 +0ms
  mqtt-packet:parser parse: packet.length: 2, buffer list length: 2 +0ms
  mqtt-packet:parser _newPacket +0ms
  mqtt-packet:parser _newPacket: parser emit packet: packet.cmd: connack, packet.payload: null, packet.length: 2 +0ms
  mqttjs:client parser :: on packet push to packets array. +5ms
  mqtt-packet:parser _newPacket: new packet +0ms
  mqtt-packet:parser parse: state complete. _stateCounter is now: 4 +0ms
  mqtt-packet:parser parse: packet.length: -1, buffer list length: 0 +0ms
  mqtt-packet:parser parse: exited while loop. packet: -1, buffer list length: 0 +0ms
  mqttjs:client work :: getting next packet in queue +0ms
  mqttjs:client work :: packet pulled from queue +0ms
  mqttjs:client _handlePacket :: emitting packetreceive +0ms
  mqttjs:client _handleConnack +1ms
  mqttjs:client _setupPingTimer :: keepalive 300 (seconds) +0ms
  mqttjs:client _resubscribe +0ms
  mqttjs:client connect :: sending queued packets +3ms
  mqttjs:client deliver :: entry undefined +0ms
[11/08/2021, 00:09:17] [Govee] [TV Light] has been reported [online].
  mqttjs:client subscribe: array topic GD/cfd4b205416b699c0f007aba11db6798 +253ms
  mqttjs:client subscribe: pushing topic `GD/cfd4b205416b699c0f007aba11db6798` and qos `0` to subs list +1ms
  mqttjs:client subscribe :: call _sendPacket +0ms
  mqttjs:client _sendPacket :: (ccf7419f59) ::  start +0ms
  mqttjs:client sendPacket :: packet: {
  mqttjs:client   cmd: 'subscribe',
  mqttjs:client   subscriptions: [ { topic: 'GD/cfd4b205416b699c0f007aba11db6798', qos: 0 } ],
  mqttjs:client   qos: 1,
  mqttjs:client   retain: false,
  mqttjs:client   dup: false,
  mqttjs:client   messageId: 57616
  mqttjs:client } +0ms
  mqttjs:client sendPacket :: emitting `packetsend` +1ms
  mqttjs:client sendPacket :: writing to stream +0ms
  mqtt-packet:writeToStream generate called +697ms
  mqtt-packet:writeToStream generate: packet.cmd: subscribe +0ms
  mqtt-packet:writeToStream subscribe: packet:  +0ms
  mqtt-packet:writeToStream subscribe: writing to stream: [ [ [ <Buffer 80>, <Buffer 81> ], [ <Buffer 88>, <Buffer 89> ] ], [ [ <Buffer 82>, <Buffer 83> ], [ <Buffer 8a>, <Buffer 8b> ] ], [ [ <Buffer 84>, <Buffer 85> ], [ <Buffer 8c>, <Buffer 8d> ] ] ] +0ms
  mqtt-packet:writeToStream writeVarByteInt: writing to stream: <Buffer 28> +1ms
  mqtt-packet:writeToStream writeNumberCached: number: 57616 +0ms
  mqtt-packet:writeToStream writeNumberCached: <Buffer e1 10> +0ms
  mqtt-packet:writeToStream writeNumberCached: number: 35 +0ms
  mqtt-packet:writeToStream writeNumberCached: <Buffer 00 23> +0ms
  mqtt-packet:writeToStream writeString: GD/cfd4b205416b699c0f007aba11db6798 +0ms
  mqttjs:client sendPacket :: writeToStream result true +1ms
  mqttjs:client writable stream :: parsing buffer +132ms
  mqtt-packet:parser parse: current state: _parseHeader +392ms
  mqtt-packet:parser _parseHeader: packet: Packet { cmd: 'suback', retain: false, qos: 0, dup: false, length: -1, topic: null, payload: null } +0ms
  mqtt-packet:parser parse: state complete. _stateCounter is now: 1 +1ms
  mqtt-packet:parser parse: packet.length: -1, buffer list length: 4 +0ms
  mqtt-packet:parser _parseVarByteNum +0ms
  mqtt-packet:parser _parseVarByteNum: result: { bytes: 1, value: 3 } +0ms
  mqtt-packet:parser _parseLength 3 +0ms
  mqtt-packet:parser parse: state complete. _stateCounter is now: 2 +0ms
  mqtt-packet:parser parse: packet.length: 3, buffer list length: 3 +0ms
  mqtt-packet:parser _parsePayload: payload BufferListStream {
  mqtt-packet:parser   _bufs: [ <Buffer e1 10 00> ],
  mqtt-packet:parser   length: 3,
  mqtt-packet:parser   _readableState: ReadableState {
  mqtt-packet:parser     objectMode: false,
  mqtt-packet:parser     highWaterMark: 16384,
  mqtt-packet:parser     buffer: BufferList { head: null, tail: null, length: 0 },
  mqtt-packet:parser     length: 0,
  mqtt-packet:parser     pipes: null,
  mqtt-packet:parser     pipesCount: 0,
  mqtt-packet:parser     flowing: null,
  mqtt-packet:parser     ended: false,
  mqtt-packet:parser     endEmitted: false,
  mqtt-packet:parser     reading: false,
  mqtt-packet:parser     sync: true,
  mqtt-packet:parser     needReadable: false,
  mqtt-packet:parser     emittedReadable: false,
  mqtt-packet:parser     readableListening: false,
  mqtt-packet:parser     resumeScheduled: false,
  mqtt-packet:parser     paused: true,
  mqtt-packet:parser     emitClose: true,
  mqtt-packet:parser     autoDestroy: false,
  mqtt-packet:parser     destroyed: false,
  mqtt-packet:parser     defaultEncoding: 'utf8',
  mqtt-packet:parser     awaitDrain: 0,
  mqtt-packet:parser     readingMore: false,
  mqtt-packet:parser     decoder: null,
  mqtt-packet:parser     encoding: null
  mqtt-packet:parser   },
  mqtt-packet:parser   readable: true,
  mqtt-packet:parser   _events: [Object: null prototype] {},
  mqtt-packet:parser   _eventsCount: 0,
  mqtt-packet:parser   _maxListeners: undefined,
  mqtt-packet:parser   _writableState: WritableState {
  mqtt-packet:parser     objectMode: false,
  mqtt-packet:parser     highWaterMark: 16384,
  mqtt-packet:parser     finalCalled: false,
  mqtt-packet:parser     needDrain: false,
  mqtt-packet:parser     ending: false,
  mqtt-packet:parser     ended: false,
  mqtt-packet:parser     finished: false,
  mqtt-packet:parser     destroyed: false,
  mqtt-packet:parser     decodeStrings: true,
  mqtt-packet:parser     defaultEncoding: 'utf8',
  mqtt-packet:parser     length: 0,
  mqtt-packet:parser     writing: false,
  mqtt-packet:parser     corked: 0,
  mqtt-packet:parser     sync: true,
  mqtt-packet:parser     bufferProcessing: false,
  mqtt-packet:parser     onwrite: [Function (anonymous)],
  mqtt-packet:parser     writecb: null,
  mqtt-packet:parser     writelen: 0,
  mqtt-packet:parser     bufferedRequest: null,
  mqtt-packet:parser     lastBufferedRequest: null,
  mqtt-packet:parser     pendingcb: 0,
  mqtt-packet:parser     prefinished: false,
  mqtt-packet:parser     errorEmitted: false,
  mqtt-packet:parser     emitClose: true,
  mqtt-packet:parser     autoDestroy: false,
  mqtt-packet:parser     bufferedRequestCount: 0,
  mqtt-packet:parser     corkedRequestsFree: CorkedRequest {
  mqtt-packet:parser       next: null,
  mqtt-packet:parser       entry: null,
  mqtt-packet:parser       finish: [Function (anonymous)]
  mqtt-packet:parser     }
  mqtt-packet:parser   },
  mqtt-packet:parser   writable: true,
  mqtt-packet:parser   allowHalfOpen: true,
  mqtt-packet:parser   [Symbol(kCapture)]: false
  mqtt-packet:parser } +0ms
  mqtt-packet:parser _parseSuback +2ms
  mqtt-packet:parser _parseNum: result: 57616 +0ms
  mqtt-packet:parser _parseMessageId: packet.messageId 57616 +0ms
  mqtt-packet:parser _parsePayload complete result: true +0ms
  mqtt-packet:parser parse: state complete. _stateCounter is now: 3 +0ms
  mqtt-packet:parser parse: packet.length: 3, buffer list length: 3 +1ms
  mqtt-packet:parser _newPacket +0ms
  mqtt-packet:parser _newPacket: parser emit packet: packet.cmd: suback, packet.payload: null, packet.length: 3 +0ms
  mqttjs:client parser :: on packet push to packets array. +4ms
  mqtt-packet:parser _newPacket: new packet +0ms
  mqtt-packet:parser parse: state complete. _stateCounter is now: 4 +0ms
  mqtt-packet:parser parse: packet.length: -1, buffer list length: 0 +0ms
  mqtt-packet:parser parse: exited while loop. packet: -1, buffer list length: 0 +0ms
  mqttjs:client work :: getting next packet in queue +0ms
  mqttjs:client work :: packet pulled from queue +0ms
  mqttjs:client _handlePacket :: emitting packetreceive +0ms
  mqttjs:client _handleAck :: packet type suback +0ms
  mqttjs:client nop :: null +0ms

My config.json file is:
{
	"bridge": {
		"name": "Govee",
		"username": "XXX",
		"port": XXX,
		"pin": "XXX"
	},
	"platforms": [{
		"platform": "Govee",
		"name": "Govee",
		"username": "XXX",
		"password": "XXX",
		"apiKey": "XXX",
		"lightDevices": [{
			"label": "TV Light",
			"deviceId": "XXX",
			"ignoreDevice": false,
			"enableBT": false,
			"brightnessStep": 1,
			"adaptiveLightingShift": -1,
			"overrideLogging": "default"
		}]
	}]
}

I don’t see anything wrong in the logs so not totally sure why it isn’t working.
Can you not use the hb-service tool to setup homebridge as a service instead?
https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-macOS#step-2-install-homebridge-and-homebridge-ui

I would also recommend requesting a new api key from govee and updating the config :)

Thanks for the update.
Running homebridge-govee in the foreground, everything works as expected. However, when this is run in the as a service (using launchd), the light does not respond.
I don't know how to capture logs when the process is run in the background.
Running hb-service feels like a significant change to my current homebridge set-up. Currently I run a separate homebridge service in the background per plugin, which works well for me.

~/.homebridge/homebridge.log normally

Added "debug": true  the config.json but cannot find homebridge.log file :-(
My LaunchDeamons plist is:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>EnvironmentVariables</key>
	<dict>
		<key>PATH</key>
		<string>/usr/local/bin/:$PATH</string>
	</dict>
	<key>GroupName</key>
	<string>wheel</string>
	<key>KeepAlive</key>
	<true/>
	<key>Label</key>
	<string>com.govee.server</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/local/bin/homebridge</string>
		<string>-I</string>
		<string>-U</string>
		<string>/Users/admin/.govee</string>
	</array>
	<key>RunAtLoad</key>
	<true/>
	<key>StandardErrorPath</key>
	<string>/tmp/com.govee.server.err</string>
	<key>UserName</key>
	<string>root</string>
</dict>
</plist>

The /tmp/com.govee.server.er file contains the following when I load the service:
[8/11/2021, 6:30:04 PM] [Govee] ***** Disabling plugin. *****
[8/11/2021, 6:30:04 PM] [Govee] ***** Command failed: ioreg -rd1 -c IOPlatformExpertDevice
/bin/sh: ioreg: command not found
/bin/sh: ioreg: command not found. *****

Would you be happy to try the commands in the solution on this page?
https://stackoverflow.com/questions/43530628/how-to-install-ioreg
The ioreg: command not found seems to be the issue here

Typing which iogreg in the terminal returns /usr/sbin/ioreg  and everything works in the foreground.
Is the issue in the plist file:
	<key>EnvironmentVariables</key>
	<dict>
		<key>PATH</key>
		<string>/usr/local/bin/:$PATH</string>
	</dict>

Have to be honest, this is starting to get a little beyond my knowledge.
I wonder if creating a symlink to the ioreg file within the /usr/local/bin folder would help?
sudo ln -s /usr/sbin/ioreg /usr/local/bin/ioreg

I am making some changes to the plugin to hopefully make a workaround for this

Could you update to v4.4.2-beta.0 and let me know if this has helped?

Fantastic... v4.4.2-beta.0 works for me... can now switch the light on and off using the home app while homebridge is running as a service.
I do see this in the  /tmp/com.govee.server.er file:
[8/11/2021, 8:18:14 PM] [Govee] [TV Light] reverting to API as not available or enabled at /usr/local/lib/node_modules/homebridge-govee/lib/index.js:1031:17.
Moving to  hb-service will happen at some pint I'm sure, but that's a lot of devices/automations to set-up again!
Thanks you so much for your assistance.

[8/11/2021, 8:18:14 PM] [Govee] [TV Light] reverting to API as not available or enabled at /usr/local/lib/node_modules/homebridge-govee/lib/index.js:1031:17.

This is nothing to worry about, in debug mode it is just explaining that the API will be used because bluetooth is not available.

Moving to hb-service will happen at some pint I'm sure, but that's a lot of devices/automations to set-up again!

The sooner the better! The child bridge feature is great, it's probably exactly what you are trying to achieve with the different instances you have?
Glad the new beta is working. I must add though... what wasn't working in your case was the ioreg command to get a uuid from your system.
This number is used along with your govee username and password to create a refresh token, and it's best that this number stays the same otherwise govee will think you are logging in from loads of different locations.
In your case, obtaining this number was failing, so I have reverted to using a random number in this case.
I hope it makes sense that each time you restart the plugin, Govee might think that you are logging in from another location. So maybe avoid restarting the plugin as much as you can, until you move to hb-service.


More rel types

Related Issue(s): #882
Proposed Changes:

Added 'via' and 'canonical' rel types

PR Checklist:

[x] This PR is made against the dev branch (all proposed changes except releases should be against dev, not master).
[x] This PR has no breaking changes.
[x] I have added my changes to the CHANGELOG or a CHANGELOG entry is not required.
[ ] This PR affects the STAC API spec, and I have opened issue/PR #XXX to track the change.

Is there also a re type to link back to the original data? I understand that there is via for original metadata, but how to refer to the original data? Also, I'm wondering a bit how exactly derived_from is meant to be used. In which use case is that actually useful? Until now, I thought it's used to link back to the original data.

I haven't heard of a rel type to link to the original data, though perhaps there's one in use. Though wouldn't the asset generally link to the 'original data'? The 'derived_from' is used to link to original data, like when there is processing done. So like an NDVI asset or a mosaic would use derived from to link to the STAC Item that has the data it came from. via came from @ycespb I believe, used in OpenEO Search. It's basically to link to an original metadata record that is not in STAC format, I believe. But I think the 'data' from that original metadata would generally be linked to directly from the assets in the STAC record.

Maybe we have a different understanding... my example is:
Sentinel 1 GRD (original data) => process it to NRB => Sentinel 1 NRB
We want to link to the GRD data we have derived the NRB from, but there's no STAC Item for it (I think). Not sure which rel types to use. Maybe we should also clarify the rel types in general, for me it's not 100% clear what they should be used for.

I use "derived_from"* to represent the STAC Item that this STAC Item was derived from.  So for the Sentinel-2 COGs this is the Sentinel-2 L2A Item (which I also indexed) that was used to create the COGs.
And "canonical" I use to point to the gold copy of the STAC Item, since Earth-search is just an index of files that are on s3.
See as example for both "derived_from" and "canonical".
https://earth-search.aws.element84.com/v0/collections/sentinel-s2-l2a-cogs/items/S2A_18QUD_20201120_0_L2A


Fix visibility of crop mask with empty crop

Updates styling so that the crop mask (.ReactCrop__crop-mask) is hidden, like the crop selection is, with an empty crop object (when the ReactCrop--invisible-crop CSS class is active).
Fixes #575

Thanks!


Contributing doc

Start of rspec/rspec-mocks#986.  I'm kinda basing this off of bundler's files.  More to come.

Looks good to me so far!

OK, I think this is ready for review.  @lizrush, as the one who originally requested this (in rspec/rspec-mocks#986), can you take a look and let us know if this is the kind of thing you were looking for?  Are there any general gotchas you ran into not covered here?
You can see how these files look when rendered:

https://github.com/rspec/rspec-core/blob/update-common-markdown-files-2015-07-24-for-master/CONTRIBUTING.md
https://github.com/rspec/rspec-core/blob/update-common-markdown-files-2015-07-24-for-master/DEVELOPMENT.md

Reading @lizrush's original request, we haven't covered everything on her list yet. (i.e. squash commits?) There's also a lot of material here, which could be intimidating. What do you think about a "Pull Request Checklist" somewhere near the top. (Maybe linking to relevant sections for more detail?)
Something like:

Documentation reflects changes and renders correctly.
Tests are passing.
No new Ruby warnings.
Rubocop passes.
Commits are squashed.
No changelog entry.

Thanks, @xaviershay.  I covered some of your feedback but there's more to do (which I'll have to do another time -- time to put the kids to bed!).

OK, @xaviershay, I think I addressed all your feedback.  Let me know what you think of the new organization.  You can see rendered examples on the rspec-core PR.

Fantastic, thanks. Ship it!

Thanks, @xaviershay.  Merged in all repos


feat: mountpoint deprecated in config.json

Fix #741

:tada: This PR is included in version 6.45.2 :tada:
The release is available on:

GitHub release
v6.45.2

Your semantic-release bot :package::rocket:


Improve error message when queries.json isn't defined

If you try to run bash docker/run.sh config/brian default when queries.json isn't defined, you get this error message:
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/host_mnt/Users/cj/Documents/Git/Vectara/vectara-answer/config/test/queries.json" to rootfs at "/usr/src/app/build/queries.json": mount /host_mnt/Users/cj/Documents/Git/Vectara/vectara-answer/config/test/queries.json:/usr/src/app/build/queries.json (via /proc/self/fd/14), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.

Ideally, we should test for the presence of this file and throw a custom error message if it doesn't exist. The script should also exit so we don't attempt to open a tab at localhost.

@cjcenizal Can I work on this issue? This issue has been open for almost a year.

@ofermend WDYT?

SGTM. @SaptarshiSarkar12 - please validate first that this is still an issue.


Add create-recovery-plan command

This command will allow users to scan a deployment for problems, then write out a YAML-formatted recovery plan, to be used later in the recover command.  The CLI prompts per instance group and then per problem type.
Example recovery plan:
instance_groups_plan:
- name: cloud_controller_ng
  max_in_flight_override: 66%
  planned_resolutions:
    missing_vm: recreate_vm_without_wait
- name: diego_cell
  planned_resolutions:
    missing_vm: delete_vm_reference
- name: router
  max_in_flight_override: "2"
  planned_resolutions:
    unresponsive_agent: delete_vm

Note Relies on a director with this PR merged.  The command fails with "Director does not support this command.  Try 'bosh cloud-check' instead" if the director it is targeting does not return instance groups for problems

So, I ran the unit tests, and got one failure in create_recovery_plan_test.go. I haven't spent much time actually reviewing the code, so I currently have no opinion about it.

I checked out create-recovery-plan-185483613
Started up Docker, then started up the bosh/cli image like so: docker run -it --volume=$HOME/workspace/bosh-cli:/bosh-cli  bosh/cli:latest /bin/bash
And (after commenting out the lint stuff in the script) ran bin/test-unit, which emitted the following failure

root@b9e0db7204a6:/bosh-cli# ./bin/test-unit
<unimportant spew elided>
Will skip:
  ./acceptance
  ./integration
[1688428279] blobstore - 11/11 specs ••••••••••• SUCCESS! 20.861474ms PASS
[1688428279] cloud - 63/63 specs ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• SUCCESS! 80.240399ms PASS
[1688428279] cmd - 908/908 specs <success dots elided>
------------------------------
• [FAILED] [0.001 seconds]
CreateRecoveryPlanCmd Run problems are found [It] writes a recovery plan based on answers
/bosh-cli/cmd/create_recovery_plan_test.go:230

  [FAILED] Expected
      <map[string]string | len:2>: {
          "missing_vm": "reboot_vm",
          "mount_info_mismatch": "reattach_disk",
      }
  to have {key: value}
      <map[interface {}]interface {} | len:1>: {
          <string>"missing_vm": <string>"recreate_vm",
      }
  In [It] at: /bosh-cli/cmd/create_recovery_plan_test.go:254 @ 07/03/23 23:53:59.955
------------------------------
<success dots elided>

Summarizing 1 Failure:
  [FAIL] CreateRecoveryPlanCmd Run problems are found [It] writes a recovery plan based on answers
  /bosh-cli/cmd/create_recovery_plan_test.go:254

Ran 908 of 908 Specs in 27.500 seconds
FAIL! -- 907 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestReg (27.72s)
FAIL

Given this is a set of work that is under fairly active development. Is this something we should mark as experimental?
I say that without any idea how we'd go about doing that...

Given this is a set of work that is under fairly active development. Is this something we should mark as experimental?
I say that without any idea how we'd go about doing that...

The command does print a warning and exits if the director doesn't support it.  I don't think it's particularly experimental, but we also haven't done the other half of the command yet.  Perhaps we could hold off on merging until bosh recover is also complete?

So, I ran the unit tests, and got one failure in create_recovery_plan_test.go. I haven't spent much time actually reviewing the code, so I currently have no opinion about it.

I checked out create-recovery-plan-185483613
Started up Docker, then started up the bosh/cli image like so: docker run -it --volume=$HOME/workspace/bosh-cli:/bosh-cli  bosh/cli:latest /bin/bash
And (after commenting out the lint stuff in the script) ran bin/test-unit, which emitted the following failure

root@b9e0db7204a6:/bosh-cli# ./bin/test-unit
<unimportant spew elided>
Will skip:
  ./acceptance
  ./integration
[1688428279] blobstore - 11/11 specs ••••••••••• SUCCESS! 20.861474ms PASS
[1688428279] cloud - 63/63 specs ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• SUCCESS! 80.240399ms PASS
[1688428279] cmd - 908/908 specs <success dots elided>
------------------------------
• [FAILED] [0.001 seconds]
CreateRecoveryPlanCmd Run problems are found [It] writes a recovery plan based on answers
/bosh-cli/cmd/create_recovery_plan_test.go:230

  [FAILED] Expected
      <map[string]string | len:2>: {
          "missing_vm": "reboot_vm",
          "mount_info_mismatch": "reattach_disk",
      }
  to have {key: value}
      <map[interface {}]interface {} | len:1>: {
          <string>"missing_vm": <string>"recreate_vm",
      }
  In [It] at: /bosh-cli/cmd/create_recovery_plan_test.go:254 @ 07/03/23 23:53:59.955
------------------------------
<success dots elided>

Summarizing 1 Failure:
  [FAIL] CreateRecoveryPlanCmd Run problems are found [It] writes a recovery plan based on answers
  /bosh-cli/cmd/create_recovery_plan_test.go:254

Ran 908 of 908 Specs in 27.500 seconds
FAIL! -- 907 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestReg (27.72s)
FAIL

Go returning map keys in random order when ranging strikes again!  The FakeUI test framework does not allow for very much flexibility in responding to choices for a given input, you just have to give a slice of choices in sequence.  This does not work out if the choices are presented in different order each time.
Fixed by sorting the map keys for the problems by type, then ranging over the sorted slice to access the map in a consistent way.  Ran the test 150 times over lunch and never had a failure with the fix.
Note that for the user experience, it doesn't really matter, this is purely a testing problem.  There are only 6 problem types, so sorting a list of at most 6 does not seem like an expensive operation vs. refactoring how the FakeUI works.
Resolved in dd7ff53

@klakin-pivotal do you mind testing the fix?  Want to make sure it wasn't just fixed on my machine :).

@selzoc I checked out dd7ff536a675c61d4c86552035b46e27d67e22a0 (which is currently the latest commit on this branch), ran the tests and they passed. So, it looks like you successfully fixed the busted test.

Marking it "experimental" is more of a warning that the behavior might change before we're done with this track of work. For example, maybe we need to change the structure of the recovery plan before we're done.

Another question I have here is how this relate to the existing cloud-check command? Should we deprecate it in favour of this one at some point? Maybe we can describe the plans around the recover work in https://github.com/cloudfoundry/bosh/discussions like we did for other topics.

Greate point @beyhan  - I've started a discussion here

✅ CLI vs. old Director
Verified that it emits a proper error message when used with an older Director:
out/bosh create-recovery-plan /tmp/junk3.yml
...

Director does not support this command.  Try 'bosh cloud-check' instead

Looks good to me (though were I to do this I'd prefer 1-2 commits rather than 5).

Would you like to click the "squash and merge" button?  That'll guarantee 1 commit :)


[QUESTION] is there a callback function to see if the user pressed cancel or submit on the rating modal?

Hello all,
I have a specific use case: Is there a callback function to see if the user pressed cancel or submit on the rating modal?
Thank you in advance!

No, google play or play store doesn't provide us any info, about user opinion. Just launch review flow, and let user free do what he want and check your dashboard of any store. To see users reviews and rating. These plugin works according to rules of play store and app store api


Is quip python lib still active ?

client = quip.QuipClient(access_token="...")
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'module' object has no attribute 'QuipClient'

If you're not tied to Python, I have a Golang fork that is up to date (I've been using it for a project almost every day): https://github.com/aggrolite/go-quip

I'm guessing you installed quip python package that has nothing to do with this project.

client = quip.QuipClient(access_token="...")
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'module' object has no attribute 'QuipClient'

Were you able to resolve this ?

I can use the python lib. You need to make sure that an unrelated quip package is not installed.

FYI I created an unofficial Pypi package so it can be pip installed.
Following the suggested package name here I used the name quipclient
pip3 install quipclient

pip3 show quipclient
Name: quipclient
Version: 0.1
Summary: Quip API Python Client
https://pypi.org/project/quipclient/

When using the above package version of this library or the examples you would use quipclient in place of quip.
e.g.
client = quip.QuipClient(access_token="...")

would instead be:
client = quipclient.QuipClient(access_token="...")

The pypi package is up to date as of this message, and you can always import it as quip:
import quipclient as quip
Otherwise, you can just download quip.py from the official repo and import it locally.


adding spotbugs checks

adding spotbugs checks for more deeper checks
Submitter checklist

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did

I hope this resolves the issue


[Team 5] Map Grid and Area of Effect on entities

Task Ticket: Map Grid and Area of Effect on Entities
Task:  Implementation of the map grid and AOE component class on entities.
Feature: #96
This is an extension of the feature ticket, #25
Description
The implementation of #93 and Area of effects relies heavily on the implementation of the map grid. This task will look to create a basic grid class that all entities will be placed on. Each lane on the map grid will be independent of each other in terms of mobs and interaction (this is subject to change)
We will need to interact with the GameArea files and communicate with Team 3 for this feature.
The AOE effect will be implemented after the map grid which will be a component that can be added to any entity (i.e. turrets or engineers) such that any entity in a 1 tile radius of the entity receives a temporary "buff". This will be heavily reliant on the implementation the grid.
Example
This is the map grid where enemy mobs traverse, turrets are placed and where everything will operate.
The AOE effect will provide temporary buffs to nearby ally entities if they are within a 1 tile radius.
Dependencies
The AOE class relies on the implementation of the map grid class.
Milestones
List of steps that need to be completed for this task.
Goal 1 (Sep 6): Planning and Scaffolding

[ ] Plan out and communicate with other teams (specifically #25)
[ ] Design and plan the implementation of the map class and AOE class.

Goal 2 (Sep 8) Code Implementation and Test Design (JUnit)

[ ] Implement the map grid class and
[ ] Write JUnit tests (ensure use of mocking)

Goal 3 (Sep 10) Testing and Debugging; Integration

[ ] Communicate with other teams for integration
[ ] Test map grid with other entities in other teams for bugs and issues

Goal 4 (Sep 11) Documentation

[ ] Document the implementation details of the map grid and AOE feature.
[ ] Update relevant documentation to reflect the changes made.

Completion Deadline: Sep. 12

If time is still available, improve the currency classes i.e. animations and bugfixes

Documentation

TBA

Member

Kevin (@Hasakev) (Kevin Luo)
Jackie (@fattyhope) (Jackie)

This ticket was completed in (#40) but due to miscommunication, this was duplicated. AOE was completed by @Mohamad11Dab  (Thanks)


incubator-kie-issues#932: Rename Quarkus Extension in kogito-apps

Closes https://github.com/apache/incubator-kie-issues/issues/932
Merge with:
https://github.com/apache/incubator-kie-kogito-runtimes/pull/3410
https://github.com/apache/incubator-kie-kogito-apps/pull/1997
https://github.com/apache/incubator-kie-kogito-examples/pull/1877
Many thanks for submitting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[ ] You have read the contributors guide
[ ] Pull Request title is properly formatted: KOGITO-XYZ Subject
[ ] Pull Request title contains the target branch if not targeting main: [0.9.x] KOGITO-XYZ Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket

How to replicate CI configuration locally?

Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.
build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.

How to retest this PR or trigger a specific build:

for pull request checks
Please add comment: Jenkins retest this

for a specific pull request check
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] tests

for quarkus branch checks
Run checks against Quarkus current used branch
Please add comment: Jenkins run quarkus-branch

for a quarkus branch specific check
Run checks against Quarkus current used branch
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] quarkus-branch

for quarkus main checks
Run checks against Quarkus main branch
Please add comment: Jenkins run quarkus-main

for a specific quarkus main check
Run checks against Quarkus main branch
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] quarkus-main

for quarkus lts checks
Run checks against Quarkus lts branch
Please add comment: Jenkins run quarkus-lts

for a specific quarkus lts check
Run checks against Quarkus lts branch
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] quarkus-lts

for native checks
Run native checks
Please add comment: Jenkins run native

for a specific native check
Run native checks
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] native

for native lts checks
Run native checks against quarkus lts branch
Please add comment: Jenkins run native-lts

for a specific native lts check
Run native checks against quarkus lts branch
Please add comment: Jenkins (re)run [kogito-apps|kogito-examples] native-lts

How to backport a pull request to a different branch?

In order to automatically create a backporting pull request please add one or more labels having the following format backport-<branch-name>, where <branch-name> is the name of the branch where the pull request must be backported to (e.g., backport-7.67.x to backport the original PR to the 7.67.x branch).

NOTE: backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.

NOTE: this automated backporting is triggered whenever a pull request on main branch is labeled or closed, but both conditions must be satisfied to get the new PR created.

Quarkus-3 PR check is failing ... what to do ?

The Quarkus 3 check is applying patches from the `.ci/environments/quarkus-3/patches`.
The first patch, called 0001_before_sh.patch, is generated from Openrewrite .ci/environments/quarkus-3/quarkus3.yml recipe. The patch is created to speed up the check. But it may be that some changes in the PR broke this patch.
No panic, there is an easy way to regenerate it. You just need to comment on the PR:
jenkins rewrite quarkus-3

and it should, after some minutes (~20/30min) apply a commit on the PR with the patch regenerated.
Other patches were generated manually. If any of it fails, you will need to manually update it... and push your changes.

PR job #6 was: UNSTABLE
Possible explanation: This should be test failures

Reproducer
build-chain build full_downstream  -f 'https://raw.githubusercontent.com/${AUTHOR:apache}/incubator-kie-kogito-pipelines/${BRANCH:main}/.ci/buildchain-config-pr-cdb.yaml' -o 'bc' -p apache/incubator-kie-kogito-apps -u https://github.com/apache/incubator-kie-kogito-apps/pull/1997 --skipParallelCheckout
NOTE: To install the build-chain tool, please refer to https://github.com/kiegroup/github-action-build-chain#local-execution

Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-apps-pr/job/PR-1997/6/display/redirect
Test results:

PASSED: 2826
FAILED: 3

Those are the test failures:

org.kie.kogito.index.mongodb.ProcessDataIndexMongoDBHttpIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

org.kie.kogito.index.mongodb.ProcessDataIndexMongoDBKafkaIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

org.kie.kogito.index.ProcessDataIndexMongoDBIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

The IT tests failures aren't related to this changes, they are also present in other PR's


Messenger improvements

Delete button is not work

Need colorize talks witch have a new messages or another way to make it more unusual
No way to determinate who is online, who not.
Causes the difficulty of getting into this menu. Solution: shows it below / above the points, it will solve the problem with the over event

When posting a lot of links it's look like as below,

It would be nice to have a simple view of the display of links (without a embed), because the text becomes difficult to read. (Add setting for user or like in slack, ability to remove embed view for each link)
Wll usefull transform text to another style as in Slack

The most part of the issues are fixed.
Item 6 will be spread to separate ticket.


Support generating AWS account console URL

Fixes https://issues.redhat.com/browse/OSD-3949
There are two ways to specify an AWS account

specify the AWS account cr name

osd-utils-cli console -a test-cr

specify the AWS account ID

osd-utils console -i <account ID>

All supported options:
bin/osd-utils-cli console -h
generate a AWS console URL on the fly

Options:
  -i, --account-id='': The AWS account ID we need to create AWS console URL for
  -a, --account-name='': The AWS account cr we need to create AWS console URL for
      --account-namespace='aws-account-operator': The namespace to keep AWS accounts. The default value is
aws-account-operator.
  -r, --aws-region='us-east-1': specify AWS region
  -d, --duration=3600: The duration of the console session. Default value is 3600 seconds(1 hour)

Usage:
  osd-utils-cli console [flags] [options]

Use "osd-utils-cli options" for a list of global command-line options (applies to all commands).

@rogbas @clcollins please test in hive-stage and comment

Testing on hive-stage, unsure if I'm doing something wrong.  Generated a binary and copied over to hive-stage, and attempted the following:
bin/osd-utils-cli-beta-pr4 console -i<PHONE_NUMBER>02 -d 900
E0617 18:04:46.475754   89545 iam.go:96] Failed to assume role: ValidationError, 1 validation error detected: Value 'AROAJFUSN7FSGCOJQHDQI:i-06f9e1601fe9e50bc' at 'roleSessionName' failed to satisfy constraint: Member must satisfy regular expression pattern: [\w+=,.@-]* ValidationError: 1 validation error detected: Value 'AROAJFUSN7FSGCOJQHDQI:i-06f9e1601fe9e50bc' at 'roleSessionName' failed to satisfy constraint: Member must satisfy regular expression pattern: [\w+=,.@-]*
	status code: 400, request id: 58fa2177-cbf9-4f0d-a6c9-e30809ef927c

Testing on hive-stage, unsure if I'm doing something wrong. Generated a binary and copied over to hive-stage, and attempted the following:
<EMAIL_ADDRESS>chcollin]# bin/osd-utils-cli-beta-pr4 console -i<PHONE_NUMBER>02 -d 900
E0617 18:04:46.475754   89545 iam.go:96] Failed to assume role: ValidationError, 1 validation error detected: Value 'AROAJFUSN7FSGCOJQHDQI:i-06f9e1601fe9e50bc' at 'roleSessionName' failed to satisfy constraint: Member must satisfy regular expression pattern: [\w+=,.@-]* ValidationError: 1 validation error detected: Value 'AROAJFUSN7FSGCOJQHDQI:i-06f9e1601fe9e50bc' at 'roleSessionName' failed to satisfy constraint: Member must satisfy regular expression pattern: [\w+=,.@-]*
	status code: 400, request id: 58fa2177-cbf9-4f0d-a6c9-e30809ef927c

Let me investigate.

Needed to setup my ~/.aws/credentials file and specify the right file/profile:
AWS_SHARED_CREDENTIALS_FILE= AWS_PROFILE= bin/osd-utils-cli-beta-pr4 console -i  -d 900
And the console was generated correctly

/lgtm


Offensive content

I know you labelled it as "highly offensive" but I strongly suggest that you take that rap down. Even with the disclaimer, it is shocking and strongly smacks of hate speech.

When I wrote it, I didn't expect anyone to be looking at the repo. Removed it now. Thanks


Start Menu Search Only Shows Native Apps?

If I apply everything in the list searching in the start menu only shows native apps.
For example, if I have the native calculator and libreoffice installed, you'd expect to see the calculator & libreoffice calc appear when I search for "calc", but only the native calculator is shown. I can still scroll through the list of installed apps to find libreoffice calc.
I've tried reverting only those fixes which seem somehow related but haven't been able to find which fix causes this behaviour.

I had a similar issue but I could still search for all my apps that I installed before running Privatezilla. The search still works perfectly fine only the indexing of new files stops working. For some reason even rebuilding the search index does nothing.
Workaround: Go to Settings -> Privacy -> Background apps and enable it again. Now either restart your computer or just restart windows explorer from task manager. After that search started working again and newly added Apps would show up almost instantly. You might have to enable Access to File System as well but for me it works without.
This should fix the issue, if it was the same that I was facing. (I ran privatezilla with all options, but no custom scripts)
Feel free to disable all apps in "Background Apps" Windows Search doesn't show up for some reason.


Dev2/key management.md

Fixes 1 issue in #4651

aspnetcore/security/data-protection/extensibility/core-crypto.md	Illegal link: automatic key rolling -- missing bookmark. The file security/data-protection/implementation/key-management.md doesn't contain a bookmark named data-protection-implementation-key-management. Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	160	10/13/2017 12:54:43

@spottedmahn,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla2.dotnetfoundation.org.
It will cover your contributions to all .NET Foundation-managed open source projects.
Thanks,
.NET Foundation Pull Request Bot

@spottedmahn  can you complete the Contribution License Agreement at https://cla2.dotnetfoundation.org.

Hi @Rick-Anderson I did 😄

Hi, I am closing and re-opening this PR to bump the CLA service. Sorry for the inconvenience!

@spottedmahn,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@spottedmahn  Nice work. You're all set up now.


update dependencies

I simply ran flutter pub upgrade --major-versions
Not sure if the generated files should be modified. But they were automatically
Largely needed to upgrade the http package as the current version is rather dated

Not sure about the CLA, this repo doesn't have anything idicating it's a Google repo

Thanks @TheRedSpy15 We will upgrade all packages ASAP.

@TheRedSpy15
If you are not currently covered under a CLA, please visit https://cla.developers.google.com/

@TheRedSpy15 If you are not currently covered under a CLA, please visit https://cla.developers.google.com/

I signed the CLA and added the files to the gitignore

LGTM


Miningpoolhub

Hi i am not sure how to get hold of the Miningpoolhub crew, i just wanted to point out that the Maxcoin wallet seems to be flaky or dodgy. My coins have not been exchanged and its been almost 1 month.
If you can point me to the correct people ill appreciate it.

Sorry no idea. This is an issue tracker and not a communication hub for various pools :-)

yip

Here's miningpoolhub's forum.
https://bitcointalk.org/index.php?topic=472510
maxcoin will not be auto exchanged as bittrex delisted maxcoin.
Click the left arrow button to move your coins to normal wallet at Wallet page and withdraw maxcoin, exchange it manually.

no problem iam new to this stuff, so i dont know even which exchange to use yet. I do have an account with bitrex but i need to know if there is a better exchange. I also dont understand how i can possible get my coins in to my currency. Really looking for guidance and best practices


Vue SVG: fillRule and fillOpacity should convert to fill-rule/ fill-opacity

I am interested in helping provide a fix!
Yes
Which generators are impacted?

[ ] All
[X] Angular
[X] HTML
[ ] Qwik
[ ] React
[ ] React-Native
[ ] Solid
[X] Stencil
[X] Svelte
[X] Vue
[X] Web components

Reproduction case
https://mitosis.builder.io/?outputTab=G4VwpkA%3D&code=JYWwDg9gTgLgBAbzgVwM4FMAi6BmBDZAGxgAUoIxU4BfOHckOAcgAEAjZYQgE3SgDpgEAPQhgMCKmComAKFnoAHpFhxe%2BIvBzIAdgGMYQnXADCAC3R6A1gDEuhABRhylAJSJ5cOFHQxkUYwdZLy8AHlQANwBzYJCvRRBCHVQAXgAiMxgYMAAuYWEAdyL%2BAoBmfmgo4QAmAAZ64UiotNivAD5WkNCount0nQgddDTewkIAJSJ0dPQI9AHubjSOuLjQsDwYM1HCdIBiG0ORnHsAeQ29cQBPFIRa%2FgBWWm50gFlauFqzauqIn4AJWoALxGFDwlxgNzu%2FFqAEZaMIVqtQsIokiwo1okjXLJqLIgA
Expected Behaviour
<g fill="none" fillRule="evenodd">
  <path fill="#FFF" fillOpacity={0.5} d="M0 0h22v22H0z" opacity={0.01} />
</g>

fillRule should convert to fill-rule
fillOpaticy should convert to fill-opaticy
Actual Behaviour
fillRule should convert to fillRule
fillOpaticy should convert to fillOpaticy
Additional Information
No response

This is somewhat a duplicate of https://github.com/BuilderIO/mitosis/issues/526: we had a long discussion there and decided to:

make Mitosis use camelcased attributes, e.g. fillRule
add logic to all generators (except solid/react) to lowercase those attributes

This is actually not a bug at the moment because fillRule is not a valid attribute in Mitosis JSX types: it is currently expecting you to write fillrule, and you can see that the fiddle complains about it being invalid:

Closing as it's a duplicate of #526


What is the best practice to achieve something like: element element | element>element

I just start with Tailwind and am wondering what is the best practice to achieve something like: element element
element>element
etc.
Use case can be changing a child element's color when the parent gets hovered.
Thanks. And If this something which has got asked, my apologize. I just cant find it. : (

For your use case I think group-hover is what you want 👍
https://tailwindcss.com/docs/pseudo-class-variants/#group-hover

Thanks @adamwathan ... You saved my day!
Have searched a lot but just could not find it...😭


Export types from index.

One possible solution to https://github.com/geometricpanda/storybook-addon-badges/issues/18

Yeah I'm perfectly happy with that tbh


Issue with rendering to a RenderWindow

Issue with rendering to a RenderWindow
I have been working on a top-down 2D game for a while now. It seems as though when I render tiles in the game, SFML tends to have some issues with rendering them. Often, the texture of the tile gets set to a single color, that typically corresponds to the correct texture of the tile. I have looked everywhere in my own code to attempt to find what is causing this, to no avail. Others have looked at my code as well, and have also concluded that this is most likely some bug within SFML itself.
My OS is Windows 10
SFML Version 2.5.0
Compiler is Visual Studio 2017
The important snippet of my code can be found here: https://pastebin.com/LNgzCb61
Since I believe the issue to be caused by trying to render a large amount of different sf::Textures to the window, and requires a lot of code to reproduce.
The expected behavior is that the sf::RectangleShapes will render with their correct textures, and not as a single color
The actual behavior is the the shapes are rendered with a solid color, a color that corresponds to the actual texture of the rectangle (i.e. water is solid blue). This only happens for 1 frame, as on the next frame the tile is back to its normal texture.
I have spent countless hours working to try and find an error in my code that would cause this issue, so it is fairly likely that this is an SFML issue.
In addition an example of the bug in action can be found here: https://www.youtube.com/watch?v=93n_V0vjkHI&feature=youtu.be

Sounds like the common White Square problem. But without minimal and complete example it's impossible to tell what's really going on.
If you manage Textures in a vector, then all textures pointers will get invalidated when you push_back new texture object.
You can debug your code and check what happens to the texture pointers inside your shapes, that way, you'll see when things go wrong.
Btw we prefer to discuss such problems on the forum and use this issue tracker for confirmed bugs.

I tried to leave as much code as I could. I’ll work on replicating the bug with some more code. This is definitely not the white square problem, as the texture pointers are never null. I am also not using a vector for my textures, I’m just using an array. I create my textures with new, so that they don’t go away until I delete them at the end of my program. And like I said, I do believe this to be a bug inside of SFML, since me, and many others for that matter, have looked all over my code, and have not found any spot that would lead to this issue.

It might certainly an issue with SFML, if it is, then the issue can be reproduced with a minimal example.

Yeah, I understand that my code wasn't very minimal or complete, but it was unfortunately all that I can really give out, without just pasting my entire project (which would not be minimal). I tried to make it as simple as I could, but it seems that this problem is fairly complicated. And after even more hours of basically trying random stuff, I think I found out what was truly happening. OpenGL was bugging out, since I was just using the default version, being 1.1. Instead, I set it to be 4.4, which removed the bug completely from what I can tell! Thankfully it wasn't a bug in either my code OR SFML, and was just simply OpenGL messing with me (from what I can tell at least). So, sorry for all the fuss, I just wanted to post this in case others were experiencing a similar issue, and because it had nothing to do with my own code, I figured it was SFML, when in reality it was OpenGL.
Thanks for the responses and help though! I'm glad that SFML has such a great team behind it


(Re)load decorators and functions directly from TypeScript

See also proposal linked from #528.
We have the idea (option 1 there) to host the TypeScript compiler and consume TypeScript on the fly without a user build step. This hosting of the compiler could then be used to get the documentation and typing for decorators or Cadl-callable functions. We also have a desire to make it possible to change decorator and function definitions and immediately see the results in the IDE. Today, you have to restart the language server to observe any change to the JavaScript.
To keep work split, this issue tracks the experience of being able to write in TypeScript, save and see the results in Cadl immediately. It does not track doing anything with the JSDoc or TS typing yet. That will be left for other issues that will require further design. When we do this, though, we should have in mind that we intend to consume this data eventually, so it would be worth structuring the code for this eventuality and at least proving that we can get to the information even if we don't use it yet.

+1 for being able to reload the decorators without reloading the IDE since I just wasted an hour troubleshooting this 😛

Just a note that there is now Ctrl+P -> Restart Cadl Server option that should be faster than restarting the whole IDE. Still not great but perhaps a better workaround.

Could we give that a keyboard shortcut?  It will become part of my standard CADL troubleshooting ritual...
rush clean > update > rebuild > Restart Cadl Server

You can assign one yourself. Search for cadl in File -> Preferences -> Keyboard Shortcuts.

Is there not a way to set one as a repo setting? I'm thinking of how Ctrl+Shift+B starts up the three watch processes, but maybe that's a VS Code built-in thing...

We are no longer depending on this for decorator and function typing so the priority was lowered and this is now on the backlog.

A problem with this is the same as with --watch. We can detect which JS files are modified and force them to be reloaded but only for the ones we load directly. For any JS file that is loaded from another JS file we don't control that and it will always load the cache.
This used to be easy to clear before es modules but now we can't really do that.
Some option is to run the js code of typescript inside nodejs VM but that is still experimental as of node 20 for es modules


Parameters are still created even if property was marked with Ignore

When query is executed, the parameter builder still process properties that are marked to Ignore. In this case DateInsertedUtc must be ignored when building the parameter bucket. If the property is not initialized, it will set to default value.
[Map("[dbo].[Customer]")]
public class Customer : DataEntity
{
	[Attributes.Ignore(Command.Insert | Command.Update | Command.Merge | Command.InlineUpdate), Primary(true), Map("Id")]
	public int Id { get; set; }

	public Guid GlobalId { get; set; }

	public string FirstName { get; set; }

	public string MiddleName { get; set; }

	public string LastName { get; set; }

	public string Address { get; set; }

	public string Email { get; set; }

	public bool IsActive { get; set; }

	public DateTime LastUpdatedUtc { get; set; }

	[Attributes.Ignore(Command.Update | Command.Insert)]
	public DateTime DateInsertedUtc { get; set; }

	public string LastUserId { get; set; }
}

[Test]
public void TestInsert()
{
	//arrange
	var repository = new DbRepository<SqlConnection>(RepoDbConnectionString, 0);

	var fixtureData = new Customer
	{
		GlobalId = Guid.NewGuid(),
		FirstName = "Juan",
		LastName = "de la Cruz",
		MiddleName = "Pinto",
		Address = "San Lorenzo, Makati, Philippines 4225",
		IsActive = true,
		Email =<EMAIL_ADDRESS>		//DateInsertedUtc = DateTime.UtcNow, COMMENTED FOR TESTING
		LastUpdatedUtc = DateTime.UtcNow,
		LastUserId = Environment.UserName
	};

	//act
	repository.Insert(fixtureData);

	//assert
	var customer = repository.Query<Customer>().FirstOrDefault();
	customer.ShouldNotBeNull();
	customer.Id.ShouldNotBe(0);
	customer.GlobalId.ShouldBe(fixtureData.GlobalId);
	customer.FirstName.ShouldBe(fixtureData.FirstName);
	customer.LastName.ShouldBe(fixtureData.LastName);
	customer.MiddleName.ShouldBe(fixtureData.MiddleName);
	customer.Address.ShouldBe(fixtureData.Address);
	customer.Email.ShouldBe(fixtureData.Email);
	customer.IsActive.ShouldBe(fixtureData.IsActive);
	customer.DateInsertedUtc.ShouldBe(fixtureData.DateInsertedUtc);
	customer.LastUpdatedUtc.ShouldBe(fixtureData.LastUpdatedUtc);
	customer.LastUserId.ShouldBe(fixtureData.FirstName);
}

System.Data.SqlTypes.SqlTypeException : SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
at System.Data.SqlClient.TdsParser.TdsExecuteRPC(SqlCommand cmd, _SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc, Boolean sync, TaskCompletionSource1 completion, Int32 startRpc, Int32 startParam)    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteScalar()
at RepoDb.Extensions.DbConnectionExtension.ExecuteScalar(IDbConnection connection, String commandText, Object param, Nullable1 commandType, Nullable1 commandTimeout, IDbTransaction transaction, ITrace trace) in C:\play\RepoDb\RepoDb\Extensions\DbConnectionExtension.cs:line 498
at RepoDb.DbRepository1.ExecuteScalar(String commandText, Object param, Nullable1 commandType, Nullable1 commandTimeout, IDbTransaction transaction) in C:\play\RepoDb\RepoDb\DbRepository.cs:line 2058    at RepoDb.DbRepository1.Insert[TEntity](TEntity entity, IDbTransaction transaction) in C:\play\RepoDb\RepoDb\DbRepository.cs:line 1094
at RepoDb.IntegrationTests.TestBasicCrud.TestInsert() in C:\play\RepoDb\RepoDb.IntegrationTests\TestBasicCrud.cs:line 38

Thank you for this findings. Will copy over your integration test project there and merge everything. Will look at this now.
I have introduced new structure at RepoDb master branch and I will place this code there.

I have tested it, I'd merged over the initial Integration Test in the master branch. Seems this is invalid. It works as expected.
        // This would really not equal as you ignore this in the insertion, but is defaulted in the database
        customer.DateInsertedUtc.ShouldBe(fixtureData.DateInsertedUtc);

        // This has been fixed by the TypeMapper.AddMap
        customer.LastUpdatedUtc.ShouldBe(fixtureData.LastUpdatedUtc);

        // This must be Environment.UserName
        customer.LastUserId.ShouldBe(fixtureData.FirstName);

Fixed and is merged at the 'master' branch.


WebSocket Pass

Hi it's possible to Pass websocket for selected destination host when i have rule split from * to * log * ?

SSLproxy does not support websocket protocol.
You could filter based on destination IP if the dest IP serves websocket only, but I guess that's not what you want. Or if it's encrypted, perhaps you can specify those websocket connections using some SSL filter rule (such as SNI or CommonName fields). Or port number?
In short, you can perhaps try to find some other feature of those websocket connections, which you can use in a filter rule.

I know that SSLProxy does not support websocket, so I want to create a websocket passing rule for selected destinations.
Snippet from my config is:
ProxySpec https <IP_ADDRESS> 3129
Block from * to * log *
Split from ip 10.200.1.* to * log *
When i add rule for pass traffic to destination servers where is traffic by websocket, that traffic wasn't passed.
Pass from * to host o2.pl log *
Do you know what i need to do for passing that traffic ?
Probably the problem is due to the order in which the rules are processed ?

Can you try Pass from ip <IP_ADDRESS> to host o2.pl log *? Replace <IP_ADDRESS> with a source ip address. (Or you can perhaps try 10.200.1.*)
This makes that Pass filter rule more specific, and more specific rules have higher precedence.
And the order of rules is important, as you say. So I assume the following:
ProxySpec https <IP_ADDRESS> 3129
Block from * to * log *
Split from ip 10.200.1.* to * log *
Pass from ip <IP_ADDRESS> to host o2.pl log *

Let's see what happens.
Note that you can enable the DEBUG_OPTS switch in main.mk to inspect detailed debug info on filtering rules.


Adding friend when declining offer

I know I'm not supposed to ask how to do stuff here in Issues section but I'll give it a shot.
I've been struggling to make a bot add a friend after declining a received offer. I tried this but it's not working, what am I doing wrong ?
Trade.prototype.addBotListeners = function addBotListeners() {
    this.botListen('manager', 'newOffer', (offer) => {
        setTimeout(() => {
    offer.decline()
    const bot = this.instances['bot_1']
    bot.client.addFriend(offer.partner.getSteamID64())
}, 30000)
    })
}

I'm getting this error : TypeError: Cannot read property 'client' of undefined

Never mind, I got it to work using the same code o.O


[NeurIPS 2023 OOD Track] Puck-fizz

Using the querys to improve the quality of puck index

Thanks for sending separate PRs. Could you please a CI test entry for random-xs dataset?

sorry，I will update it

I will check other PRs, sorry


UI is stuck to the center of the screen, can't see much of what is happening

The new UI is stuck to the center of the screen and I can't move it.

Fixed in dd17d755b23fa54acf1788e8ef0631e1d0493c6f, will be released in v0.2.2 soon


Aaron/add more checksfor mesh factory

Description
Add checks for new types of roads to enable generate "road" for parking lanes and "sidewalk" for "road" lanes

Fixes #
Where has this been tested?

Platform(s): ...
Python version(s): ...
Unreal Engine version(s): ...

Possible Drawbacks

This change is

Applied!


Make mount#rerender more robust.

Ensure that a controller is available before attempting to set its model. This fixes a scenario when a route-less engine is mounted alongside a routable engine, and then the routable engine is
visited. We will need further testing to fully understand the problem that this fixes.

Merging to solve problems like #68. Still needs more investigation to understand the core issue.


nodeport follow-up improvements

(See commit msgs. /cc @brb)

This change is

Coverage increased (+0.01%) to 44.474% when pulling bcdbd5ca19017a45a0e5a3bb9fb17564381d9446 on pr/remove-3rd-ct-lookup into ff6b0077def75e2139ddb905bf6d3a7698c1b007 on master.

test-me-please


Logout/SignUp page

React.JS-- Please refer to Front end Repo
Front-End

Working on authorization with JWT and useState to direct unlogged users to login/signup page


Move v1 calls to v2

Problem
Make plugin utilize parts of new functionality that comes with API v2.
Solution*
Translated the fetch_user call that is used by pledge/patronage checking functions to v2. Flow and login link generators updated to request proper v2 scopes when sending users to flow or login. fetch_user call now asks for proper includes to the v2 endpoint. Metaboxes for the post locking interface updated to always show v2 functionality that comes with total historical pledge and pledge relationship start. Locking logic updated to always check for presence of these locking options. Now dormant v2 api access checking function and its hook removed.

The above user interface is to be updated in its own branch after its review yet, its provisional.
Verification
Tested on development site with actual valid patron, all functions work. Default $ level locking mechanism works. Pledge relationship start date checking based on post's post date works. Total historical pledge check to override all checks works.
Tests can be done by installing this branch of the plugin on any WP installation with valid v1 client details.
Does this need tests
Manual tests done, they work. No unit test is written for this feature yet.

Testable demo now working at 112.codebard.com. 4 test posts/cases are provided:
Post visible to patrons who currently have $5 min pledge
http://112.codebard.com/2018/06/05/post-visible-to-patrons-who-currently-have-5-min-pledge/
The above post should be visible to patrons who currently have $5 pledge level or more. This is the default existing locking logic we had from earlier. Tested with a current patron who has $5 current pledge.
This locking method can be effected by simply putting a $ level in the $ level box.
Post visible to only patrons who were active on 27 July 2018 or earlier with $5 min pledge
http://112.codebard.com/2018/07/27/post-visible-to-only-patrons-who-were-active-on-27-july-2018-or-earlier-with-5-min-pledge/
The above post uses pledge relationship start from new v2 returns. It should be visible only to patrons who have currently $5 or higher pledge and a pledge relationship start date of post date. (Updated to july 25 to test). This was tested with a patron who has pledge relationship start date of 25 July and with $5 current pledge, works.
This locking method can be effected by putting a $ level in the $ meta box and checking the checkbox for 'active patrons only'.
Post visible to patrons who have $15 pledge or $30 or over total historical pledge
http://112.codebard.com/2018/09/10/post-visible-to-patrons-who-have-15-pledge-or-30-or-over-total-historical-pledge/
The above post should be visible to patrons who have a current pledge of $15 or who have $30 total historical pledge. Tested with a $70 total historical pledge user that has only $5 current pledge, works.
This can be effected by putting a $ level in the $ metabox and putting a $ level in the total historical pledge metabox.
Post visible to patrons who were active on 1 May 2018 or earlier with $5 min pledge OR patrons who have $30 or more lifetime pledge
http://112.codebard.com/2018/05/01/post-visible-to-patrons-who-were-active-on-1-may-2018-or-earlier-with-5-min-pledge-or-patrons-who-have-30-or-more-lifetime-pledge/
To see the above post, a patron must have $5 current pledge minimum and a pledge relationship start date of 1 may. Or $30 total historical pledge. Tested with a user fulfilling either criteria, works.
This advanced method can be effected by putting a $ level in the $ level metabox and checking 'active patrons only' checkbox and also putting a $ level in the total historical pledge metabox. Logic is that total historical pledge overrides all others - so a patron who has $200 total historical pledge and the post has a requirement of $100 historical pledge but also $15 current pledge and 1 january pledge relationship start, the patron will still be able to view the content thanks to his/her total historical pledge being high.
......................
The site is working, all examples are testable. Admin user for the site is provided in slack.


Feature Request: Command for building Main.elm

Quite often (20 times per day) I have to jump to Main.elm and save to get all my errors. Would be nice with atom-elm-make:compile-main

Hi @anagrius, have you tried https://github.com/mybuddymichael/linter-elm-make#always-compile-main ?

@halohalospecial Yes, but it is too heavy. I save many times a minute, to get the "new errors". When dealing with a module that is very connected (used by other modules) compile times for main is quite long and are painful.

Hi @anagrius, the latest version has a Linter Elm Make: Lint command.  I didn't add it before because there was a Linter: Lint command from the linter package.  I couldn't find a similar command for Nuclide / Atom IDE, though, hence the new linter-elm-make command.  Thanks!

Does that actually lint Main or just the current buffer?

It depends on whether you have Always Compile Main enabled (https://github.com/mybuddymichael/linter-elm-make#always-compile-main)

I am sorry, I realize I did not explain my issue well enough. I don't want to lint-the-current-buffer-without-saving. My issue is that since our project is very large, using always-compile-main results in a very slow user experience in my workflow. Though, quite often I am working on a module that is used by a lot of other module. To see if the changes break anything I would have to either:

Toggle always-compile-main, then save, then toggle always-compile-main back off.
Open Main.elm and save that, which would lead to compile errors from all modules (this is how I do it ~20 times a day).

I would prefer to just have a single command that would lint-main from anywhere in my project.

@anagrius, if you have Always Compile Main enabled and invoke the new command (Linter Elm Make: Lint, it should compile your main Elm file (configurable using Linter Elm Make: Set Main Paths).  I just realized that there should be an option to disable linting on save/edit :smile:

That still would not service my use case (if I understand you correctly).
I would like to:

Lint Current File on Save
Trigger a compile of my entire project from a separate command.

Having the option you're talking about would be nice as well, I don't think I would use it though.

If I understand it correctly, what you need is something like Linter Elm Make: Lint Main, which will compile the main paths?

Yup


3D Meshes and weapons - Spork

@ashleychchan

Spork Model imported to mesh folder, slingshot model ready for import but is in iteration form.
Branch: sporkmodel


is this algorithm compatible with wearable devices such as Bracelet

@xioTechnologies is there an algorithm that can plot a trajectory when punching? thanks

@xioTechnologies is there resources in your repos compatible with an bracelet worn on the wrist? or other resources available for this scene？ Thank you very much


Defined new revisions for golang dep: github.com/yvasiyarov/go-metrics

Since the license has the additional "views" sentence at the end, this is BSD-2-Clause-Views. Updated PR.


Add footer

How can footer get added to this component in every group??

@MahdilsComing use a Multi*Adapter and have a special footer type