VagrantFilePatcher: Escape backslashes in Windows paths

Backslashes in the shared folder path must be escaped in the Vagrantfile because Ruby.
This mainly affects Windows build agents where the path delimiter is a backslash so the patch checks the file path delimiter before escaping the string.

It looks like there are other symbols that has to be escaped too. So we may event not check for File.separatorChar and simply escape all possible symbols.
Thanks for the fix!


Employee parsing done.

Employee is being used instead of ParsedEmployee as getEmployee either retrieves the employee from the current db or creates a new. So in case of retrieving already existing employee, ParsedEmployee can not be used, as per my thinking.


(feat): detect app binary path for electron builder and forge

I would find the DX much better if the service could figure out the location of the Electron build based on some assumptions we can make given their setup. This patch allows users not to have to set the appBinaryPath if they use Electron Builder or Electron Forge as build tool. The change is backwards compatible and only kicks in if the property isn't already set.
Furthermore the launcher has tried to detect the Electron version by looking at the electron dependency. However our example has used electron-nightly so I enhanced that mechanism to also check for the version of that dependency.

@goosewobbler I will go ahead and test this in the boilerplate. Let me know if you like to see anything changed.


[RubyGemsIntegration] Check for chdir monitor after its been backported

Closes https://github.com/bundler/bundler/issues/3680.
Fixes a regression introduced in https://github.com/bundler/bundler/commit/73cec1c5b51dd6f9a7d6712ea6832f89ce9cb4f8.
\c @indirect @rafaelfranca

Actually, a better alternative might just be to set that monitor to whatever we make the EXT_LOCK, instead of moving this block of code to the bottom of the file. Let me see if that works

This is the other option. Your choice, @indirect:
diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb
index a98e851..6d6f2ab 100644
--- a/lib/bundler/rubygems_integration.rb
+++ b/lib/bundler/rubygems_integration.rb
@@ -4,6 +4,12 @@ require 'rubygems/config_file'

 module Bundler
   class RubygemsIntegration
+    if defined?(Gem::Ext::Builder::CHDIR_MONITOR)
+      EXT_LOCK = Gem::Ext::Builder::CHDIR_MONITOR
+    else
+      EXT_LOCK = Monitor.new
+    end
+
     def self.version
       @version ||= Gem::Version.new(Gem::VERSION)
     end
@@ -608,13 +614,13 @@ module Bundler

         Gem::Ext::Builder.class_eval do
           if !const_defined?(:CHDIR_MONITOR)
-            const_set(:CHDIR_MONITOR, Monitor.new)
+            const_set(:CHDIR_MONITOR, EXT_LOCK)
           end

           if const_defined?(:CHDIR_MUTEX)
             remove_const(:CHDIR_MUTEX)
-            const_set(:CHDIR_MUTEX, const_get(:CHDIR_MONITOR))
           end
+          const_set(:CHDIR_MUTEX, const_get(:CHDIR_MONITOR))
         end
       end

@@ -651,12 +657,6 @@ module Bundler
     @rubygems = RubygemsIntegration::Ancient.new
   end

-  if defined?(Gem::Ext::Builder::CHDIR_MONITOR)
-    EXT_LOCK = Gem::Ext::Builder::CHDIR_MONITOR
-  else
-    EXT_LOCK = Monitor.new
-  end
-
   class << self
     attr_reader :rubygems
   end

aw, ffs, what a stupid bug >_> I'm fine either way, just pick one and merge it.


[main] Upgrade to latest dependencies

bump pkg -benmoss
/cc knative/networking-wg-leads
/assign knative/networking-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/pkg 5d9d300...96c0204:
  > 96c0204 upgrade to latest dependencies (# 2337)

/lgtm
/approve


Can we package opencl-amdgpu-pro-icd?

Project description
Can we use OpenCL from amdgpu-pro together with amdgpu?
Arch has such a package: https://aur.archlinux.org/packages/opencl-amd
Some links:

https://github.com/Diolinux/amd-opencl-pro-linux-resolve/blob/main/install-opencl-amd.sh
https://math.dartmouth.edu/~sarunas/amdgpu.html
https://linuxconfig.org/install-opencl-for-the-amdgpu-open-source-drivers-on-debian-and-ubuntu
https://devtalk.blender.org/t/guide-install-amd-opencl-on-pop-os-some-ubuntu-derivates-linux-amdgpu-amdgpu-pro-rocm-rocr/13458

I hope to be able to use davinci-resolve with amd gpu with this and still use the open source driver.
@corngood
Metadata

homepage URL: https://amdgpu-install.readthedocs.io/en/latest/install-overview.html#stack-use-cases
source URL: http://repo.radeon.com/amdgpu-install/latest/
license: unfree
platforms: linux

Are you specifically looking at pre-vega support from the amdgpu-pro package?
Vega and later is supported by ROCm (actually gfx8+, Polaris and later), so it can be installed with
hardware.opengl.extraPackages = [
  rocm-opencl-icd
];

and the amdgpu-pro package does exactly that.
Also, that is all open-source :)


Index loads before navigation guard

Navigation guards: https://router.vuejs.org/guide/advanced/navigation-guards.html
We have a beforeEach setup in router to redirect non-authenticated users to login.
This does not work on initial load. Index component is created before the redirect occurs, meaning it requests data from server.
Not a terrible issue, except that it breaks tests and results in an unnecessary request and a server error.

Issue is:

App.vue is loaded and has no $route.meta.layout, falls back to defaultLayout
layouts/Application.vue is loaded and mounted
Settings and Workspaces mixins are invoked

Hence the reported errors.
Only after this does:

router/index.js is loaded
route is deemed non-public and user unauthenticated
login page is finally rendered with Authentication layout

So... It's not a case of Workspaces being loaded before they should be at all. Well, not the views anyway. It's the layout and the mixin.
Options

[ ] Make Authentication the default layout
[ ] Somehow wait on route resolution before mounting layout?

For now, I've made Authentication the default and have set the layout explicitly for each and every route. This creates a lot of duplication, but resolves the issue and... the explicitness could be a good thing.


Add build helpers for NuGet packages

This adds a target to the adapters that will allow making use of Content from older style NuGet packages that don't work with PackageReference. This is done by adding an attribute CopyContent='true' to the PackageReference node in the project file, which will cause all the content in the package to be passed into the Content ItemGroup and copied to the output directory.

@jeffkl You helped me develop this a while back, and I'm looking to ship it in this library so that it's easy for customers to consume. Has anything changed on the NuGet side to make this not needed anymore or is it still valuable?


Certain File types do not work with ngf-pattern

Hi,
Apologese if this is not a issue and its just me not being able to get this working correctly. But recently looking at the documentation we are able to use the "ngf-drag-over-class" to allow for css changes of the drop box if the file type is not what specified in the ngf-pattern. How ever i have noticed a few issues with this.
I have specified in ngf-pattern to only allow .png file types, and in the ngf-drag-over-class i have specifed on accept to change the border colour to blue and on reject to apply red. How ever even though i am dragging a .png file into the drop box it changes colour to red. I have managed to get this working by instead of saying ngf-pattern="'.png'" i use ngf-pattern="'image/png'". However the issue with this after testing is that it allows jpeg images to also turn the colour of the drop box to blue when it shouldnt. Can you please advise what is the issue. Below is the code.
div class="uploadArea" ngf-drop ngf-select ng-model="files" ngf-drag-over-class="{accept: 'dragover', reject: 'dragover-err', delay:1}" ngf-multiple="true" accept=".png" ngf-pattern="'.png'"

The .jpg image file is probably not a real jpg file it is probably png file with .jpg extension. This is working for me rejecting jpeg files: http://jsfiddle.net/danialfarid/zz52nzqv/
As it is stated in the docs the drag-over-class only works on file mime type for Chrome.

in version 8.0.1 you can specify the pattern option inside ngf-drag-over-class: ngf-drag-over-class="{accept: 'dragover', reject: 'dragover-err', pattern:'image/*'}


Convert hashed IDs in requests

Hi,
Thanks for all your hard work. Great package!
I have a question around obscuring ids of records in requests and responses. I want to obscure all ids for example 123 would become x4n2KEe9
What I've done so far:

I'm sending back an obscured ID in the response by specifying getRouteKey() as a model trait.
I can read records with a GET to /users/{hashedId} by applying custom middleware to convert the request to /users/{id}

However I'm unable to modify the content of the request when I PATCH to /users/{hashedId} it throws a resourceIdNotSupported exception.
Please could you advise on the best way to approach this?

Hi! Glad you're finding the package useful.
This will be great to get this working as I'd imagine this is a really common use case. Out of interest, what are you using to hash the ids? I might be interested in adding support for this into the package so people could opt in to it.
In terms of hashing the id... the schema is responsible for serializing the model's id in the getId() method, so you can either do it there or your approach of overriding the $model->getRouteKey() method if you want to use the hashed id in other places.
The adapter is responsible for all JSON API database queries, so that's definitely the place to override it to unhash the id. I'll need to push a change so that there is one method for you to overload on your adapter to make that easy.

Ok, I've just pushed an update that means you can overload the databaseId() method on your adapters. I'd suggest adding a method to your model trait, e.g. something like getKeyFromRouteKey($routeKey), and then in your adapter you can do:
protected function databaseId(string $resourceId)
{
    return $this->model->getKeyFromRouteKey($resourceId);
}

The reason I've put this in the adapter is there's loads of places throughout the implementation that resource ids are used... e.g. when an resource id is used to modify a relationship. So by putting the logic in a single method in the adapter, then it is consistently handled throughout the API.
To give it a go:
$ composer require cloudcreativity/laravel-json-api:1.x-dev

And let me know how you get on!

Fantastic! Thanks so much for the quick response and commit.
I'm using the Hashids library - https://hashids.org/
That sounds like the right implementation, it makes sense and is simple to be in the adapter. Great I'll try it out and let you know if anything comes up.

Released as 1.3.0 - feel free to reopen if you find any problems.


ubuntu  in terminal no speed

google in browser is normal
but in terminal it seems no connection
in win10 ,both ok in brower and cmd

Terminal is not always using proxy. Maybe try using http proxy server or socks proxy config in your command.

I need run bash in terminal.
and some command would execute connecting googledrive and fectch file.after a long wait,it shows times out.it seems can not connect in terminal.when i start proxy,it is ok download googledrive file in browser.
i am confused

you introduced try using http proxy server or socks proxy config in command
like this?
-->目前有2种方法，命令行和GUI方法
•命令行方法
1.安装SSR
wget https://github.com/the0demiurge/CharlesScripts/blob/master/charles/bin/ssr
2.将其加到 $PATH 环境变量里（不必和我一样的目录，只要保证 SSR 文件能在 PATH 里找到即可）
sudo mv ssr /usr/local/bin
3.加入可执行权限
sudo chmod 766 /usr/local/bin/ssr
4.安装
ssr install
5.配置服务器信息
vi /usr/local/share/shadowsocksr/config.json
把梯云某个节点的json配置填进去
6.启动 SSR
ssr start
7.停止和查看帮助
ssr stop
ssr help
然后你就可以打开浏览器上网了。Firefox 浏览器需要在「首选项 → 常规 → 网络代理设置 → 设置」中选择「手动代理配置」，然后填入你的本地监听地址<IP_ADDRESS>和端口1080，以及选择 SOCKS V5


Disable sort optimization for HALF_FLOAT

Fixing - > #10997.
Disable point based sort optimization for half_flaot.
There is a way we can enable it back but it needs bigger code change and I will send out shortly. We will have to create HalfFloatNumericSourceComparator as well HafFloatComparator same as we did for unsigned_long for that.
Created follow up issue here to make it back.
https://github.com/opensearch-project/OpenSearch/issues/10998
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[x] Public documentation issue/PR created

@reta need your quick review here :) , just got one nasty bug with half_float sort queries.

Backport for 2.11
https://github.com/opensearch-project/OpenSearch/pull/11005/files


How to obtain OfflineSigner?

Is there a way to get an OfflineAminoSigner (definition) or OfflineDirectSigner (definition)?

Also, are there any place for the ConnectedWallet class to expose methods such as signAmino or signDirect?

Is there a way to get an OfflineAminoSigner (definition) or OfflineDirectSigner (definition)?

Are you trying to broadcast transactions programmatically? If so, in v0.0.38, we have added the MnemonicWallet class that does this. See the example here: https://github.com/coinhall/cosmes/blob/main/examples/mnemonic-wallet/src/index.ts.

Also, are there any plans for the ConnectedWallet class to expose methods such as signAmino or signDirect?

Yes, but it's rather low priority at the moment since we do not have a use case for them. Do you require signAmino and signDirect across all wallets? Or only for MnemonicWallet?

Hi @AaronCQL thanks for the response!
I am working in a dApp context, so I do not have access to the wallet mnemonic, therefore I can't use MnemonicWallet.
For my use case, I only need getOfflineSigner method from the connected wallet class. I think a lot of dApps use getOfflineSigner method - we do the same at leapwallet.io.

@siddharth-leap specifically, you'd like to use the signAmino and signDirect methods correct? Think we can implement these methods directly within the ConnectedWallet class as opposed to having a getOfflineSigner method.

If you implement signAmino and signDirect, one can derive a getOfflineSigner function out of it, so that should work too.
I want to understand why you are inclined towards implementing signAmino/Direct as opposed to implementing the getOfflineSigner method.

I want to understand why you are inclined towards implementing signAmino/Direct as opposed to implementing the getOfflineSigner method.

This library is meant to completely replace cosmjs, and is not meant to be compatible with cosmjs. We won't be able to use the same method signatures as cosmjs's OfflineSigner also due to the different protobuf library used
In terms of structuring the API, having the sign methods within the ConnectedWallet class makes more sense than having to instantiate another object just to sign.
What's your exact use case for having getOfflineSigner though? I might be missing something obvious.

Okay I understand. The getOfflineSigner method is not a hard requirement for my use case. I think the signAmino/Direct methods would do the job as well.
I have seen across various dApps that an OfflineSigner object is used to instantiate a SigningStargateClient or a SigningCosmWasmClient. These are typically used to sign transactions and broadcast them. For example
const offlineSigner = window.leap.getOfflineSigner('osmosis-1');

const client = await SigningStargateClient.connectWithSigner(rpc, offlineSigner, {
  registry: customRegistry,
  broadcastTimeoutMs: 60_000
});

client.simulate()

client.sign()

client.broadcastTx()

The ConnectedWallet class in cosmes is the equivalent of SigningStargateClient or SigningCosmWasmClient.
A similar flow to your code can be done in cosmes as well:
import { LeapController, WalletType } from "cosmes/wallet";

const WC_PROJECT_ID = "TODO";
const controller = new LeapController(WC_PROJECT_ID);
const wallets = await controller.connect(WalletType.EXTENSION, [
  {
    chainId: "osmosis-1",
    rpc: "https://rpc.osmosis.zone",
    gasPrice: {
      amount: "0.0025",
      denom: "uosmo",
    },
  },
]);
const wallet = wallets.get("osmosis-1");

wallet.estimateFee(...);     // similar to `client.simulate()`
wallet.broadcastTxSync(...); // combines both `client.sign()` and `client.broadcastTx()`

For our dapps' usecases, there is no need to separate the signing from the broadcasting, which is why cosmes combines them both into the same call.

Thank you for the clarification. I can use these methods for my use case.
I think exposing signAmino and signDirect methods on the ConnectedWallet class will be quite helpful.
Thank you for your time!

Hi @AaronCQL any updates on this?

@AaronCQL Thank you for implementing this feature! 🎉


Remove extra semicolons

Super tiny PR to remove some unneeded semicolons in the new python example that I noticed while testing it.
Feel free to close / reject this PR if you don't care.

Cool, looks good.  Thanks for the PR :)


structure

home (emotional)
the why
the locations
protection part
education
team

what not to put on website

how it works
tokens
...

this will be all part of ebook

@despiegk  Hey, whos the team thats a part of our paradise?


Updated Ruby 2.4 support patch.

Related to #199 and #200. Obsoletes #202.

@preston Please add change your health data standards reference to:
gem 'health-data-standards', git: 'https://github.com/projectcypress/health-data-standards.git', branch: 'ruby_24'

Also, please use this .rubocop.yml file to get Travis back to "green":
AllCops:
  Exclude:
    - 'bin/**/*'
    - 'test/**/*'
    - 'lib/world/MA_geo.rb'
    - 'lib/records/lookup.rb'
    - 'lib/records/shr_mapping.rb' # ignored because generated code
    - 'lib/tasks/*'
    - 'vendor/**/*'

Documentation:
  Enabled: false

Metrics:
  Enabled: false

Style/GuardClause:
  Enabled: false
Style/HashSyntax:
  Enabled: false
Style/SymbolArray:
  Enabled: false
Style/RedundantReturn:
  Enabled: false
Style/ConditionalAssignment:
  Enabled: false
Style/InverseMethods:
  Enabled: false
Style/PercentLiteralDelimiters:
  Enabled: false
Style/MultilineIfModifier:
  Enabled: false

Bundler/OrderedGems:
  Enabled: false

Security/YAMLLoad:
  Enabled: false

@jawalonoski: Should I resubmit this PR, or are you making the changes directly?

I was waiting for the requested changes, but I think that #205 functionally did the 2.4 upgrade.

Ok


Focus newly created file

Hi, just wondering if it's possible to automatically place the cursor on the new file after creation? Also, it seems that there is quite a bit of delay when trying to delete a file with d. Is it possible to make this nowait so it doesn't wait for a text object?

You can use functionality from that https://github.com/nvim-neo-tree/neo-tree.nvim/blob/a1f5f4b15cec517d632e7335d20400cb3f410606/doc/neo-tree.txt#L319.

Hi, just wondering if it's possible to automatically place the cursor on the new file after creation?

I don't know why that never occurred to me! Yes, that is a good idea.

This is in main now and will be included in the next release.

Works like a charm, thanks!


STORY - Automate scraping + add indexing + scheduling + evaluation

We need to review how we do this broadly.

Full list of

Sort messages v.s. responses table to include the various additional desired tags (i.e. routing, eval scores etc)
Evaluation metrics (as in KM portal) to be used against a bunch


"null" value in search input

Current behavior

After first entering the page, input field for search bound to "null" value
Expected behavior

Search input should be clear
Steps to reproduce the issue

Enter the https://demo.storefrontcloud.io/
Repository

Enter the https://demo.storefrontcloud.io/ on any of browsers
Can you handle fixing this bug by yourself?

[] YES
[x] NO

Which Release Cycle state this refers to? Info for developer.
Pick one option.

[ ] This is a bug report for test version on https://test.storefrontcloud.io - In this case Developer should create branch from develop branch and create Pull Request 2. Feature / Improvement back to develop.
[ ] This is a bug report for current Release Candidate version on https://next.storefrontcloud.io - In this case Developer should create branch from release branch and create Pull Request 3. Stabilisation fix back to release.
[x] This is a bug report for current Stable version on https://demo.storefrontcloud.io and should be placed in next stable version hotfix - In this case Developer should create branch from hotfix or master branch and create Pull Request 4. Hotfix back to hotfix.

Environment details

Browser: Chrome Version 72.0.3626.81 (Build officiel) (64 bits)
OS: win 10
Node:  v10.16.3
Code Version: v1.10.4

Additional information

I confirm, problem exist.
I reproduced it by:
1.opening search
2.clicking into the input
3. clicking out of it
4. closing search and reopening it
Similar problem was already addressed in #3474

v1.10.4 does not contain fix from #3474 - see https://github.com/DivanteLtd/vue-storefront/commit/6861c4bde35ff4ae2ad8af6e3ab84a17ed259db7

I've tried to replicate this behaviour on release/v.1.11, master, hotfix/v1.10.5 branches and didn't meet that.  gif


4.10-docs

Autoresponder
Converting channel from public to private
Team icon changes

Requested @grundleborg to submit a PR for the CLI command to reset permissions to default

Thanks, updated


[SPARK-27673][SQL] Add since info to random, regex, null expressions

What changes were proposed in this pull request?
We should add since info to all expressions.
SPARK-7886 Rand / Randn
https://github.com/apache/spark/commit/af3746ce0d724dc624658a2187bde188ab26d084 RLike, Like (I manually checked that it exists from 1.0.0)
SPARK-8262 Split
SPARK-8256 RegExpReplace
SPARK-8255 RegExpExtract
https://github.com/apache/spark/commit/9aadcffabd226557174f3ff566927f873c71672e Coalesce / IsNull / IsNotNull (I manually checked that it exists from 1.0.0)
SPARK-14541 IfNull / NullIf / Nvl / Nvl2
SPARK-9080 IsNaN
SPARK-9168 NaNvl
How was this patch tested?
N/A

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10581/
Test PASSed.

Test build #105308 has started for PR 24579 at commit aa51055.

Test build #105308 has finished for PR 24579 at commit aa51055.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/105308/
Test PASSed.

Thanks @dongjoon-hyun!


Any operation on ledger client in Azure Confidential Ledger faced with NotAllowed error

Package Name: azure-confidentialledger
Package Version: 1.0.0
Operating System: Windows 10
Python Version: 3.10.6

Describe the bug
Azure Confidential Ledger client created in Python cannot execute any operations like create_ledger_entry or get_user and faces with HttpResponseError: (NotAllowed) Not allowed to call POST
To Reproduce
The Following code was used with the correct environment variables from the AAD App registered:
from azure.confidentialledger import ConfidentialLedgerClient
from azure.confidentialledger.certificate import ConfidentialLedgerCertificateClient
from azure.identity import DefaultAzureCredential, EnvironmentCredential

resource_group = "myResourceGroup"
ledger_name = "<your-unique-ledger-name>"
subscription_id = "<azure-subscription-id>"

identity_url = "https://identity.confidential-ledger.core.azure.com"
ledger_url = "https://" + ledger_name + ".confidential-ledger.azure.com"

identity_client = ConfidentialLedgerCertificateClient()
network_identity = identity_client.get_ledger_identity(
    ledger_id=ledger_name
)

ledger_tls_cert_file_name = "ledger_certificate.pem"
with open(ledger_tls_cert_file_name, "w") as cert_file:
    cert_file.write(network_identity["ledgerTlsCertificate"])

credential = DefaultAzureCredential()
ledger_client = ConfidentialLedgerClient(
    endpoint=ledger_url,
    credential=credential,
    ledger_certificate_path=ledger_tls_cert_file_name
)

post_entry_result = ledger_client.create_ledger_entry(
        entry = {"contents": "Hello world!"}
    )

Expected behavior
The ledger entry was supposed to be appended successfully so that it could be later retrieved.
Screenshots

Additional context
The client ledger_client was successfully created with the correct credentials and environment variables. Only when the client is used to perform any operations on the ledger, the HttpResponseError: (NotAllowed) issue is faced.

@SaurabhSharma-MSFT can you route @GyroKGL's question to the Confidential Ledger team?

Hi @GyroKGL, sorry for the inconvenience! This can happen if the identity retrieved by DefaultAzureCredential is not registered in the Confidential Ledger as an allowed user. Some possible explanations:

Multiple identities are available in the environment in which you have run the code. For example, the code is run on a virtual machine with an assigned identity and you have separately logged in to Azure CLI. DefaultAzureCredential has an order in which it checks for available credentials, so it's possible one of the credentials with higher priority was used thus skipping a later credential type that would be allowed to access the Confidential Ledger. To avoid this, you can use an explicit credential type, such as EnvironmentCredential or AzureCliCredential, that is designed for how you are providing credentials.
It sounds like you are attempting to authenticate with the Confidential Ledger using an AAD App. This AAD app may not have been correctly added to the Confidential Ledger service as a user. Note that the AAD App should have been added as a user by the object id of its Enterprise application, not its application (client) id [0].

[0] - An AAD app may show up as both an Enterprise applications resource (URL looks like https://ms.portal.azure.com/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/...) and a App registrations resource (URL looks like https://ms.portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/...) in Azure Portal. This is unfortunately confusing, but the object id that should be registered with the Confidential Ledger is the object id of the Enterprise application.

@lynshi Thank you for the clear explanation! The problem was solved by adding the AAD app as a user using the object id of its Enterprise application and also by using an explicit authentication credential, other than the DefaultAzureCredential shown in the example above.
Thank you so much!


Generating instances is failing

When I try to create a prompt and get to the initial test cases screen, it never loads any instances. It just keeps saying "Generating Instances".

Thank you for reporting! We're investigating this.


mp4 support

Some sites, namely Sankaku Complex, host mp4 files. Grabber will only grab the sample image as per the download sample on error checkbox. Any possibility for mp4 support?

Indeed.
Have you run into any other extensions that was not properly downloaded?

I don't think so. I was doing a bulk download and randomly clicking the ones that had finished. Only noticed one file that was a tiny resolution on accident. Took a minute to figure out why. I'll be sure to let you know if I do find any others though.


Type Annotations for Python 3.6 and minor changes to the API

Added type annotations for Python 3.6.

Can you please remove the last two commits and edit the commit cffdd8b  to reflect the changes in the one commit only. Because your first commit is actually adding a lot of files and next two commits are removing it.
I liked the changes you made. Thanks for making such efforts.

Merged thanks!


Write Camunda Modeler v3.2.0 Release Blog Post

Related to #1427

Closed via https://github.com/camunda/blog.camunda.org/pull/87


RealSense D435 image doesn't take the entire secondary display width and height using cv2

        cv2.namedWindow("RealSense", cv2.WINDOW_NORMAL) #working resized window
        # cv2.namedWindow("RealSense",  cv2.WND_PROP_FULLSCREEN)
        cv2.moveWindow("RealSense", second_display_x-1, second_display_y-1) #working resized window
        cv2.resizeWindow("RealSense", second_display_width, second_display_height) # Resize to screen dimensions

        cv2.setWindowProperty("RealSense", cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)#working resized window

So when I use the following, it takes most of the display except the first few top rows and the first few bottom rows. Any method I could enforce it to take the entire display?
The display I am enforcing this onto is:

This is what I see

@MartyG-RealSense thank you so much this fixed the problem.
In order to fix the op, I tried bunch of things. Before, I was able to select the trash can and then show it in entire screen as the image above, now, with all my new changes combined, after cv2.selectROI it doesn't zoom it out to capture the entire screen automatically, do you have any guess what may be going wrong or what am I missing?
## super resolution for post-cropping is very slow
# sr = cv2.dnn_superres.DnnSuperResImpl_create()
# path = "EDSR_x4.pb"

# sr.readModel(path)

# sr.setModel("edsr",4)
config.enable_stream(rs.stream.color, 1920, 1080, rs.format.bgr8, 30)
cv2.namedWindow("RealSense",  cv2.WND_PROP_FULLSCREEN)
        cv2.moveWindow("RealSense", second_display_x-1, second_display_y-1) #working resized window
        cv2.resizeWindow("RealSense", second_display_width, second_display_height) # Resize to screen dimensions
        cv2.setWindowProperty("RealSense", cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)#working resized window

       new = cv2.rotate(color_img, cv2.ROTATE_90_CLOCKWISE)
       if not roi_selected:
            roi = cv2.selectROI('RealSense', new)
            roi_selected = True
            print('roi is: ', roi)
            if roi != (0, 0, 0, 0):
                x, y, w, h = roi

        # sr_roi_img = sr.upsample(roi_image) # commenting super resolution post cropping since it is very slow
        cv2.imshow('RealSense', roi_image)
        # cv2.imshow('RealSense', sr_roi_img)

One change I remember is installing super resolution package for opencv contrib (had to uninstall the previous version of open contrib and reinstall and upgrade). Unfortunately, I don't know what the previous version was. My goal is after I select the trash can using the selectROI from opencv, similar to original post I want it to take the entire screen in the 1920x1080 resolution you mentioned.
The reason I wanted to use super resolution is because when I select the ROI it gets cropped and then resize to full screen now it is very bad resolution. Super resolution works but it is too slow I realized the idea doesn't pan out. If you have a suggestion please let me know how we can get this fixed.

        roi_image_fullscreen = cv2.resize(roi_image, (second_display_width, second_display_height))
        cv2.imshow('RealSense', roi_image_fullscreen)

fixed it. I didn't have this piece of code in the previous working version.

That's great news that you achieved a solution.  Thanks very much for the update and sharing the details of the solution!


Trend function and some minor bugs

Adding Trend function
Fixed issue that raised an exception when gathering stateful_elements states or ddts that were ndarray with dtype was float64
Fixed initial value issue for delay and smooth functions
"With Lookup" function can receive expr not just reference

Changes Unknown when pulling 3e8503faf772ee67f92ba25d712a2b9201d09098 on rugue1:master into ** on JamesPHoughton:master**.

Something is going on with Travis, I think it has to do with the fact that the code at this PR references the version of the test repo before we approved the integration of the trend test. If you sync your test-models repo, and then commit your pysd fork again, it should update and run the test properly. (fingers crossed!) Sometimes these things are a real pain... =)

Changes Unknown when pulling 6e3e1a2721cca4948deeb667ccae7a3a50b4cd0d on rugue1:master into ** on JamesPHoughton:master**.

@JamesPHoughton  I am more concerned about travis failing all the way... Do you have any idea of what might be going on?
Also,I forgot to include the lookup test in the integration script, I will do a new commit.

@JamesPHoughton  Can you take care of the conflicts please?

I't would be great to insert using of new trend functionality for xmile
https://github.com/JamesPHoughton/pysd/blob/master/pysd/py_backend/xmile/SMILE2Py.py#L164

Rebased in https://github.com/JamesPHoughton/pysd/pull/152
Moving the discussion there.

Merged to master in https://github.com/JamesPHoughton/pysd/commit/b1d29d62abaa58517327da26bfe63131295edff5

Also, I'm having trouble with travis too. is this what you saw: https://github.com/JamesPHoughton/pysd/issues/153, @rugue1?


Links update

Updated the links in noteboosk, scripts, readme, *.rst for Readthedocs.

Use Links update2 #105 instead


Very long model building time

I use you module as follows
from my_utils.pytorch_fid import fid_score
def load_inception_model(self, dims):
block_idx = fid_score.InceptionV3.BLOCK_INDEX_BY_DIM[dims]
self.model = fid_score.InceptionV3([block_idx])
self.model.cuda()
self.model.eval()
But this load function takes a very long time. I think this is coupled with pytorch upgrade. However I am not sure. Can you make some comments?

This is a known bug and related to a change in scipy (see https://github.com/pytorch/vision/issues/1797). They have a fix in torchvision in master, but it is not yet in a released version. Once it is, we can adopt the fix here as well.
For now, a workaround for you to try is to downgrade scipy from 1.4.1 to 1.3.1.


Is this implementation of XPath 2.0 complete?

This looks like a very interesting project. Before looking into this deeper, is there anything missing in the implementation?

Hi Martijn, the implementation is fairly complete, to minor things I remember are missing at large: string collations, schema-attribute() / schema-element() kind tests, and element() / attribute() kind tests parameters.

Thanks!


Add groups membership to DSAccount class?

Hey!
Thank you so much for the amazing work on DSInternals.
I'm interested in knowing if you plan to add Groups membership of users? Ultimately to be listed when using the PowerShell cmdlet Get-ADDBAccount so it'd show all the groups the user/s are member of.
Thank you very much in advance,
Carlos

Hi @ciyi , it is on the TODO list, but with a low priority, as this info can be retrieved from a ntds.dit file using the built-in dsamain.exe + Get-ADPrincipalGroupMembership.

Thanks for replying Michael. dsamain.exe could be a good temporary solution, it's just that I believe I'd need RSAT to be installed :(

Yes, you need RSAT (and AD LDS I think). But you can install them on Windows 7-10.


Added tests folder and made minor changes to utils.R

Why there is a utils.R in test folder? can you remove that and recommit. Other that everything looks great.

Tests (test_* files) need to live in the tests/testthat directory.
So the directory structure looks like:
tests
+-- data
│   +-- hr_test.json
│   \-- phone_data_test.json
+-- testthat
│   +-- test_getHR.R
│   +-- test_getTremorFeatures.R
│   +-- test_getWalkFeatures.R
│   +-- test_sensors.R
│   \-- test_utils.R
\-- testthat.R

Done.

I'm seeing this error when I run devtools::test():
devtools::test()
Loading mhealthtools
Loading required package: testthat
Testing mhealthtools
✔ | OK F W S | Context
Error in x[[method]](...) : attempt to apply non-function
In addition: Warning message:
`encoding` is deprecated; all files now assumed to be UTF-8

══ Results ══════════════════════════════════════════════════════════════════════
Duration: 0.2 s

OK:       0
Failed:   2
Warnings: 1
Skipped:  0

Yup, it was a sourcing error. I corrected the source path in the test_* files

Phil can you check if the new merged repo from your pull request (https://github.com/itismeghasyam/mHealthTools/tree/develop) is consistent (i.e tests run fine, code is not buggy etc.) ?
If so, can you merge this PR into the Sage-Bionetworks develop (https://github.com/Sage-Bionetworks/mhealthtools/tree/develop)

No more test failures.


Create Events Page: Split the toggle buttons into 2 sections, and make one of 3 required to create Event

Spilt the toggle section under description in the create events page into 2 groups:
Section 1: Is the event going to have food || Is RSVP required?
Section 2: make one of these three required:
Training || Service hours || Bonner event -
The Bonner event toggle button will need to be added as well.

PR #1296 was merged


github: update mergify.yml to new style

Mergify has not been working for weeks as they removed support for the
deprecated style we were relying on. This is my first attempt to
update it to the new style.

@nixpanic @ansiwen PTAL and let me know if you think this configuration is pretty close to what we had working before.
I'll note that the checks still includes a fail for the current mergify rules but a pass for "Configuration changed — The new Mergify configuration is valid "


Migrate uses of ate.Operations().SetInterfaceState to ate.Actions().SetPortState

This was missed in #243.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 60.202%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
596

Relevant Lines:
990

💛  - Coveralls


Fix winpack

WIP

ffmpeg: install both 32/64-bit versions (required for java/python bindings)
python: add launch script for winpack python demo

did you really mean the exclamation sign in the beginning of the *.cmd file name?

Yes, it is to hack files sorting order.
This file is for windows only (and for winpack actually). Do you expect any problems on other platforms?

:+1:


Latest versions not available on Conda

Bug description
Versions 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6 and 1.9.0 are missing from conda. See the PR for the conda package of lightning.
How to reproduce the bug
No response
Error messages and logs
# Error messages and logs here please

Environment

Current environment
#- Lightning Component (e.g. Trainer, LightningModule, LightningApp, LightningWork, LightningFlow):
#- PyTorch Lightning Version (e.g., 1.5.0):
#- Lightning App Version (e.g., 0.5.2):
#- PyTorch Version (e.g., 1.10):
#- Python version (e.g., 3.9):
#- OS (e.g., Linux):
#- CUDA/cuDNN version:
#- GPU models and configuration:
#- How you installed Lightning(`conda`, `pip`, source):
#- Running environment of LightningApp (e.g. local, cloud):

More info
No response

Thanks for reporting. @Borda maybe could you double check the linked PR on conda. Thx

I opened a new PR on the feedstock and added the appropriate dep bumps at https://github.com/conda-forge/pytorch-lightning-feedstock/pull/117
Please review and merge.

Hello, an apology for the confusion and delays from our side... at the end, we have finished adding all 1.8.{1,2,3,4,5,6} releases and also fixed/merged https://github.com/conda-forge/pytorch-lightning-feedstock/pull/116 and https://github.com/conda-forge/pytorch-lightning-feedstock/pull/115 Anyway, thank you for all your effort and help! :rabbit:


Access Diff Stats for Commit

Hi,
Is there a sample for showing how to access the Lines added/removed at a File level. I can see the summary values in from GitChangesAsync but can't seem to get them at a file level.
I've tried  GetCommitDiffsAsync but that does not seem to be correct either.
Regards
Nick

To the best of my knowledge, there's no public API for exposing file-level diffs. You can post or vote on a request on the VSTS UserVoice for the team to consider adding one.


Add every Community Theme

[ ] decide if this section (or others) should be foldable due to high length

Aaah, you're a genius for suggesting folding sections!! Let's merge this PR first, then I'll wrap all sections in <detail>

I occured one problem. We discussed that it would be best if we keep a description of a theme. But it seem to be unworthy to do, as many themes lack of it in the original repository.
Therefore I suggest removing the description field. L
Also, we could possibly remove credits field and change name field to repository (author/repository-name), so it's gonna be maximally compact.
Or else, we could do it another way, without the table. Let me know what do you think!

No I like those two ideas! Go with the compact version 👍

@kmaasrud let me know if it looks as intended!

This looks all good! Once again, thank you so much for all your work 😍


docs: fix prism theme broken link in code blocks docs

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

Found this broken link when go through code block docs
Test Plan

Replaced the broken link with the correct one
Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

Thanks
Versioned follow-up of https://github.com/facebook/docusaurus/pull/8993


Disable console color coding

Describe the feature
Add cli flag that is going to disable the colour coding of console output, it is particularly annoying with docker logs that would contain ansci encoding.
Additional context
No response

There is an option to disable it with RUST_LOG but cli flag should give better visibility to that feature:
https://github.com/paradigmxyz/reth/blob/b46101afb5e549d40b7b2537fff9b67e05ad4448/crates/tracing/src/lib.rs#L44-L52

I can take this one


Selectively expose modules from cardano-testnet

We currently expose all the modules in the cardano-testnet library. We should expose a single module to make it more obvious to users how this library should be used. I propose the following:

Intoduce a top level directory called Cardano (similarly to what is done in cardano-cli) i.e cardano-testnet/src/Cardano/{Parsers,Testnet,...}
Expose only Cardano.Testnet
Propagate the changes and expose whatever we need via Cardano.Testnet only

I.e we want this
exposed-modules: Cardano.Testnet
other-modules: ...

https://github.com/input-output-hk/cardano-node/pull/4636


⚠ ClamAV has degraded performance

In 68342f8, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 90 ms

Resolved: ClamAV performance has improved in 3b13ce8.


fix small typo in cli help menu

Just a small typo I saw in cli :)
Thanks for all your work on this project!

Thanks for your contribution!


Hero - MOBILE(1.5h)

Notes:

With regard to font size, everything else is the same if not noted otherwise.

Hello
This is looking good.

Thanks

Move Hambuger over as @marianovegab  mentioned.
Font size 15px is being overwritten

Increase padding above and below button to match mock

Font is now correct, but you need to increase padding at the top and around button to match the mockup

#homepageHeroText {
margin: 8em 0.5em 0;
}
#homepageHeroText h1 {
margin-bottom: 0.75em;
}
#exploreCaseStudies {
margin: 1em 0 2em 0;
}
Result will look like this

@media (max-width: 24.375em)
#homepageHeroText p {
font-size: 18px;
}
I realized from the mock that the 15px specified is for the margin (which you have) not the text size.
Paragraph text can remain 18px. Sorry for the confusion.

Text looks good but the button is offset now?
button#exploreCaseStudiesButton {
width: 300px;
height: 50px;
margin-left: calc( ( 100vw - 300px ) / 2 );
}


update helm chart patch

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


Use javac -h instead of javah

This allows it to build on JDK10+. javac supports -h since JDK8, though, so using Java 8 will still work.

Thank you for letting me know about this new feature :)


assertNotHoliday() skips rest of test

If you add assertNotHoliday() to a test function, the rest of the test is skipped, because it intentionally throws an exception. This is rather surprising/confusing.

Thanks for catching this. As a matter of fact, the assertFalse (line 133) shouldn't have been there. The objective of this function is to assert that a holiday doesn't exist. In such a case always 'null' is returned, therefore making this assertion irrelevant.


Objects Placed inside the Frontier sink into the ground when reloading.

Before Reloading:

After Reloading:

Details
N/A
Game Version
<IP_ADDRESS>
New Game
No
Reproduction Steps
Place any number of items on the ground or table inside the frontier. Leave the ship then go back inside.

Nope this is fixed soon as well

Hope*

This seems to be an engine bug, so I don't know if we can fix this in the patch.


Scorecard

Closes: n/a
Goal
Fix Scorecard CI.
Approach

Extract analysis block.

Signed-off-by: Roderick Monje<EMAIL_ADDRESS>

Merging to test Scorecard fixes.


change job splitting algorithm for AlcaSkim

Also change the default for the PromptReco job splitting, but that new default is the value we have been using from the Tier0 since a long time, so this is not a functional change.

I really would like to have this in 1.1.16 since I am going to build a new Tier0 release with that tag.
@amaltaro @ticoann

I will create a new tag once Jenkins report comes back. It will be 1.1.6.pre7

test this please

@hufnagel can you fix those 2 PromptReco unit tests to get this merged? Thanks


Make redis_user owner of /etc/redis

In order for config rewrite to work properly, redis_user needs to have write permissions for config directory. Created appropriate PR #262

Closed by #262


jx-poc-spring-1 to 0.0.1

Promote jx-poc-spring-1 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Teckin Smart Plug SP23

I made the mistake of updating the firmware in my Teckin SP23 plugs to version 1.0.5.
Since doing this they will not connect in TuyaLan. My Jomarto smart plugs still show up and work fine.
I have tried deleting the Teckin plugs and creating a new key but this hasn't helped.
Any ideas why they should be unavailable after the firmware update?

Hi, after upgrading my Teckin smartbulb to 1.0.5 I am also having issues for the device to be discovered on homebridge service start.
I can confirm that it is definately the firmware upgrade issue, as my other bulb which have not been ugpraded works without issues.
[2019-3-11 20:31:24] [TuyaLan] Failed to discover Bed Light (22xxxxxxxxxxxxx66xx) in time but will keep looking.

Have you guys tried removing the device from the app and re-adding it which generates a new key?  You may have to re-setup your homebridge config with a new pin and user as well as clearing persist and accessories folders.

Yeah. Tried that and it made no difference.

Another one here with the same problem.
Any solution please?

Yeah same, I have tried unregistering and generating a new key. Plus the firmware was updated before introducing to home bridge.
Still no luck, please help

I know that some devices stop responding to discovery requests or have a different discovery sequences. I have not gotten my hands on one of these latter ones to be able to figure them out. However, if you know the IP address of the device, add an ip parameter to the definition block of the device in your config file with the value being the IP address of the device. You will need the latest version of the plugin which hasn't been released yet; to get it, run npm i -g AMoo-Miki/homebridge-tuya-lan.
After updating the plugin, adding the ip parameter to your config, and restarting homebridge, look at the logs; after 60 seconds, you should see something about failing to discover but using the IP to connect. If it works, you should see a Ready to use ... with signature message.
Lemme know if this solves the problem or not.
Good luck.

Hi,
Thank you for your response. I have followed your instructions. I am tailing my syslog and can see the following messages. It seems like it connects and disconnects straight away.
Mar 13 21:50:30 homebridge homebridge[3339]: [2019-3-13 21:50:30] [TuyaLan] Failed to discover Test Light<PHONE_NUMBER>0d8e8c669b) in time but will connect via <IP_ADDRESS>.
Mar 13 21:50:30 homebridge homebridge[3339]: [2019-3-13 21:50:30] [TuyaLan] Connected to Test Light
Mar 13 21:50:30 homebridge homebridge[3339]: [TuyaAccessory] Closed connection with Test Light
Mar 13 21:51:06 homebridge homebridge[3339]: message repeated 10 times: [ [TuyaAccessory] Closed connection with Test Light]
Mar 13 21:51:06 homebridge homebridge[3339]: (node:3339) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 timeout listeners added. Use emitter.setMaxListeners() to increase limit
Mar 13 21:51:06 homebridge homebridge[3339]: [TuyaAccessory] Closed connection with Test Light
Mar 13 21:51:36 homebridge homebridge[3339]: message repeated 1170 times: [ [TuyaAccessory] Closed connection with Test Light]
Mar 13 21:51:36 homebridge homebridge[3339]: (node:3339) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 timeout listeners added. Use emitter.setMaxListeners() to increase limit
Mar 13 21:51:36 homebridge homebridge[3339]: [TuyaAccessory] Closed connection with Test Light
Mar 13 21:52:07 homebridge homebridge[3339]: message repeated 1153 times: [ [TuyaAccessory] Closed connection with Test Light]
Mar 13 21:52:07 homebridge homebridge[3339]: (node:3339) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 timeout listeners added. Use emitter.setMaxListeners() to increase limit
Mar 13 21:52:07 homebridge homebridge[3339]: [TuyaAccessory] Closed connection with Test Light
Mar 13 21:52:12 homebridge homebridge[3339]: message repeated 15 times: [ [TuyaAccessory] Closed connection with Test Light]
Mar 13 21:52:12 homebridge homebridge[3339]: (node:3339) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 timeout listeners added. Use emitter.setMaxListeners() to increase limit
Mar 13 21:52:12 homebridge homebridge[3339]: [TuyaAccessory] Closed connection with Test Light
Mar 13 21:52:37 homebridge homebridge[3339]: message repeated 879 times: [ [TuyaAccessory] Closed connection with Test Light]
Mar 13 21:52:37 homebridge homebridge[3339]: (node:3339) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 timeout listeners added. Use emitter.setMaxListeners() to increase limit
Mar 13 21:52:37 homebridge homebridge[3339]: [TuyaAccessory] Closed connection with Test Light
Mar 13 21:52:37 homebridge homebridge[3339]: message repeated 20 times: [ [TuyaAccessory] Closed connection with Test Light]
Mar 13 21:52:37 homebridge homebridge[3339]: (node:3339) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 timeout listeners added. Use emitter.setMaxListeners() to increase limit
Mar 13 21:52:37 homebridge homebridge[3339]: [TuyaAccessory] Closed connection with Test Light
Mar 13 21:52:43 homebridge homebridge[3339]: message repeated 240 times: [ [TuyaAccessory] Closed connection with Test Light]
Mar 13 21:52:43 homebridge homebridge[3339]: (node:3339) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 timeout listeners added. Use emitter.setMaxListeners() to increase limit
Mar 13 21:52:43 homebridge homebridge[3339]: [TuyaAccessory] Closed connection with Test Light

@rshnthmb, I have seen this happen when the IP or port are incorrect or the device doesn't follow the original protocol. When you removed the device from the Tuya app and re added it, did you get a different id and key, or was it the same old one? If you haven't done that, it is a good idea to do.
To debug, I would start with a port-scan of the device:
sudo apt-get install nmap
sudo nmap -sU -Pn -v -p- <IP_ADDRESS>

nmap will take a couple of hours and make sure Homebridge is stopped, your Tuya app is closed, and nothing is talking to the device. If nmap exits immediately, it is because it thinks the device is down; run t again.
I will wait to hear the your results before proposing anything more. Good luck.

@AMoo-Miki Yes I have factory reset the device which removed it from the Tuya app. When adding it back in, it did give me a different key, however the ID did not change.
I am currently running nmap, whilst my apps are stopped, will let you know on my results.
Thanks for your response.

Thanks for updating me. Let's hope it is just a simple port difference. There is also something I had done when I was initially messing with the Tuya API. I will try to sleep a bit so that I can remember what that was!

Hi @AMoo-Miki
Here is my result:
Nmap scan report for <IP_ADDRESS>
PORT      STATE         SERVICE
49154/udp open|filtered unknown

Can you please add "port": 49154 to your definition block of the device in the config file of Homebridge? I have seen others mentioning that their devices worked via communicating with this port. Any messages from your log would be helpful if it doesn't work; please include timestamps like you did earlier.
Good luck.

Hi @AMoo-Miki sounded like a good suggestion, but no look, it seems like the connection keeps closing.
I have run a packet capture against <IP_ADDRESS> (the light bulb) and tailed the logs during startup, please take a look:
Mar 14 18:18:48 homebridge homebridge[9539]: [2019-3-14 18:18:48] [TuyaLan] Starting discovery...
Mar 14 18:18:48 homebridge homebridge[9539]: [2019-3-14 18:18:48] Homebridge is running on port 51826.
Mar 14 18:18:48 homebridge homebridge[9539]: [TuyaAccessory] Discovery started.
Mar 14 18:19:48 homebridge homebridge[9539]: [2019-3-14 18:19:48] [TuyaLan] Failed to discover Test Light<PHONE_NUMBER>0d8e8c669b) in time but will connect via <IP_ADDRESS>.
Mar 14 18:19:48 homebridge homebridge[9539]: [TuyaAccessory] Closed connection with Test Light
18:18:41.345024 IP (tos 0x0, ttl 255, id 53332, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:18:43.642059 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:18:46.345049 IP (tos 0x0, ttl 255, id 53333, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:18:51.346463 IP (tos 0x0, ttl 255, id 53334, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:18:53.635716 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:18:56.345764 IP (tos 0x0, ttl 255, id 53335, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:01.348340 IP (tos 0x0, ttl 255, id 53336, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:03.641731 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:19:06.347108 IP (tos 0x0, ttl 255, id 53337, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:11.345775 IP (tos 0x0, ttl 255, id 53338, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:13.643591 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:19:16.347224 IP (tos 0x0, ttl 255, id 53339, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:21.348795 IP (tos 0x0, ttl 255, id 53340, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:23.641175 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:19:26.347064 IP (tos 0x0, ttl 255, id 53343, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:31.347620 IP (tos 0x0, ttl 255, id 53344, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:33.642052 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:19:36.348342 IP (tos 0x0, ttl 255, id 53345, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:41.351834 IP (tos 0x0, ttl 255, id 53346, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:43.644266 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:19:46.346524 IP (tos 0x0, ttl 255, id 53347, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:48.462692 IP (tos 0x0, ttl 64, id 41802, offset 0, flags [DF], proto TCP (6), length 60)
<IP_ADDRESS>.39486 > <IP_ADDRESS>.49154: Flags [S], cksum 0x81c2 (incorrect -> 0xe488), seq<PHONE_NUMBER>, win 29200, options [mss 1460,sackOK,TS val 58050272 ecr 0,nop,wscale 7], length 0
18:19:48.520484 IP (tos 0x0, ttl 255, id 53348, offset 0, flags [none], proto TCP (6), length 40)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.39486: Flags [R.], cksum 0x77a2 (correct), seq 0, ack<PHONE_NUMBER>, win 4380, length 0
18:19:51.346839 IP (tos 0x0, ttl 255, id 53349, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:53.468618 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 28
18:19:53.522320 IP (tos 0x0, ttl 64, id 59543, offset 0, flags [DF], proto TCP (6), length 60)
<IP_ADDRESS>.39488 > <IP_ADDRESS>.49154: Flags [S], cksum 0x81c2 (incorrect -> 0xc115), seq<PHONE_NUMBER>, win 29200, options [mss 1460,sackOK,TS val 58051537 ecr 0,nop,wscale 7], length 0
18:19:53.533976 ARP, Ethernet (len 6), IPv4 (len 4), Reply <IP_ADDRESS> is-at 84:0d:8e:8c:66:9b (oui Unknown), length 46
18:19:53.533999 IP (tos 0x0, ttl 255, id 53350, offset 0, flags [none], proto TCP (6), length 40)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.39488: Flags [R.], cksum 0x5920 (correct), seq 0, ack<PHONE_NUMBER>, win 4380, length 0
18:19:53.637313 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:19:56.348109 IP (tos 0x0, ttl 255, id 53351, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:19:58.534714 IP (tos 0x0, ttl 64, id 43893, offset 0, flags [DF], proto TCP (6), length 60)
<IP_ADDRESS>.39490 > <IP_ADDRESS>.49154: Flags [S], cksum 0x81c2 (incorrect -> 0x26f9), seq<PHONE_NUMBER>, win 29200, options [mss 1460,sackOK,TS val 58052790 ecr 0,nop,wscale 7], length 0
18:19:58.542181 IP (tos 0x0, ttl 255, id 53352, offset 0, flags [none], proto TCP (6), length 40)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.39490: Flags [R.], cksum 0xc3e8 (correct), seq 0, ack<PHONE_NUMBER>, win 4380, length 0
18:20:01.347124 IP (tos 0x0, ttl 255, id 53353, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:20:03.542203 IP (tos 0x0, ttl 64, id 24812, offset 0, flags [DF], proto TCP (6), length 60)
<IP_ADDRESS>.39492 > <IP_ADDRESS>.49154: Flags [S], cksum 0x81c2 (incorrect -> 0xec25), seq<PHONE_NUMBER>, win 29200, options [mss 1460,sackOK,TS val 58054042 ecr 0,nop,wscale 7], length 0
18:20:03.563099 IP (tos 0x0, ttl 255, id 53354, offset 0, flags [none], proto TCP (6), length 40)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.39492: Flags [R.], cksum 0x8df9 (correct), seq 0, ack<PHONE_NUMBER>, win 4380, length 0
18:20:03.641696 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
18:20:06.347139 IP (tos 0x0, ttl 255, id 53355, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188
18:20:08.563156 IP (tos 0x0, ttl 64, id 48821, offset 0, flags [DF], proto TCP (6), length 60)
<IP_ADDRESS>.39494 > <IP_ADDRESS>.49154: Flags [S], cksum 0x81c2 (incorrect -> 0x5456), seq<PHONE_NUMBER>, win 29200, options [mss 1460,sackOK,TS val 58055297 ecr 0,nop,wscale 7], length 0
18:20:08.687599 IP (tos 0x0, ttl 255, id 53356, offset 0, flags [none], proto TCP (6), length 40)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.39494: Flags [R.], cksum 0xfb10 (correct), seq 0, ack<PHONE_NUMBER>, win 4380, length 0
18:20:11.349760 IP (tos 0x0, ttl 255, id 53357, offset 0, flags [none], proto UDP (17), length 216)
<IP_ADDRESS>.49154 > <IP_ADDRESS>.6667: [udp sum ok] UDP, length 188

:( Lemme think and search a bit about this. I will also try and find this locally so that I can do all these experiments without annoying you.

Thanks!
Don’t worry about disturbing me, I don’t mind the troubleshooting.
But seeing from the initial post, I’m not sure how the latest firmware has changed the behaviour, if there is a way for me to downgrade I would!
It’s weird, I have an exact bulb which works fine on the older version. It’s a shame I can’t find out what it’s running.

Great. Paste the code below into a file and make sure DEVICE_ID and IP_ADDRESS are correct. Run it with node filename and wait a minute or two to see if and what we hear back.
const DEVICE_ID = '22551008840d8e8c669b';
const IP_ADDRESS = '<IP_ADDRESS>';

const net = require('net');
const _socket = net.Socket();
_socket.setKeepAlive(true);
_socket.setNoDelay(true);

let sent = false;
const send = () => {
    if (sent) return;
    sent = true;

    console.log(Date.now(), 'Sending handshake...');

    const prefix = Buffer.from('000055aa000000000000000a', 'hex');
    const suffix = Buffer.from('000000000000aa55', 'hex');
    const len = Buffer.allocUnsafe(4);
    const payload = Buffer.from(JSON.stringify({
        gwId: DEVICE_ID,
        devId: DEVICE_ID
    }));
    len.writeInt32BE(Buffer.concat([payload, suffix]).length, 0);
    return _socket.write(Buffer.concat([prefix, len, payload, suffix]));
};

_socket.on('connect', () => {
    console.log(Date.now(), 'Socket connected');
    setTimeout(send, 5000);
});

_socket.on('ready', () => {
    console.log(Date.now(), 'Socket ready');
    setTimeout(send, 1000);
});

_socket.on('data', msg => {
    console.log(Date.now(), '----\n', msg.toString(), '\n----');
});

_socket.on('error', err => {
    sent = true;
    console.log(Date.now(), 'Socket error', err);
});

_socket.on('close', err => {
    sent = true;
    console.log(Date.now(), 'Socket closed:', err);
});

_socket.on('end', () => {
    sent = true;
    console.log(Date.now(), 'Socket ended');
});

console.log(Date.now(), 'Connecting ...');
_socket.connect(6668, IP_ADDRESS);

I have been in touch with Teckin technical support to try and find what changes are in the new firmware but I think the language barrier is causing them not to understand. No luck except being offered replacement plugs.
Having tried the tests with my Teckin plug I get the same port number (49154) and the following results from the last test:
1552647886629 'Connecting ...'<PHONE_NUMBER>686 'Socket connected'<PHONE_NUMBER>695 'Socket ready'<PHONE_NUMBER>703 'Sending handshake...'<PHONE_NUMBER>421 '----\n' '\u0000\u0000U�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000k\u0000\u0000\u0000\u00003.3\u0000\u0000\u0000\u0000\u0000\u0000\b\u001d\u0000\u0000\u0000\u0001W�Fu�\u0005�m�V+��k�T��\u001b��\u0006�\u000b\u001eDu2���oS��\f��2��j9\u001c��2�{\u0000�f��cb�WH����s*��%�A���\b���\u0018��\u0000\u0000�U' '\n----'<PHONE_NUMBER>469 '----\n' '\u0000\u0000U�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000[\u0000\u0000\u0000\u00003.3\u0000\u0000\u0000\u0000\u0000\u0000\b\u001e\u0000\u0000\u0000\u0001W�Fu�\u0005�m�V+��k�T��\u001b��\u0006�\u000b\u001eDu2���ڤЕ]�_\'�x�@\u0014��ں\u0003\u0003���\u0019��������\r�Ҷ\u0000\u0000�U' '\n----'<PHONE_NUMBER>410 'Socket error' { Error: read ECONNRESET     at TCP.onStreamRead (internal/stream_base_commons.js:111:27) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }<PHONE_NUMBER>430 'Socket closed:' true

Interesting! Can you please change the line console.log(Date.now(), '----\n', msg.toString(), '\n----'); to:
console.log(Date.now(), '----\n', msg.toString('hex'), '\n----');

... and try again?
I see a 3.3 there which might be the version which would mean a bump. While I can't say from the blob (hence the code change), it might be that the handshake is encrypted too. If true, let's just hope that they haven't changed the algorithm :P

Here is the result:
1552738595941 'Connecting ...'
1552738595993 'Socket connected'
1552738596001 'Socket ready'
1552738597008 'Sending handshake...'
1552738597748 '----\n' '000055aa00000000000000080000006b00000000332e3300000000000009320000000157964675c9059f6dcf562b89f26b8b54a6fa1b8f96067ff09a0b1e447532c6ffb6020e961d209fbe691696bb9de17a6c8620591be83dadbe07cfcee4b775ae169f24767d9dbc0400e615249276d18c19b30001880000aa55' '\n----'
1552738602768 '----\n' '000055aa00000000000000080000006b00000000332e3300000000000009330000000157964675c9059f6dcf562b89f26b8b54a6fa1b8f96067ff09a0b1e447532c6ff36aa08f214621e4701e2cb6b229a177fbc5ae9bedb50cafe8a8657c907bae793ac7178b6dda31c40b1530051b068bcc1c15e43340000aa55' '\n----'
1552738632721 'Socket error' { Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:111:27) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
1552738632742 'Socket closed:' true

Hi @AMoo-Miki
Thanks, however I am getting a different result to @gazzmanzx6 :
1552815081168 'Connecting ...'
1552815081249 'Socket connected'
1552815081250 'Socket ready'
1552815082252 'Sending handshake...'
1552815117988 'Socket error' { Error: read ECONNRESET
at TCP.onread (net.js:622:25) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
1552815117990 'Socket closed:' true

Hi @AMoo-Miki any updates what this could mean?

Just to confirm also having the same issues with this brand of Outlet since the Firmware update.
Adding the ip to the device confirm I just get the same disconnections as the others above.

Also having this same issue with a Teckin SP23 outlet on firmware 1.0.5.
Have tried the new build with a direct IP connection and on both a RasPi Zero & a Mac and still repeatedly get 'Unable to discover...' message.
@AMoo-Miki any more ideas/things we can do to test and help get this working?

Let's try and send it an encrypted handshake.
Create a folder wherever you like and inside the folder do, npm i node-forge. Create a file name discover.js in the same folder and paste this content in it. Set the correct values for DEVICE_ID, DEVICE_KEY, and IP_ADDRESS. Finally run node discover.js. Let's hope it likes our handshake this time.
const forge = require('node-forge');

const DEVICE_ID = '22551008840d8e8c669b';
const DEVICE_KEY = '20b01df3fb09ce6a';
const IP_ADDRESS = '<IP_ADDRESS>';

const net = require('net');
const _socket = net.Socket();
_socket.setKeepAlive(true);
_socket.setNoDelay(true);

const cipher = forge.cipher.createCipher('AES-ECB', DEVICE_KEY);

let sent = false;
const send = () => {
    if (sent) return;
    sent = true;

    console.log(Date.now(), 'Sending handshake...');

    cipher.start({iv: ''});
    cipher.update(forge.util.createBuffer(JSON.stringify({
        gwId: DEVICE_ID,
        devId: DEVICE_ID
    }), 'utf8'));
    cipher.finish();

    const msg = forge.util.encode64(cipher.output.data);
    const hash = forge.md.md5.create().update('data=' + msg + '||lpv=3.3||' + DEVICE_KEY).digest().toHex().toString().toLowerCase().substr(8, 16);

    const payload = Buffer.from('3.3' + hash + msg);

    const prefix = Buffer.from('000055aa000000000000000a', 'hex');
    const suffix = Buffer.from('000000000000aa55', 'hex');
    const len = Buffer.allocUnsafe(4);
    len.writeInt32BE(Buffer.concat([payload, suffix]).length, 0);
    return _socket.write(Buffer.concat([prefix, len, payload, suffix]));
};

_socket.on('connect', () => {
    console.log(Date.now(), 'Socket connected');
    setTimeout(send, 5000);
});

_socket.on('ready', () => {
    console.log(Date.now(), 'Socket ready');
    setTimeout(send, 1000);
});

_socket.on('data', msg => {
    console.log(Date.now(), '>>>>', msg.toString('hex'), '<<<<');
});

_socket.on('error', err => {
    sent = true;
    console.log(Date.now(), 'Socket error', err);
});

_socket.on('close', err => {
    sent = true;
    console.log(Date.now(), 'Socket closed:', err);
});

_socket.on('end', () => {
    sent = true;
    console.log(Date.now(), 'Socket ended');
});

console.log(Date.now(), 'Connecting ...');
_socket.connect(6668, IP_ADDRESS);

No luck:
pi@raspberrypi:~/Desktop/TestFIle $ node discover.js<PHONE_NUMBER>815 'Connecting ...'<PHONE_NUMBER>974 'Socket error' { Error: connect ECONNREFUSED <IP_ADDRESS>:6668     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1087:14)   errno: 'ECONNREFUSED',   code: 'ECONNREFUSED',   syscall: 'connect',   address: '<IP_ADDRESS>',   port: 6668 }<PHONE_NUMBER>026 'Socket closed:' true

No luck here either.
1554748817896 'Connecting ...'
1554748817938 'Socket connected'
1554748817946 'Socket ready'
1554748818951 'Sending handshake...'
1554748855166 'Socket error' { Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:111:27) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
1554748855185 'Socket closed:' true

@Nuarton, your connection refused message indicates that someone was already talking to the device. Make sure you kill the Tuya app and halt Homebridge while this test is running.
@gazzmanzx6 that is bad news. I will need to get my hands on one to figure out the communication; I couldn't find one locally but I will keep looking.

I am also having this issue. I hope you are able to figure it out 👍

I have the same issue. And i have seen the same issue exists in the other tuya plugin (https://www.npmjs.com/package/homebridge-tuya).
Good luck for finding out.
Thank you...

@gazzmanzx6 that is bad news. I will need to get my hands on one to figure out the communication; I couldn't find one locally but I will keep looking.

Alternatively we can do some digging for you if you tell us what to look for/provide us some code to test

@9SL9 Alternatively we can do some digging for you if you tell us what to look for/provide us some code to test

Agreed.

Any update on this? Just bought 4 plugs today and upgraded the firmware straight away...

#45

I can confirm that this is happening now with new products shipped from amazon.  I have 3 original ones (id started with 60077043) new ones (id starts with 00676338).  This looks to be a difference in firmware.  Utilizing OpenHab2. updated to latest versions of all npm modules.  is there a way to possibly downgrade firmware?

@AMoo-Miki any news on this? I'm really looking forward to this fix. Let me know if I can do anything to help, debugging, logging, ...

yea a fix for this would be amazing. Again, same if there's anything I can do to help, totally up for it.

I need to get my hands on some of these products that use the new API. If you bought them from Amazon US, please give me some ASINs so I can order them.

Please give the latest rc release a shot by doing npm i -g homebridge-tuya-lan@rc. It includes logic to understand this newer API.
A known issue is that the current state is not reported by some devices; they however work fine as soon as you interact with them. I have reached out to Tuya for a solution.
The Setup Instructions have changed in case you need to obtain a fresh id and key.

I've tried the latest rc version and it finds the sockets but they don't work.
They show in the Home app but do not switch.

@gazzmanzx6 It would help to have some log messages. Could you please share some? Specifically, I am looking for anything that happens after you press a button in the Home app and see Sending in the logs. I got my hands on SP10s for testing and I hope SP23 is not very different.

I see the following in the log when trying to switch on the socket:
HAPServer [CC:22:3D:E3:CE:30] HAP Request: PUT /characteristics +0ms   Accessory [RaspberryPi2] Processing characteristic set: [{"aid":24,"iid":10,"value":1}] +3ms   Accessory [RaspberryPi2] Setting Characteristic "On" to value 1 +1ms   EventedHTTPServer [::ffff:<IP_ADDRESS>] Sending HTTP event '24.10' with data: {"characteristics":[{"aid":24,"iid":10,"value":true}]} +4ms   EventedHTTPServer [::ffff:<IP_ADDRESS>] Muting event '24.10' notification for this connection since it originated here. +3ms   EventedHTTPServer [::ffff:<IP_ADDRESS>] HTTP Response is finished +1ms [TuyaAccessory] Socket had a problem and will reconnect to Fairy lights (Error: ERR_PING_TIMED_OUT). This is common for v3.3 devices. [TuyaAccessory] Socket had a problem and will reconnect to Socket 3 (Error: ERR_PING_TIMED_OUT). This is common for v3.3 devices.

@gazzmanzx6, Can you please update to the latest rc to get rid of ping timeouts.
I should have mentioned that I wanted to see the [TuyaAccessory] Sending ... messages and whatever happens after it; my bad! All of those Sending HTTP event are homebridge and HAP's own events which won't help us figure things out.
A better way to look at the logs would be tail -f -n 100 LOGFILE | grep Tuya, replacing the log file with the file where the logs are stored. If you are using RPi for your homebridge, sudo journalctl -f -n 200 -u homebridge | grep Tuya would be the way to go.

This is the result from the log file.
I tried switching 'Switch 3' but it didn't respond. The socket called 'Fairy lights' just showed as 'No Response'.
Sep 07 17:37:31 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Fairy lights (3.3) Sep 07 17:37:32 raspberrypi2 homebridge[20094]: [9/7/2019, 5:37:32 PM] [TuyaLan] Discovered Socket 3<PHONE_NUMBER>0d8e809929) identified as Outlet (3.3) Sep 07 17:37:32 raspberrypi2 homebridge[20094]: [9/7/2019, 5:37:32 PM] [TuyaLan] Connected to Socket 3 Sep 07 17:37:32 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Socket 3 (3.3) Sep 07 17:37:33 raspberrypi2 homebridge[20094]: [TuyaAccessory] Socket had a problem and will reconnect to Socket 3 (ECONNRESET) Sep 07 17:37:33 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Socket 3 (3.3) Sep 07 17:37:37 raspberrypi2 homebridge[20094]: [9/7/2019, 5:37:37 PM] [TuyaLan] Ready to handle Socket 3 (Outlet:3.3) with signature {"4":141,"6":2159} Sep 07 17:38:02 raspberrypi2 homebridge[20094]: [TuyaAccessory] Socket had a problem and will reconnect to Fairy lights (Error: ERR_PING_TIMED_OUT) Sep 07 17:38:04 raspberrypi2 homebridge[20094]: [TuyaAccessory] Socket had a problem and will reconnect to Socket 3 (Error: ERR_PING_TIMED_OUT) Sep 07 17:38:07 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Fairy lights (3.3) Sep 07 17:38:09 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Socket 3 (3.3) Sep 07 17:38:30 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending Socket 3 {"1":true} Sep 07 17:38:38 raspberrypi2 homebridge[20094]: [TuyaAccessory] Socket had a problem and will reconnect to Fairy lights (Error: ERR_PING_TIMED_OUT) Sep 07 17:38:40 raspberrypi2 homebridge[20094]: [TuyaAccessory] Socket had a problem and will reconnect to Socket 3 (Error: ERR_PING_TIMED_OUT) Sep 07 17:38:43 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Fairy lights (3.3) Sep 07 17:38:45 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Socket 3 (3.3) Sep 07 17:38:52 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending Socket 3 {"1":false} Sep 07 17:39:14 raspberrypi2 homebridge[20094]: [TuyaAccessory] Socket had a problem and will reconnect to Fairy lights (Error: ERR_PING_TIMED_OUT) Sep 07 17:39:16 raspberrypi2 homebridge[20094]: [TuyaAccessory] Socket had a problem and will reconnect to Socket 3 (Error: ERR_PING_TIMED_OUT) Sep 07 17:39:19 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Fairy lights (3.3) Sep 07 17:39:21 raspberrypi2 homebridge[20094]: [TuyaAccessory] Sending first query to Socket 3 (3.3)

Can you plz post the output of this command?
tuya-lan-find -v

Socket 3 is responding with a signature that doesn't seem right.
While monitoring the logs, manually switch the socket on and off with the button on the device itself. See if you see any messages in the log at exactly the same time.

tuya-lan-find -v gives: v1.5.0-rc.7
Switching the socket manually doesn't show and messages in the log.
I switched it multiple times during the period shown.
Sep 08 10:03:12 raspberrypi2 homebridge[15272]: [TuyaAccessory] Sending first query to Socket 3 (3.3) Sep 08 10:03:43 raspberrypi2 homebridge[15272]: [TuyaAccessory] Socket had a problem and will reconnect to Fairy lights (Error: ERR_PING_TIMED_OUT) Sep 08 10:03:43 raspberrypi2 homebridge[15272]: [TuyaAccessory] Socket had a problem and will reconnect to Socket 3 (Error: ERR_PING_TIMED_OUT) Sep 08 10:03:48 raspberrypi2 homebridge[15272]: [TuyaAccessory] Sending first query to Fairy lights (3.3) Sep 08 10:03:48 raspberrypi2 homebridge[15272]: [TuyaAccessory] Sending first query to Socket 3 (3.3) Sep 08 10:03:55 raspberrypi2 homebridge[15272]: [9/8/2019, 10:03:55 AM] [TuyaLan] Ready to handle Socket 3 (Outlet:3.3) with signature {"1":true,"2":0} Sep 08 10:04:19 raspberrypi2 homebridge[15272]: [TuyaAccessory] Socket had a problem and will reconnect to Fairy lights (Error: ERR_PING_TIMED_OUT) Sep 08 10:04:19 raspberrypi2 homebridge[15272]: [TuyaAccessory] Socket had a problem and will reconnect to Socket 3 (Error: ERR_PING_TIMED_OUT) Sep 08 10:04:24 raspberrypi2 homebridge[15272]: [TuyaAccessory] Sending first query to Fairy lights (3.3) Sep 08 10:04:24 raspberrypi2 homebridge[15272]: [TuyaAccessory] Sending first query to Socket 3 (3.3) Sep 08 10:04:55 raspberrypi2 homebridge[15272]: [TuyaAccessory] Socket had a problem and will reconnect to Fairy lights (Error: ERR_PING_TIMED_OUT) Sep 08 10:04:55 raspberrypi2 homebridge[15272]: [TuyaAccessory] Socket had a problem and will reconnect to Socket 3 (Error: ERR_PING_TIMED_OUT)

Socket 3 is now returning a signature which is right.
The latest rc fixes a bug with the "pinger"; please update with npm i -g homebridge-tuya-lan@rc.
After you update:

look for Ready to handle Socket 3 (Outlet:3.3) with signature {"1":true,"2":0}. That is a good sign.
try switching the device on or off manually and look for anything interesting in the logs.

Good news, it seems to work now.
Sep 09 20:02:36 raspberrypi2 homebridge[7275]: [TuyaAccessory] Heard back from Socket 3 with command 8 Sep 09 20:02:38 raspberrypi2 homebridge[7275]: [TuyaAccessory] Heard back from Socket 3 with command 8 Sep 09 20:02:43 raspberrypi2 homebridge[7275]: [TuyaAccessory] Heard back from Socket 3 with command 8 Sep 09 20:03:23 raspberrypi2 homebridge[7275]: [TuyaAccessory] Sending Socket 3 {"1":false} Sep 09 20:03:23 raspberrypi2 homebridge[7275]: [TuyaAccessory] Heard back from Socket 3 with command 8 Sep 09 20:03:26 raspberrypi2 homebridge[7275]: [TuyaAccessory] Sending Socket 3 {"1":true} Sep 09 20:03:26 raspberrypi2 homebridge[7275]: [TuyaAccessory] Heard back from Socket 3 with command 8
I do have a Mac or 3!

That is great news. Lemme know if you ever need anything more.
PS, we would have used the Mac to sniff the device if it hadn't worked; fortunately we need not.

@AMoo-Miki Thanks for all your work on this. It is much appreciated. 👍

Thank you. This worked for me! :)

I found this thread after buying some more Teckin smart plugs from Amazon UK and them not registering with Tuyalan on Homebridge. They ship with firmware 1.0.3. I upgraded to the  rc version using the command referenced above npm i -g homebridge-tuya-lan@rc and it works fine now :-)
Thanks

Ok, I spoke too soon above. I bought multiple new Teckin plug (Dec 19) from Amazon UK. One works fine, the other one does not. I've tried the rc version above. I get these errors (using Homebridge):
[TuyaAccessory] Slowing down retry attempts; if you see this happening often, it could mean some sort of incompatibility.
[TuyaAccessory] Socket had a problem and will reconnect to Lounge Mirror Light (Error: ERR_CONNECTION_TIMED_OUT)
Please let me know if you need any more logs/info. Thanks!


Add all data to development before merging into base

Is your feature request related to a problem? Please describe.
Development branch is running off of a small set of sample data right now.
Describe the solution you'd like
Need to add all data to the _data directory before merging into the base branch.

@p-galligan one thing about this - I think we want to consider whether it makes sense to version the data separately from the site and pull them in using a git submodule. As you can see, I've already gitignored the pages (which are in the items directory) in order to cut down on the number of files we're versioning here.
There are advantages and disadvantages either way, but it's worth thinking about.


How to uninstall on iOS ?

Hi, how to uninstall package, and exclude it from iOS Project. We have some problem when publishin to App Store, thanks 😊

Which kind of problem? You can anyway remove it from package.json and from pod if you are using it


Slight Grammar Correction

Might want to fix this line toward the top of the page:
Features for OLTP (Online Transactional Processing)
Systems which ("that") must processes ("process") large numbers of SQL INSERTs concurrently are excellent candidates for the OLTP features.
The nits have been picked.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 55c7055d-861f-fe71-bde6-63decf873bfe
Version Independent ID: 4dc3b379-862b-54d3-f04f-c29e95353527
Content: In-memory OLTP for faster T-SQL Performance - SQL Server
Content Source: docs/relational-databases/in-memory-oltp/survey-of-initial-areas-in-in-memory-oltp.md
Product: sql
Technology: in-memory-oltp
GitHub Login: @WilliamDAssafMSFT
Microsoft Alias: wiassaf

Nice catch @dwneder, thanks! A doc update is in flight.


Preference setting for using the "--skip-pkg-check" option of makecatalogs

It would be useful for us if we could skip checking of package existence when running makecatalogs. There is already an option for this in the binary:
  -s, --skip-pkg-check  Skip checking of pkg existence. Usefulwhen pkgs aren't
                        on the same serveras pkginfo, catalogs and manifests.

Could there be a preference checkbox that allows MunkiAdmin to use this setting?

Yes, will add this for the next release.


Upstream Metro type libraries

Description
The monorepo has a collection of @types libraries for Metro packages. These should be upstreamed to definitely typed.
Also, there are more types to be added. Take another look at flow2dts (and other similar projects) to assist with this.

Your environment

Affected package:
Version:
Tested platforms:

[ ] Android
[ ] iOS
[ ] macOS
[ ] Windows

System information:# Run `npx react-native info` and paste the output here

Steps to reproduce

PR: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/57006


Error Messages/Response Consistency

Successful commands return valid JSON:
bash-5.0# f5 bigip extension as3 install
{
    "message": "Extension component package 'as3' version '3.18.0' is already installed"
}

This is easy to deal with in a pipeline or when automating -- it can be piped, parsed, and verified.
Invalid commands lead to a stack trace:
bash-5.0# f5 bigip extension as3 install --version example_version
Traceback (most recent call last):
  File "/usr/local/bin/f5", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/f5cli/commands/cmd_bigip/__init__.py", line 69, in command_as3
    package_url)
  File "/usr/local/lib/python3.7/site-packages/f5cli/commands/cmd_bigip/extension_operations.py", line 105, in __init__
    self._extension_client = self._extension_client_attr(self._mgmt_client, **component_kwargs)
  File "/usr/local/lib/python3.7/site-packages/f5sdk/bigip/extension/extension_as3.py", line 49, in __init__
    use_latest_metadata=kwargs.pop('use_latest_metadata', False)
  File "/usr/local/lib/python3.7/site-packages/f5sdk/bigip/extension/extension_metadata.py", line 68, in __init__
    version or self.get_latest_version()
  File "/usr/local/lib/python3.7/site-packages/f5sdk/bigip/extension/extension_metadata.py", line 157, in _validate_component_version
    'Valid component version must be provided: %s' % (versions)
f5sdk.exceptions.InvalidComponentVersionError: Valid component version must be provided: ['3.18.0', '3.17.1', '3.17.0', '3.16.0', '3.15.1', '3.14.1', '3.15.0', '3.13.2', '3.14.0', '3.13.1', '3.13.0', '3.12.0', '3.11.0', '3.10.0', '3.9.0', '3.8.1', '3.8.0', '3.7.0', '3.5.1', '3.6.0', '3.5.0', '3.4.0', '3.3.0', '3.2.0', '3.1.0', '3.0.0']

The exception handler exists with very competent and useful error message -- but there isn't much that can done with the stack trace (hard to parse). The CLI should catch all exceptions and return them as valid JSON. Errors should still result in a non-zero exit code.
This would make the user experience more enjoyable even if being used interactively. User's of the CLI don't need the stack trace by default -- they are likely not going to doing PRs against this project.

Thanks for reaching out to us with this request. Internal issue AUTOSDK-281 has been created for this enhancement.

Closing. Work on this enhancement has been completed and will be included in release 0.9.3.


Review imported AfPO terms

While working with HANCESTRO, I noticed that the term "Tamil" is listed as a child term of "Eastern African."  (https://www.ebi.ac.uk/ols4/ontologies/hancestro/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FAfPO_0000171).  Tamil people are primarily from South Asia (https://en.wikipedia.org/wiki/Tamils#), and I think the term should be reclassified.

Thank you for your feedback @EMRutherford. I have passed it on to my AfPO colleagues with the suggestion that their term be renamed to Tamil Mauritian. If they accept the suggestion, we will create a separate term for Tamil in HANCESTRO and classify it as per your suggestion, then create an overlap link between the HANCESTRO and AfPO terms.


UX Fixes on dissolution dashboard

Issue #: /bcgov/entity#12629
Description of changes:

fix date picker - first date available to pick is one day after the business founding date
display text "Same as Mailing address" if Mailing address and Delivery address match in "Business Addresses" section
fix dissolution date header - make the label turn red upon error validation

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

I do have time to review this until Monday or Tuesday.

You have some unit tests errors. (You should run the unit tests locally before you ask for a PR review.)
It looks to me like the business founding date is not initialized, so apiToDate returns null, which causes the exception.


The Controlling Conversation Flow sample - questions

Here are a few questions Steve (@WashingtonKayaker) and I have about the ControllingConversationFlowSample.
1. The Dialog actions.
In this sample, three dialog actions are covered: Cancel all dialogs, Repeat this dialog, and End dialog turn. There are six dialog actions under the Dialog management action menu.

2. The Begin a new dialog Properties pane
This is not sample-specific, it is a general question.

How to use the Key and Value fields in Options?
How to use the Property field?
What does Include Activity do? what impact it will have when checked and unchecked?

Thanks!
Yan

I've already resolved this with Yan offline.


Add new RSpec/UndescriptiveLiteralsDescription cop

Fix: https://github.com/rubocop/rubocop-rspec/issues/1754

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Updated documentation.
[x] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

If you have created a new cop:

[x] Added the new cop to config/default.yml.
[x] The cop is configured as Enabled: pending in config/default.yml.
[x]  The cop is configured as Enabled: true in .rubocop.yml.
[x] The cop documents examples of good and bad code.
[x] The tests assert both that bad code is reported and that good code is not reported.
[x] Set VersionAdded: "<<next>>" in default/config.yml.

we only allowed str and dstr nodes instead?

For example, description specifies the class to be tested, so I don't think it is just string and dstr. Regex and Integer have added support and renamed Cop.

I changed this cop name from UnclearDescription to UndescriptiveLiteralsDescription.

Looks fine:
Offenses:

/ydah/real-world-rspec/gitlabhq/spec/services/merge_requests/base_service_spec.rb:83:12: C: RSpec/UndescriptiveLiteralsDescription: Description should be descriptive.
  describe `#create_pipeline_for` do
           ^^^^^^^^^^^^^^^^^^^^^^

22772 files inspected, 1 offense detected

@pirj Do you have any concerns?

@ydah The code looks good.
As usual, I’d prefer to run new cops against real-world-rspec, as a preventive measure to user-reported errors. But if you lack capacity to do so, too, I’m fine with releasing this.
My main concern with user-reported errors is that the first thing they suggest is to mark cops as unsafe.
Thanks a lot for the cop, it looks great!


engine.cfg is missing

Could you tell me how to open the project on godot?
Do you open it with cmd?

Oh.. or could you tell me what version of godot do you use?

ah, it seems like you using v3.0 alpha

Thanks man, I'm glad you liked it ^^
That is right, it's v3