Unexpected close of select with multiple

Hi,
i have a similar issue as described in #136.
ISSUE: The multi-select dropdown closes after toggling any of the dropdown-options.
Using angular2-materialize 15.1.9 together with materialize-css 0.100.1, angular 4.3.5
<div class="col s2 input-field">
    <select [(ngModel)]="selectedTypes" (ngModelChange)="filterOnChange()" materialize="material_select" multiple>
        <option value="" disabled>Select Type</option>
        <option *ngFor="let option of selectOptions" [value]="option.value">{{option.name}}</option>
    </select>
  </div>

I found that the method call of "performLocalElementUpdates()" in ngOnChanges causes the closing:
public ngOnChanges(_unused?) {
        if (this.isSelect()) {
            setTimeout(() => this.performLocalElementUpdates(), 10);
        }
    }

Do we need to add an additional check for the attr("multiple") here, similar to the fix made for #136 in ngDoCheck ?

nice find.  sorry to disappoint by not answering but I too am interested.  I will add though, I used to have a chrome plugin called page x-ray.  It would tell you what platforms or implementations a site was using (if it was made it wordpress it would tell you).  It caused all sorts of errors that didn't visibly affect any page really mine or elsewhere on the web # BUT what it did do was give me an error... I forgot what it said... every time I selected a multiple select option just like you have implemented above # YET did let the multiple select function as it is supposed to.  You'd get an error every time you selected an option, but it would stay open and it completely worked...  So without page x-ray, mine works, I just have to open it back up every select.
With page x-ray, it works, you don't have to open it back up every time, but you're left with ugly, unsettling error messages!

@Fichti1982 I think the result of removing it would be losing support for two way binding. Maybe you can give it a try, and if you get it work, submit a PR?

@rubyboy Thanks for your feedback. You're right - 2 way binding does no longer work with the modifications i suggested above. Finally i could find some time to give it another try. I got it to work for me with following adaptions:
public ngOnChanges(_unused?) {
        if (this.isSelect()) {
            const nativeElement = this._el.nativeElement;
            const jQueryElement = $(nativeElement);

            // run performLocalElementUpdates() only if dropdown closed
            // otherwise the dropdown closes unexpected
            if (!jQueryElement.attr("multiple") || jQueryElement.parent().find("input.active").length === 0) {
                setTimeout(() => this.performLocalElementUpdates(), 10);
            }
        }
    }

What i do here is skipping the "performLocalElementUpdates()" as long as the dropdown is opened.
Clicking on one of the select options does no longer close the dropdown.
Model-changes are reflected in the UI as long as the dropdown is closed.
What do you think?

This does not work, I would like to see the clearest code and know where the function come from performLocalElementUpdates () and thisisSelect () this is from the multiselect element or are they custom functions of your code?


Crash when pressing  with nothing to auto-complete

Steps to reproduce:

Start dotnet-repl
Press Tab key

Version: Latest (0.1.11)
Example:
PS C:\Users\me> dotnet repl
                      _   _   _____   _____     ____    _____   ____    _              ____     _  _
                     | \ | | | ____| |_   _|   |  _ \  | ____| |  _ \  | |      _     / ___|  _| || |_
                     |  \| | |  _|     | |     | |_) | |  _|   | |_) | | |     (_)   | |     |_  ..  _|
                  _  | |\  | | |___    | |     |  _ <  | |___  |  __/  | |___   _    | |___  |_      _|
                 (_) |_| \_| |_____|   |_|     |_| \_\ |_____| |_|     |_____| (_)    \____|   |_||_|

                                          .NET Interactive 💓 Spectre.Console

C# > Unhandled exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at dotnet_repl.LineEditorCommands.CompletionCommand.GetSuffixPosition(LineEditorContext context) in C:\dev\dotnet-repl\src\dotnet-repl\LineEditorCommands\CompletionCommand.cs:line 107
   at dotnet_repl.LineEditorCommands.CompletionCommand.Execute(LineEditorContext context) in C:\dev\dotnet-repl\src\dotnet-repl\LineEditorCommands\CompletionCommand.cs:line 31
   at RadLine.LineEditor.ReadLine(LineEditorState state, CancellationToken cancellationToken) in /_/src/RadLine/LineEditor.cs:line 174
   at RadLine.LineEditor.ReadLine(CancellationToken cancellationToken) in /_/src/RadLine/LineEditor.cs:line 63
   at dotnet_repl.Repl.RunAsync(NotebookDocument notebook, Boolean exitAfterRun) in C:\dev\dotnet-repl\src\dotnet-repl\Repl.cs:line 114
   at dotnet_repl.CommandLineParser.StartRepl(StartupOptions options, CancellationToken cancellationToken, IAnsiConsole ansiConsole) in C:\dev\dotnet-repl\src\dotnet-repl\CommandLineParser.cs:line 106
   at System.CommandLine.Invocation.CommandHandler.GetExitCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass23_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass27_0.<<UseVersionOption>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass25_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__24_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<<UseDebugDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseExceptionHandler>b__0>d.MoveNext()
PS C:\Users\me>

I have the same issue.


Notebooks failure notification in slack

Create an SNS topic as part of the CICD and in the notebook code check if that SNS topic exists and if so , send a message that contains the notebooks that failed from the regression notebooks (3 , creator, admin , user)


[Feature request] Provide a way to set default settings for all acounts

First of all, thanks so much for this great tool!
Let me explain the rationale behind my feature request a bit: I would like to set the same aliases, permissions, etc. for some of my accounts, without having to duplicate the same settings for every one of those accounts in my config. More generally, it'd be good if settings could be inherited in a way, so that I could have a whole bunch of accounts for $HOST_A with shared $SETTINGS_A, and some more accounts for $HOST_B, $HOST_C with a different set of shared settings.

First of all, thanks so much for this great tool!

Thanks, I really appreciate :pray:

I would like to set the same aliases, permissions, etc. for some of my accounts, without having to duplicate the same settings for every one of those accounts in my config.

I know that mbsync and OfflineIMAP do propose such feature. You need to declare and configure sources, then you need to connect sources together. But I find this API so overwhelming. Most of people (including me) just need to sync accounts once. Hence the choice behind left and right.
That said I am not against such feature, as long as it does not interfere with the actual API that I find more straightforward, intuitive and simple.
The main issue I see is the amount of work needed to achieve the goal. I mean, a clean solution where deserialization works well and give decent error messages. It would be faster, I think, to use a template engine in order to build your Neverest config file. A good candidate could be mustache [1] [2].

Thanks, complexity is indeed a good point! Once a basic solution has been implemented, the next guy might come around the corner with a more complicated use case, which requires introducing even more logic and more abstraction, and likely variables, and one day you wake up and your config language is Turing-complete. 😅 It really is a slippery slope and I understand if you don't want to go down that path. :) So I'll settle with templating for now. Thanks that you took the time to consider my request!

If you find a "satisfying-enough" solution, please consider adding it to the FAQ so people with similar needs can use your solution!


Dependabot abandoning PRs from same build service user even when unrelated to dependabot updates

Describe the bug
We use the same user account to make PRs between the dependabot pipeline and another automated pipeline. Dependabot will treat the PRs generated by the other pipeline as unnecessary and abandon them. Fortunately it doesn't seem to abandon PRs by other users. We do have abandonUnwantedPullRequests: true and when it works it is awesome. It seems that maybe the PR abandon scope is tied to user account.
Seems possibly related to #471 but we don't use monorepo. We only have 1 update section.
Categorization

[x] This is not a permissions issue (Seek help at https://github.com/tinglesoftware/dependabot-azure-devops/discussions/1245)

To Reproduce
Steps to reproduce the behavior:

Create a pipeline that also creates PRs using the same user account that dependabot uses to create PRs.
Run the first pipeline, then run dependabot. Will see that dependabot abandons the PRs from the first run.

Expected behavior
Dependabot shouldn't abandon unrelated PRs.
Logs and screenshots
The PR destination branch already has spring-cloud-azure-dependencies at 5.16.0 so then it abandons the PR even though it doesn't change that dependency. Although this PR does have changes to the build.gradle.
Update for com.azure.spring:spring-cloud-azure-dependencies 5.16.0 is no longer required.
Abandoning PR #62695 (Report code coverage using Jacoco plugin) as it is no longer needed.

Extension (please complete the following information):

Host: Azure devops
Version 3.81

@eli-gc can you share your pipeline configuration?
If you are using dependabot@1, this is a known issue; You might be able to work around it by adding useUpdateScriptvNext: true to the task inputs.

Ah ok, yes I am using v1. Haven't had a chance to convert this one to v2. Is there an issue already for it? Sorry if I missed it. I'll try the useUpdateScriptvNext, but I should probably just migrate to v2.

I don't believe there is an issue logged for it, but this is an issue I've also encountered back when I was using V1.
I'm currently busy with getting V2 fully functional and have mostly given up patching bugs out of V1 sorry. If you are interested in trying to fix this yourself, the relevant code is here:
https://github.com/tinglesoftware/dependabot-azure-devops/blob/0e5bed9fe8f768aae05b380423702c938bda642c/updater/bin/update_script.rb#L937C1-L969C10
To fix, it would probably need some kind of condition in there to exclude PRs that don't look like Dependabot PR, e.g.
if (title does not match the typical dependabot "Bump XXX" format)
   keep = true # assume this PR is unrelated to dependabot, created by a different service
end


Whisper on s3?

Hi! Currently we're thinking on migrating our current implementation using whisper to a serverless infrastructure.
I am wondering if we would be able to use whisper using the amazon s3 for instance, in order to do so, we would need to pass a file descriptor instead of the file path.
Do you think it will be possible to do that?
Thanks

The libary exposes most whisper functionality as paired functions that accept a path and a file handle.  See update() and file_update() for example.


Support local engine and asset sync for macOS

Description
Move the framework copy step and corresponding local engine configuration into the macos_backend script. This supports local engine development as well.
Corresponding FDE change: https://github.com/google/flutter-desktop-embedding/pull/353
Related Issues
https://github.com/flutter/flutter/issues/31367

I'm all in favor of more code in dart, but I think it would be safer to keep un-forking the two backend scripts as a first goal, and then move to dart from that. Otherwise we're going to be tracking moving targets


Adding new cmake implementation feature flag LEGACY_BUILD

*Issue #1888 *
Description of changes:
Adding feature flag LEGACY_BUILD to cmake to start merging new cmake build scripts behind it. The flag is ON by default needs to be turned off to be used.
Behind feature flag added the project setup and version detection only so far. Left comments on the structure of whats coming in following PRs.
Check all that applies:

[x] Did a review by yourself.
[ ] Added proper tests to cover this PR. (If tests are not applicable, explain.)
[x] Checked if this PR is a breaking (APIs have been changed) change.
[x] Checked if this PR will not introduce cross-platform inconsistent behavior.
[x] Checked if this PR would require a ReadMe/Wiki update.

Check which platforms you have built SDK on to verify the correctness of this PR.

[x] Linux
[x] Windows
[ ] Android
[x] MacOS
[ ] IOS
[ ] Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Pushed to rebase conflict resolution.


[Concurrency][WORK IN PROGRESS] Task Groups implementation

Still work in progress but the main pieces are in place -- just more cleanup, more tests, and more polish remaining.
There's still some wrong cases in here I believe, but slowly getting there.
TODO:

[x] learn how CHECK-DAG actually works because I'm clearly doing something wrong there 😉
[x] the group task should also be a future, and we can reuse the future wait queue I think, and the resultType
[x] various cleanups around the wait functions; today it's adding a branch into the taskFutureWait but it really feels like it should rather do it's own taskChannelPoll which I started on but got unsure how much "magic" is needed to make it work, as the taskFutureWait has some builtins etc, so I wasn't sure
[ ] cleanup of all the Status enums in the GroupFragment, not all are actually used
[x] error paths have not actually been properly tested yet
[x] tests, tests, tests, and fixups
[ ] Group destroy is not implemented
[x] sanity check the offset calculations are actually right in the GroupFragment
[x] remove all the println debugging and includes these caused
[x] cleanups

rdar://70141994

@swift-ci please smoke test

Replaced by https://github.com/apple/swift/pull/34999


⚠ Bofrost.de has degraded performance

In b2bbd98, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 922 ms

Resolved: Bofrost.de performance has improved in bf4eb65 after 6 minutes.


Comment out tests for deprecated communicators

Some communicators will be deperecated in the next release.
One of the communicators, TwoDimensionalCommunicator, has a bug and fixed in #7509 .
However, the bug is not fixed in the master becasue they will be simply removed.
The bug does not matter eventually, but for now hinders integration tests for other PRs.
In this PR, tests for the deperecated communicators are commented out, so other PRs can pass tests.

pfnci, test this please

Jenkins CI test (for commit 07244197b60e4788df21c413ba0a6bd715ece5bc, target branch master) failed with status FAILURE.

After offline discussion, I will re-create this PR with a new PR that completely remove deprecated communicators.


what version has java 7 support

I am on a java 7 project and would like to know if there is a version that supports java 7

Hi @donhill, the  hoverfly-java project only supports JAVA 8, but we will look into building a multi-release jars in the future using this Java 9 features: https://blog.jetbrains.com/idea/2017/10/creating-multi-release-jar-files-in-intellij-idea/

@donhill you're welcome to create an issue for Java 7 support in https://github.com/spectolabs/hoverfly-java project
Closing this now.


[SPARK-41939][CONNECT][PYTHON] Add the unsupported list for catalog functions

What changes were proposed in this pull request?
Add the unsupported list for catalog functions
Why are the changes needed?
to explictly tell users they are not implemented
Does this PR introduce any user-facing change?
yes, NotImplementedError
How was this patch tested?
added UT

Merged to master.


Adding option to input own password ?

SteCoSteg could be used in combo with your other script EPMG, so that instead of writing somewhere the generated key, one could make something with EPMG and can retrieve the password of the image from anywhere, while still being secure. It adds portability and efficiency

well, you can always recover the key with the original image, unfortunately, I don't see how EPMG may come in handy since the image key is independent and inpredictable, I mean you can always encrypt the generated key with another one for more security (like AES), but if you can use encryption freely, you won't need steganography :) however, you can indeed use pseudo-randomly generated values as pixels in image, but such solution would probably lack security, which is the whole point of the project in the first place

image recovery isn't a feature, but rather a bug :) it was not designed on purpose, it's just the way that the algorithme works, it can be used to retrieve the data without the key, which is more flexible for long keys, but at the same time weakens you in a case of investigation, but I offer the choice, of keeping the backup, or not


v2 Client SDK changes

MobileServiceClient constructors have been updated to accept gateway URI as param
ApplicationUri has been split into MobileAppUri and GatewayUri
Fixed UTs
Added few UTs

Hi @shrishrirang, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;


Remove unused plugin-specific PDB config code

There was a time when the ASE ArkServerApi provided offsets from the PDB for only specific structures. ArkServerApi allowed plugins to provide a config file specifying additional structures they needed offsets for. ArkServerApi was modified to cache offsets for all structures, but some code related to plugin-specific PDB configs remained in the codebase unused. This change removes that unused code.
Note: I'm not sure what the plan is for the ReplaceString() function and Helpers.cpp. The function is now defined in Helpers.h and the only thing remaining in Helpers.cpp (as of this PR) is the old function definition commented out. I can remove Helpers.cpp altogether if the dev team wants.

Yeah, if we are getting rid of those I think Helpers.cpp doesn't serve any purpose.

Looks good.


enhancement of messageStore and messages to support voicemail

Coverage decreased (-0.1%) to 40.296% when pulling ba832b318cc773b2b300fabaa169a5355cb22c4c on embbnux:feature/voicemail into 9c840189a68a60fac2fdff7a13067cdd5a99e01d on ringcentral:master.

Coverage decreased (-0.1%) to 40.296% when pulling ba832b318cc773b2b300fabaa169a5355cb22c4c on embbnux:feature/voicemail into 9c840189a68a60fac2fdff7a13067cdd5a99e01d on ringcentral:master.


Why is MSRV 1.79?

Hello! Nice work with the crate, really like it!
I have a question regarding the minimum supported rust version, which is at the moment of this writing set to 1.79. I tried building the crate on my machine using version 1.75 and it builds without any problems, tests run as well.
What is the reasoning behind setting the minimum supported Rust version to 1.79?

I just noticed that tests do not pass with Rust 1.75, std::num::NonZero is missing. So I assume that's the reason?

Ah yeah when I saw your issue initially I was trying to remember whats the reason, but as you've pointed out, its because of the NonZero types. I believe if you compile with the remote feature flag, you'll encounter errors since its used within the actor swarm registration error

Ok, so using it without the remote feature should work then with older rust versions as well? Would it be too much of a burden to document (and guarantee, maintain, etc.) the minimum supported version when not using remote? I would totally understand if it's too much work though 😄.

Absolutely, its a great suggestion! I added the MSRV before remote was behind a feature flag, but now that it is I can definitely improve documentation around this.
Does Rust let you use kameo on older versions even though the Cargo.toml file has rust-version = "1.79"? Would I need to remove that config from the Cargo toml?

Awesome, thank you!
No, it won't build with older versions if rust-version = "1.79" is present. Now that you mention it, it might be worth suggesting to cargo team such feature. Similar how we can have optional dependencies linked to features 🤔.

@tqwewe I opened an issue for Cargo: https://github.com/rust-lang/cargo/issues/14770. While waiting for the response, I assume even if this feature is enabled, it won't be available in older cargo versions, making it irrelevant for this issue.
Have you thought about any alternatives? Maybe use rust_version crate to check if rust version is at least 1.79, otherwise emit a compile_error? 🤔

Hi sorry for the late reply. Thanks for taking the time to open the issue on cargo GH
I haven't heard of rust_version crate but this could definitely work.
I also am open to the idea of kameo_remote. Is there a particular reason upgrading Rust version isn't possible in your case?

I also am open to the idea of kameo_remote. Is there a particular reason upgrading Rust version isn't possible in your case?

That would be nice! As for the reason, we're currently developing software for embedded devices and we use Yocto for this purpose. Unfortunately, upgrading Rust in such environments is not always easy and straightforward. We are working on it, so maybe we will succeed and this won't be necessary, but for now we can't use the crate because it doesn't build with lower rust versions.

Sorry for the delay, this should be resolved in 0.13 of kameo


feat(plugin-search): add built-in locale data

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

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 59.618%

Totals

Change from base Build<PHONE_NUMBER>0:
0.0%

Covered Lines:
1332

Relevant Lines:
2021

💛  - Coveralls


Incompatible method declarations in proxy classes

1). Methods with variadic arguments like public function hasRole(...$roles) are generated as public function hasRole($roles)
2). Arguments with default values like public function fill($attributes = []) are generated as public function fill($attributes)

Thanks, fixed now


skip revision table creation if already exists

In case the revision table name is modified, it prevents a Doctrine\DBAL\Schema\SchemaException:

The table with name 'database.customized_revision' already exists.

Thanks for the PR, but under what circumstances do you modify revision table?

For naming consistency in my db schema:
config.yml:
simple_things_entity_audit:
    ...
    revision_table_name: customized_revision

So, if you use custom revision table name, you have an error saying that this table can not be created?

That's it. A Doctrine\DBAL\Schema\SchemaException:

The table with name 'database.customized_revision' already exists.

@devilcius If this is still relevant, please feel free to open a new clean PR


fix: don't open external links to another tab by default

This caused a problem for links that were not from the subdomain,
but still part of embarklabs.io, because it opened a new tab

My only thought is that it might be nice if, somehow, we could retain the behavior for truly external links.
There is an external_link.exclude setting, not sure if it would do the trick.
See: https://hexo.io/docs/configuration.html#Writing

I can try using that exclude. The reason I didn't use it is because not having control on whether links open externally or not is annoying for a dev (like myself). I had to dig around to understand why the hell the links opened externally even though the code didn't put target="_blank".
So IMO, if we do find links that should open externally, might as well add the target ourselves so we keep control. That's what's already being done for the twitter and github links

So IMO, if we do find links that should open externally, might as well add the target ourselves so we keep control. That's what's already being done for the twitter and github links

Makes sense!  Thanks for the additional explanation.


【Install Istio with an External Control Plane】Test External Control Plane Error creating: Internal error occurred: failed calling webhook "namespace.sidecar-injector.istio.io"  context deadline exceeded

According to https://istio.io/latest/docs/setup/install/external-controlplane/，after performing all steps, the pods of the the sample namespace deployed in remote cluster  not ready.
chentanjun@xxx
kubectl --context="${CTX_REMOTE_CLUSTER}" -n sample get pod
No resources found in sample namespace.

chentanjun@xxx
kubectl --context="${CTX_REMOTE_CLUSTER}" -n sample get rs
NAME                       DESIRED   CURRENT   READY   AGE
helloworld-v1-776f57d5f6   1         0         0       11m
sleep-557747455f           1         0         0       11m

chentanjun@xxx
kubectl --context="${CTX_REMOTE_CLUSTER}" -n sample describe rs helloworld-v1-776f57d5f6
 Warning  FailedCreate  6m59s (x15 over 11m)  replicaset-controller  Error creating: Internal error occurred: failed calling webhook "namespace.sidecar-injector.istio.io": Post "https://<IP_ADDRESS>:15017/inject/:ENV:cluster=daily-test02:ENV:net=network1?timeout=10s": context deadline exceeded
  Warning  FailedCreate  4m5s (x2 over 9m32s)  replicaset-controller  Error creating: Internal error occurred: failed calling webhook "namespace.sidecar-injector.istio.io": Post "https://<IP_ADDRESS>:15017/inject/:ENV:cluster=daily-test02:ENV:net=network1?timeout=10s": dial tcp <IP_ADDRESS>:15017: i/o timeout

In this blog, I have some question about it:
$ export EXTERNAL_ISTIOD_ADDR=<your external istiod host>
$ export SSL_SECRET_NAME=<your external istiod secret>

For EXTERNAL_ISTIOD_ADDR, What is this EXTERNAL_ISTIOD_ADDR? Have a more detailed explanation or case(demo)?
For SSL_SECRET_NAME, Is there any demo or case for it?
The relation of cacerts for istiod and SSL_SECRET_NAME Secret.
for external-istiod.yaml , Why INJECTION_WEBHOOK_CONFIG_NAME and VALIDATION_WEBHOOK_CONFIG_NAME is  empty?

help for env:
version: k8s 1.20.8
istio 1.13.2

These instructions are expecting that you are exposing the external cluster gateway using a hostname with properly signed DNS certs. So, you would set the env variables something like this:
export EXTERNAL_ISTIOD_ADDR="myhost.example.com"
export SSL_SECRET_NAME="myhost-example-credential"

You can see in step 5 of this section how the env vars are used to configure the gateway. (FYI: you can read more about how to configure a secure gateway here: https://istio.io/latest/docs/tasks/traffic-management/ingress/secure-ingress/#configure-a-tls-ingress-gateway-for-a-single-host)
INJECTION_WEBHOOK_CONFIG_NAME and VALIDATION_WEBHOOK_CONFIG_NAME are empty to disable istiod webhook patching because we're managing the webhook in the remote cluster ourselves.

@frankbu  BTW, Can we provide access to the ingress-gateway under istio-system namespace without using the DNS domain? such as IP address for ingress-gateway and change gateway config to PASSTHROUGH.
Another question is why does proxyMetadata need to be changed in external-istiod iop?

@frankbu  BTW, Can we provide access to the ingress-gateway under istio-system namespace without using the DNS domain? such as IP address for ingress-gateway and change gateway config to PASSTHROUGH.
Another question is why does proxyMetadata need to be changed in external-istiod iop?

I am kinda getting a similar error with an External control plane setup. When I try to deploy the sample application on the remote cluster, I get the following error (Openshift 4.10 setup):
Error creating: Internal error occurred: failed calling webhook "namespace.sidecar-injector.istio.io": failed to call webhook: Post "https://external-FQDN:15017/inject/:ENV:cluster=remote-cluster1:ENV:net=network1?timeout=10s": EOF
I've set the configuration following the secrets and creating an external route on Openshift with these values.
$ export EXTERNAL_ISTIOD_ADDR=
$ export SSL_SECRET_NAME=
Checked mutatingwebhookconfiguration and the cert on the istio-system and external-istiod - md5sums match
Any chance you can give me a hint at what could I check as the EOF error doesn't provide much detail? Thanks

@whirlwinder Do you know if the request is getting through to istiod or if the connection itself is failing? Are there any messages in the ingress gateway or external istiod logs?
Btw. take a look at the recently updated external control plane doc here: https://preliminary.istio.io/latest/docs/setup/install/external-controlplane/. It includes a more detailed instructions, including how to more easily set up an external control plane deployment for experimenting/testing.

Thanks for the heads-up. @frankbu It was really a connectivity issue as our network was misconfigured - i.e. wrong ports. The guide is really helpful and works like a charm.
If I may ask for more information regarding the self-signed certificates and the external control plane setup because I was unable to find information regarding it. Our organization has a CA which is self-signed and the root and intermediate certs used are not signed by any of the global trusted CAs - such as Verisign, Sectigo, Godaddy, etc. What is the
correct approach in this scenario - does this approach apply in this case:
https://istio.io/latest/docs/tasks/security/cert-management/plugin-ca-cert/
Meaning we have to add the CAs keys to istio as cacerts cacerts - private, public, chain. And also if our intermediate CA is self-signed would the Istiod accept it in order to later sign the certs that will be generated by it -  I think that in order to be an intermediate CA you'd need to match some very strict requirements and not sure how the istio treats such CAs.


Support ares-generate on node v14.15.1

:Release Notes:
Support ares-generate on node v14.15.1
:Detailed Notes:
As upgrade node version to v14.15.1, sometimes timing issue occurs
on ares-generate. Accordingly update and fix lib/generator.js.
:Testing Performed:

Before CLI test, change settings

Upgrade node version to v14.15.1
Remove node_modules
Re-install npm as 'npm install'

Check below commands and test each command at least 3 times
2-1. generate hosted_webapp

ares-generate.js -t hosted_webapp webapp -p "url=www.google.com"
cat webapp/index.html
check "www.google.com" exist in source code
2-2. generate qmlapp
ares-generate.js -t qmlapp qmlapp -p "id=com.test.app"
cat qmlapp/main.qml
check appId: "com.test.app" exist in source code

Pass unit test on ose and auto
Pass eslint

:Issues Addressed:
[PLAT-129646] Support ares-generate on node v14.15.1

code :+1:
verify :+1:


doc fixes

documentation

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: noam-codefresh:x: itai-codefreshYou have signed the CLA already but the status is still pending? Let us recheck it.


daysOfWeekDisabled changes initial value to following week.

$('#monitor_date').datetimepicker({
        format: "YYYY-MM-DD",
        daysOfWeekDisabled: [
          0,1,2,3,4,6
        ]
    });

Value: 2017-03-24
Changes to: 2017-03-31
https://jsfiddle.net/4kxf0hta/1/

Hi,
Set useCurrent: false and with that you will solve the problem


Project Ideas dropdown section added

Description
I have added a project ideas section in the more section of the navbar, where a link to a website is provided listing various project ideas.
Issue #220
List any dependencies that are required for this change
None
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
I have verified the link attached. It is working perfectly.
UI /UX changes
Attach gif or screenshot for changes.

Before :

- After :

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[] I have commented my code, particularly in hard-to-understand areas
[] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@harikesh409 Kindly review the PR.
Thank you.

@harikesh409 kindly review my PR.
Thank you

@harikesh409 I have made the changes. Kindly review it.
Thank you.

@harikesh409 I have changed the link from the navbar to the footer section

@harikesh409 I have changed the link from the navbar to the footer section

Push your commits. @gayatri517

@harikesh409 I have done the changes. Kindly review now.
Thanks


If you NEED any star, you can ASK me nicely to give, but thou shalt not steal!

DO NOT STEAL ME ACCOUNT TO STAR YOUR PROJECT! IT'S A CRIME.

@CodeCMD  What?


Issue#355: Support for storing std::int64_t directly into Bigtable value

Please cleanup the build breakage and use git rebase instead of git merge to cleanup your branch.  I cannot review it with a mix of your code and #398 and #405 thrown in.

Also note the build breakage, such as:
https://travis-ci.org/GoogleCloudPlatform/google-cloud-cpp/jobs/363821599
and:
https://travis-ci.org/GoogleCloudPlatform/google-cloud-cpp/jobs/363821597

One of the build is failed. I will install the docker image for that build and will test it locally.

PTAL

PTAL

For the record, I know @hemant-qlogic has signed the CLA, and the flag was reset because an intermediate commit (since then deleted) has multiple folks in it, all of whom had signed the CLA anyway.


Peak allocation issue when XML file has 207.825 (CaSiFeO4) and 208Pb peaks

SQ3 assigns the 207.825 peak in the attached file to 208Pb. Is there an easy way to prevent this?
attached is the data file containing both 207.825 (CaSiFeO4) and 208Pb peaks
AKK_G19E35_23011811.53.xml.zip

Problem solved. I edited the task separately, saved it as a new task, and then loaded the data as a new project, followed by the new task and everything worked. Trying to edit the task after loading data without closing the project was the issue.


Support a richer model for dependencies

We now support a potential richer model for when we need to include classifiers, exclusions or optionallity
"dependencies":  [
  "org.http4s::http4s-client:0.23.1",
  {
    "module": "org.http4s::http4s-ember-client:0.23.1",
    "excludes": ["org.http4s::http4s"],
    "optional": false,
    "classifier": "sources"
  }
]

Nice! Does this support provided scope as well? Or do you know how that works?

Scopes are configurations, so that is easy to add.


Add support for apps folder structure

Now we can have a worker project structure similar to this:
apps/
  app1/
    ebin/
    src/
  app2/
    ebin/
    src/
rebar
rebar.config
Makefile
sys.config

... and being able to run mzbench run or mzbench run_local without complaining that the worker module is not being found.

Nice job! We will investigate why our travis config doesn't work with PRs before we review your changes.
Thanks,

Yeah, I kept retrying the build, but still failing (the tests are passing on my local env, tho).

One more detail, our legal would to contact you on contribution agreement.

Sure, that's all right.

It seems that now all the tests have passed.

We are still waiting confirmation from our legal that you signed contribution agreement. Sorry for this delay.

Oh, but no one contacted me yet...

sorry for that, I'll ask them again

 You should sign our Contributor License Agreement in order to get your pull request merged.

We’ve greatly improved this process and have automated it, thanks for your patience. Please signup CLA with button above/below (not sure where exactly would it be after I post this comment)

Thanks a lot for your contribution and patience!


[#29760] Only respond to sampling request while data sampling is enabled

Cherry pick of #29761 to the 2.53.0 release branch.
Fixes #29760

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @jrmccluskey

cc: @zechenj18


[FLINK-8558] [table] Add unified format interfaces and separate formats from connectors

What is the purpose of the change
This PR introduces a format discovery mechanism based on Java Service Providers. The general TableFormatFactory is similar to the existing table source discovery mechanism. However, it allows for arbitrary format interfaces that might be introduced in the future. At the moment, a connector can request configured instances of DeserializationSchema and SerializationSchema. In the future we can add interfaces such as a Writer or KeyedSerializationSchema without breaking backwards compatibility.
This PR deprecates the existing strong coupling of connector and format for the Kafa table sources and table source factories. It introduces descriptor-based alternatives.
Brief change log

Introduction of TableFormatService with TableFormatFactory and specific DeserializationSchemaFactory and SerializationSchemaFactory
Decoupling of existing connectors (i.e. Kafka) from formats (i.e. JSON and Avro)
Exposing the descriptor-based approach, deprecate the old builders and make table source internal

Verifying this change

Existing tests for coupled sources and factories are still working
New tests for format discovery, formats, and decoupled table sources

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): yes
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? more docs for the descriptors will follow in a separate PR

Thanks for the in-depth review @pnowojski. I hope I could address most of your comments. Since this PR heavily overlaps with #6201 and that PR needs a review and some additional work as well. I will close this PR for now and open a PR with a clean unified table sources/sinks/formats story. We can continue the discussions here and I will make sure that changes will be applied to new PR as well.


replaced run-sehll-command

I replaced from asdf:run-shell-command to uiop:run-program.
Because, this kind of warning comes out.
WARNING:
   DEPRECATED-FUNCTION-STYLE-WARNING: Using deprecated function ASDF/BACKWARD-INTERFACE:RUN-SHELL-COMMAND -- please update your code to use a newer API.
The docstring for this function says:
PLEASE DO NOT USE. This function is not just DEPRECATED, but also dysfunctional.
Please use UIOP:RUN-PROGRAM instead.

Thanks


[Feat]: Add Commmitizen For Making Commits

Description
Add the Commitizen CLI tool to help make commits in a much easier and better way.
Solution
See link to Commitizen: https://github.com/commitizen/cz-cli
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I can contribute to this as well! If you can please assign it to me.

@tobySolutions Any update on this request?

All yours @A-5ingh!


Add documentation for registering service at macOS

This patch contains following changes:

Add documentation for registering service at macOS
Fix letter cases
Add spaces between words

目录标题单词字母应该大写 （除去 and or 之类的）


[enhancement]: Flux controlnet models

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
No response
What should this feature add?
Just a question, how do you add flux control nets? Thank you!
Alternatives
No response
Additional Content
No response

When i tried to install this controlnet model i get this error in 5.0.0rc2 version what should i do ?
Shakker-Labs/FLUX.1-dev-ControlNet-Union-Pro
Failed: Unable to determine model type for /workspace/invokeai/models/tmpinstall_y167utiw/FLUX.1-dev-ControlNet-Union-Pro;
class FluxControlNetModel is not one of the supported classes [FluxPipeline, StableDiffusionPipeline, StableDiffusionInpaintPipeline, StableDiffusionXLPipeline, StableDiffusionXLImg2ImgPipeline, StableDiffusionXLInpaintPipeline, LatentConsistencyModelPipeline, AutoencoderKL, AutoencoderTiny, ControlNetModel, CLIPVisionModelWithProjection, T2IAdapter, CLIPModel, CLIPTextModel, T5EncoderModel]
Can someone please explain ?

 I have 4090 and even with FP8 version of Flux, because invoke will force to load the extra T5 and Clip-I encoder into ur memory, it will occupy the whole 24GB in no time and the generation process will get incrediblely slow already, please see https://github.com/invoke-ai/InvokeAI/issues/6939....
I really dont know how did you manage to run flux in the first place


Clang on Windows using clang-cl

Hello, today I have tried some configurations on building Godot using LLVM on Windows.
The easiest way to do this seem to be by using the clang-cl wrapper as a compiler using the following command line from the VS2015 command prompt:
scons platform=windows CXX=clang-cl CCFLAGS=/EHsc

The compilation is running fine until linking where I get a missing symbol InterlockedCompareExchange64 in baked_light_baker_cmpxchg.cpp which seems that can be fixed by adding an #include <intrin.h> under #include "windows.h".
Once I did this I was able to compile godot without problems: test build (this is unfortunately only compiled half with clang as it has only the C++ files compiled and not the C ones). dependency graph
I am also currently testing with normal clang without the wrapper. I'll edit this as soon as I have some results (seems that CXX variabile is not taken in count when using mingw).
EDIT: seems that clang on Windows (LLVM official) is more tied to Visual Studio than MinGW. I am going to change my plans accordingly
I am open to discussion on this as at the moment it is just a Proof of Concept.

I would be curious to know how performances are affected by using this wrapper. (see https://github.com/godotengine/godot/issues/4313)

As Far as I know clang-cl just wraps calls for clang so I guess that performance would be the same as compiling wih clang directly.
Too bad I cannot compile Godot c files with it as webp drver seem to require SSE3 (even if mingw has -msse2). Tomorrow I will uploaf my changes. At the moment we seem that we canncompile c++ with clang and c with cl.
Il 21 set 2016 20:01, Marc<EMAIL_ADDRESS>ha scritto:
I would be curious to know how performances are affected by using this wrapper. (see #4313https://github.com/godotengine/godot/issues/4313)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/godotengine/godot/issues/6560#issuecomment-248692764, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABPYyat7mn06V-bJXOchOhfKRT6gwwpIks5qsXD4gaJpZM4KBYvC.

I mean it would be interesting to compare with other compilers.

@Zylann sorry. Long day at work :) I will try to check this in fact. Fortunately Clang is ABI compatible with MSVC so I can provide an hybrid exe. We will see what goes with that. The debug build I posted seems pretty huge in my opinion but I do not have an MSVC one to compare. I think that gdscript benchmarks will provide a good foundation to performance testing.

Take a look at these: https://github.com/godotengine/godot-tests/tree/master/benchmarks
(what, am I the olny one who ever made some?)

Can also be possibile to use clang/c2 maybe. Does not compile to LLVM though and the only advantages at this point are the analysis tools. Clang actually produces a lot more warnings (expecially about enums).
Il 21 set 2016 21:21, Marc<EMAIL_ADDRESS>ha scritto:
Take a look at these: https://github.com/godotengine/godot-tests/tree/master/benchmarks
(what, am I the olny one who ever made some?)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/godotengine/godot/issues/6560#issuecomment-248715051, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABPYydKfFlJ4XGLbYnHeXbX_PznsE6U1ks5qsYOtgaJpZM4KBYvC.

Some considerations after doing the first compilation with clang 3.9 (default godot build with debug and tools enabled), C code is still compiled by CL.exe (Visual Studio 2015 in my test):

Clang generates a much larger binary: 62.1MB over 51.5 MB
Linked libraries are the same.

As soon as I have some perfomance test I will provide them here. Meanwhile check my fork here: https://github.com/mattiascibien/godot/tree/clang-windows

Here a re the clang reports using the benchmark suite:
For time: 214
The following times are in seconds for the whole test.
Empty func (void function call cost): 441
Increment: 35
Increment x5: 376
Increment with member var: 63
Increment with local (outside loop): 36
Increment with local (inside loop): 83
Increment Vector2: 48
Increment Vector3: 50
Increment Vector3 with constant: 86
Increment Vector3 coordinate by coordinate: 3635
Unused local (declaration cost): -17
Divide: 99
Increment with dictionary member: 568
Increment with array member: 110
While time (for equivalent with manual increment): 204
if(true) time: 83
if(true)else time: 19
VariantArray resize: 7531
VariantArray set element: 62
IntArray resize: 4748
IntArray set element: 334

Unused local (declaration cost): -17
What Oo would pass be slower than var declaration? That's super-weird.
You should share the other results with the same revision on VC++.

Definetely on my todo list. Do not have much time at the moment but I will do that on my home PC

Clang generates a much larger binary: 62.1MB over 51.5 MB

You're comparing debug builds, which is not really meaningful since they have a lot of debug overhead. You should compare release builds.

Definetely. Maybe with LLVM optimizations it will be smaller. I will check today.
Il 23 set 2016 03:16, George Marques<EMAIL_ADDRESS>ha scritto:
Clang generates a much larger binary: 62.1MB over 51.5 MB
You're comparing debug builds, which is not really meaningful since they have a lot of debug overhead. You should compare release builds.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/godotengine/godot/issues/6560#issuecomment-249075252, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABPYydNR4wVCutr3k0ZxNID0drD1B9ndks5qsyiBgaJpZM4KBYvC.

You're comparing debug builds, which is not really meaningful since they have a lot of debug overhead. > You should compare release builds.

Done two compilations of release build without tools and got this:
godot.windows.opt.64.exe (CL) 16.7MB
godot.windows.opt.clang.64.exe (clang) 27.7MB

Remember that .c files are still compiled using cl.exe in my repo.

If anyone wants to have a go you can chekcout my https://github.com/mattiascibien/godot/tree/clang-windows branch ad compile with scons by adding clang=yes to the command line from VS Command Prompt.
I am also wondering on how to use clang only without the cl wrapper. The thing is that clang still needs Windows SDK and maybe other Visual Studio includes.

Well, if Clang still required to install Microsoft tools, it would be interesting to find what benefits Clang would give over MSVC.
Could you upload your win64 binaries somewhere ?

I have One in the First post. I am not sure on what it requires. I am dire about the Windows SDK as the hello world gets compiled with that.
Il 23 set 2016 12:11, SuperUserNameMan<EMAIL_ADDRESS>ha scritto:
Well, if Clang still required to install Microsoft tools, it would be interesting to find what benefits Clang would give over MSVC.
Could you upload your win64 binaries somewhere ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/godotengine/godot/issues/6560#issuecomment-249153993, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABPYyS_UqvYM6DkKQKZjb1jjO7opprmIks5qs6XngaJpZM4KBYvC.

the binary in the first post is a debug release. I'd rather be interested in release_debug and release versions if you have them compiled already, so I could have compared benchmarks results with version compiled with MSVC and Mingw64.
If I compare the performances of the debug version you provided, it is almost as slow as a release_debug cross compiled with Mingw64, which is 3 to 15 time slower than a release_debug compiled with MSVC2015.

@SuperUserNameMan release build with tools disabled: https://1drv.ms/u/s!AtCKgU6ij1Tyi_AHTQdYx2tO3AY44Q
I'll see if i can compile a releas_debug one in a while.

@SuperUserNameMan here is the releasedebug one:
https://1drv.ms/u/s!AtCKgU6ij1Tyi_AIAcMb-tlzRBlxDA

@mattiascibien : thanks for the files.
According to the benchmarks i've done, release and release_debug compiled with CLang gives almost same performances than when compiled with MSVC 2015.
On the godot bunny mark with vsync disabled into the project properties and into my graphics driver options, i get around 73 fps @ 1000 bunnies, and around 38 fps @ 2000 bunnies with both release Clang and release MSVC.
On the other hand, with the cross compiled mingw64 version, i only get 31 fps @ 1000 bunnies, and 16 fps @ 2000 bunnies.
I've also done micro-benchmarking on gdscript instruction set, and the performance given by your Clang version are the same than those given by the MSVC version.
Only the cross-mingw64 version gives bad results up to 13 times slower.
So, according to my tests, I can't say that Clang provide benefices over the Standalone MSVC tools.

@SuperUserNameMan unfortunately that build only has C++ files compiled with Clang. C files are still provided with CL as I cannot see to be able to tel clang to generate SSE3 code (maybe I need version 4.0). THe

You can also install clang via scoop.  in fact i have the entire windows setup via scoop python scons and clang but I think I have tried  using use_llvm=yes  and did not work properly

What's the status on this? We now have MinGW + Clang, but I believe clang-cl has to be handled differently if I'm not mistaken.

Hey @Calinou, see my PR. My guide https://github.com/Adriankhl/llvm-git-bash may also be interesting.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


nvim will stuck 2~3 seconds if I use yy-p to copy&paste, or dd to delete contents

Version confirmation

[X] Confirm

Following prerequisites

[X] Confirm

Neovim version
NVIM v0.9.0
Operating system/version
WSL2
Terminal name/version
windows terminal
$TERM environment variable
No response
Branch info
main (Default/Latest)
Fetch Preferences
HTTPS (use_ssh = false)
How to reproduce the issue

open a file with neovim
use yy to yank contents, then it will stuck about 2s
use p to paste, then it will stuck about 2s
use dd to delete contents, it will stuck about 2s too.

Expected behavior
No stuck if I use yy/p/dd features.
Actual behavior
No response
Additional information
No response

https://github.com/ayamir/nvimdots/wiki/Issues#clipboard-for-wsl2-users

:checkhealth

==============================================================================
hop: require("hop.health").check()

Ensuring keys are unique ~
- OK Keys are unique

Checking for deprecated features ~
- OK All good

==============================================================================
lazy: require("lazy.health").check()

lazy.nvim ~
- OK Git installed
- OK no existing packages found by other package managers
- OK packer_compiled.lua not found

==============================================================================
lspsaga: require("lspsaga.health").check()

Lspsaga.nvim report ~
- WARNING `tree-sitter` executable not found
- OK tree-sitter `markdown` parser found
- OK tree-sitter `markdown_inline` parser found

==============================================================================
mason: require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.1.1
- OK PATH: prepend
- OK Providers:
  mason.providers.registry-api
  mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2023-06-06-sinful-button` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.`
- OK wget: `GNU Wget 1.21.2 built on linux-gnu.`
- OK curl: `curl 7.81.0 (x86_64-pc-linux-gnu) libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.13`
- OK gzip: `gzip 1.10`
- OK tar: `tar (GNU tar) 1.34`
- OK bash: `GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)`
- OK sh: `Ok`

mason.nvim [Languages] ~
- WARNING Go: not available
  - ADVICE:
    - spawn: go failed with exit code - and signal -. go is not executable
- WARNING Composer: not available
  - ADVICE:
    - spawn: composer failed with exit code - and signal -. composer is not executable
- WARNING PHP: not available
  - ADVICE:
    - spawn: php failed with exit code - and signal -. php is not executable
- WARNING cargo: not available
  - ADVICE:
    - spawn: cargo failed with exit code - and signal -. cargo is not executable
- WARNING luarocks: not available
  - ADVICE:
    - spawn: luarocks failed with exit code - and signal -. luarocks is not executable
- WARNING javac: not available
  - ADVICE:
    - spawn: javac failed with exit code - and signal -. javac is not executable
- WARNING java: not available
  - ADVICE:
    - spawn: java failed with exit code - and signal -. java is not executable
- WARNING julia: not available
  - ADVICE:
    - spawn: julia failed with exit code - and signal -. julia is not executable
- WARNING Ruby: not available
  - ADVICE:
    - spawn: ruby failed with exit code - and signal -. ruby is not executable
- WARNING RubyGem: not available
  - ADVICE:
    - spawn: gem failed with exit code - and signal -. gem is not executable
- OK python3: `Python 3.10.6`
- OK node: `v16.20.0`
- OK npm: `8.19.4`
- OK python3_host_prog: `Python 3.10.6`
- OK pip3: `pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)`
- OK python3_host_prog pip: `pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)`

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 53. Remaining: 7. Limit: 60. Reset: Tue Jun  6 16:00:15 2023.
  Install and authenticate via gh-cli to increase rate limit.

==============================================================================
null-ls: require("null-ls.health").check()

- OK clang_format: the command "clang-format" is executable.
- OK prettier: the command "prettier" is executable.
- OK rustfmt: the command "rustfmt" is executable.
- OK shfmt: the command "shfmt" is executable.
- OK vint: the command "vint" is executable.
- OK jsonlint: the command "jsonlint" is executable.
- OK google_java_format: the command "google-java-format" is executable.
- OK stylua: the command "stylua" is executable.

==============================================================================
nvim: require("nvim.health").check()

Configuration ~
- OK no issues found

Runtime ~
- OK $VIMRUNTIME: /squashfs-root/usr/share/nvim/runtime

Performance ~
- OK Build type: RelWithDebInfo

Remote Plugins ~
- WARNING "wilder.nvim" is not registered.
- WARNING Out of date
  - ADVICE:
    - Run `:UpdateRemotePlugins`

terminal ~
- key_backspace (kbs) terminfo entry: `key_backspace=\177`
- key_dc (kdch1) terminfo entry: `key_dc=\E[3~`

==============================================================================
nvim-treesitter: require("nvim-treesitter.health").check()

Installation ~
- WARNING `tree-sitter` executable not found (parser generator, only needed for :TSInstallFromGrammar, not required for :TSInstall)
- OK `node` found v16.20.0 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `cc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
  Version: cc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
- OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.

OS Info:
{
  machine = "x86_64",
  release = "<IP_ADDRESS>-microsoft-standard-WSL2",
  sysname = "Linux",
  version = "#1 SMP Fri Jan 27 02:56:13 UTC 2023"
} ~

Parser/Features         H L F I J
  - bash                ✓ ✓ ✓ . ✓
  - c                   ✓ ✓ ✓ ✓ ✓
  - cpp                 ✓ ✓ ✓ ✓ ✓
  - css                 ✓ . ✓ ✓ ✓
  - go                  ✓ ✓ ✓ ✓ ✓
  - gomod               ✓ . . . ✓
  - html                ✓ ✓ ✓ ✓ ✓
  - javascript          ✓ ✓ ✓ ✓ ✓
  - json                ✓ ✓ ✓ ✓ .
  - latex               ✓ . ✓ . ✓
  - lua                 ✓ ✓ ✓ ✓ ✓
  - make                ✓ . ✓ . ✓
  - markdown            ✓ . ✓ ✓ ✓
  - markdown_inline     ✓ . . . ✓
  - python              ✓ ✓ ✓ ✓ ✓
  - query               ✓ ✓ ✓ ✓ ✓
  - rust                ✓ ✓ ✓ ✓ ✓
  - typescript          ✓ ✓ ✓ ✓ ✓
  - vim                 ✓ ✓ ✓ . ✓
  - vimdoc              ✓ . . . ✓
  - vue                 ✓ . ✓ ✓ ✓
  - yaml                ✓ ✓ ✓ ✓ ✓

  Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections
         +) multiple parsers found, only one will be used
         x) errors found in the query, try to run :TSUpdate {lang} ~

==============================================================================
provider: health#provider#check

Clipboard (optional) ~
- OK Clipboard tool found: win32yank-wsl

Python 3 provider (optional) ~
- Using: g:python3_host_prog = "python3"
- Executable: /usr/bin/python3
- Python version: 3.10.6
- pynvim version: 0.4.2 (outdated; from /usr/lib/python3/dist-packages/neovim)
- WARNING Latest pynvim is NOT installed: 0.4.3

Python virtualenv ~
- OK no $VIRTUAL_ENV

Ruby provider (optional) ~
- WARNING `ruby` and `gem` must be in $PATH.
  - ADVICE:
    - Install Ruby and verify that `ruby` and `gem` commands work.

Node.js provider (optional) ~
- Node.js: v16.20.0
- WARNING Missing "neovim" npm (or yarn, pnpm) package.
  - ADVICE:
    - Run in shell: npm install -g neovim
    - Run in shell (if you use yarn): yarn global add neovim
    - Run in shell (if you use pnpm): pnpm install -g neovim
    - You may disable this provider (and warning) by adding `let g:loaded_node_provider = 0` to your init.vim

Perl provider (optional) ~
- WARNING "Neovim::Ext" cpan module is not installed
  - ADVICE:
    - See :help |provider-perl| for more information.
    - You may disable this provider (and warning) by adding `let g:loaded_perl_provider = 0` to your init.vim

==============================================================================
vim.lsp: require("vim.lsp.health").check()

- LSP log level : WARN
- Log path: /home/leo/.local/state/nvim/lsp.log
- WARNING Log size: 254385 KB

vim.lsp: Active Clients ~
- clangd (id=1, root_dir=nil)
- null-ls (id=2, root_dir=/home/leo)

==============================================================================
vim.treesitter: require("vim.treesitter.health").check()

- Nvim runtime ABI version: 14
- OK Parser: bash       ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/bash.so
- OK Parser: c          ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/c.so
- OK Parser: cpp        ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/cpp.so
- OK Parser: css        ABI: 13, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/css.so
- OK Parser: go         ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/go.so
- OK Parser: gomod      ABI: 13, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/gomod.so
- OK Parser: html       ABI: 13, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/html.so
- OK Parser: javascript ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/javascript.so
- OK Parser: json       ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/json.so
- OK Parser: latex      ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/latex.so
- OK Parser: lua        ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/lua.so
- OK Parser: make       ABI: 13, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/make.so
- OK Parser: markdown   ABI: 13, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/markdown.so
- OK Parser: markdown_inline ABI: 13, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/markdown_inline.so
- OK Parser: python     ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/python.so
- OK Parser: rust       ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/rust.so
- OK Parser: typescript ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/typescript.so
- OK Parser: vimdoc     ABI: 14, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/vimdoc.so
- OK Parser: vue        ABI: 13, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/vue.so
- OK Parser: yaml       ABI: 13, path: /home/leo/.local/share/nvim/site/lazy/nvim-treesitter/parser/yaml.so
- OK Parser: c          ABI: 14, path: /squashfs-root/usr/lib/nvim/parser/c.so
- OK Parser: lua        ABI: 14, path: /squashfs-root/usr/lib/nvim/parser/lua.so
- OK Parser: query      ABI: 14, path: /squashfs-root/usr/lib/nvim/parser/query.so
- OK Parser: vim        ABI: 14, path: /squashfs-root/usr/lib/nvim/parser/vim.so
- OK Parser: vimdoc     ABI: 14, path: /squashfs-root/usr/lib/nvim/parser/vimdoc.so

==============================================================================
which-key: require("which-key.health").check()

WhichKey: checking conflicting keymaps ~
- WARNING conflicting keymap exists for mode **"v"**, lhs: **",c"**
- rhs: `<Cmd>HopChar1<CR>`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"t"**
- rhs: `<Plug>(clever-f-t)`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"gb"**
- rhs: `<Plug>(comment_toggle_blockwise)`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"gc"**
- rhs: `<Plug>(comment_toggle_linewise)`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **","**
- rhs: ` `
- WARNING conflicting keymap exists for mode **"n"**, lhs: **",c"**
- rhs: `<Cmd>HopChar1<CR>`

I found no errors.

Does the line after yy appear in your system clipboard?

抱歉，我觉得这个问题得用中文描述一下：
我的问题是，当我使用yy去复制、p去粘贴、或dd去删除时，我的neovim会卡顿2秒左右，并不是无法复制粘贴。
但如果我不加载任何插件，使用原生的nvim的话，却没有这个卡顿问题。

Want to identify whether win32yank was invoked or not.

What about the time you execute echo test | win32yank.exe -i --crlf in cmd or your linux shell?

time echo test | win32yank.exe -i --crlf

real    0m0.215s
user    0m0.002s
sys     0m0.000s

@listentodella Looks like this is indeed related to invoking shellcmd win32yank.exe. Can u try providing an absolute path for win32yank.exe and see if the issue is somehow alleviated?
https://github.com/ayamir/nvimdots/blob/ea166c67bab1df7659e39d4cfc4833fbeeade032/lua/core/init.lua#L102-L115
*Modify L106, 107, 110 and 111

Suspect nvim use powershell or other profile which takes some time to load env to invoke win32yank.exe. But it have no problem on my wsl2.

It works for me if fix the abs path for win32yank.exe in the init.lua.
But to tell the truth, it just becomes a little faster but not enough. Maybe it caused by the animation?
Anyway, I can accept it since it became  some faster.
Thanks!

a better way is to set the win32yank's path in "$PATH"


docs/pages/guide/i18n.md i18n link redirect to itself

I want to find out how the i18n is realized but I can only goto the i18n page itself ...

https://valaxy.site/posts/i18n


Vue router 4 document doesn't support Korean language.

What problem does this feature solve?

https://router.vuejs.org/
In the "Vue-Router 3" document, there's a Korean page in "Language"
but, in "Vue-Router 4" document, Korean does not exist in "Language".
https://github.com/vuejs-kr/vue-router-next
I know that most of the translation progress of "vue router 4"  has been completed in the github Korean translation project, but there is no Korean in the document.
So, Could you add Korean to the "vue router 4" document?
What does the proposed API look like?

Like "vue router 3" document, I hope that "vue router 4" will also apply support to Korean Language.

Can you deploy the Korean docs somewhere so we can link them with an external link in the language nav menu?
@bencodezen is that what you had in mind? I prefer keeping only the English and Chinese docs within the repository.

Can you deploy the Korean docs somewhere so we can link them with an external link in the language nav menu?
@bencodezen is that what you had in mind? I prefer keeping only the English and Chinese docs within the repository.

Yeah I was thinking of just adding a link to an external docs that is not maintained within the main repo. Does that work?

yes!

@jsw3363 Is there a link where the Korean docs are deployed? Once we have that, we can add it as a link to the main docs site. Thanks!

http://router.vuejs-korea.org
translation is in progress

https://router.vuejs-korea.org/ko/index.html


Windows: closing does not return focus to previous active window

Observed on current Windows 10 (latest Creators Update)
STR

Start something windowed (for example Windows Explorer, Win+E or you know, some IDE).
Start DevDocs app.
Close DevDocs app.

Expected result
Previous window is active.
Actual result
Previous window is visible, but not active: clicking or Alt+Tab is needed for activating it again.

For record, in unlikely case some other Windows user with AutoHotkey installed would like to have more reliable global hotkey until the native ones quirk is sorted out, this snippet seems to work well (it is quite universal AHK pattern for this kind of task):
;
; DevDocs toggle (or start)
; win + shift + d
; (I like to bind GLOBAL things to the WIN key and leave CTRL and ALT for apps)
;
#+d::
DetectHiddenWindows ON
ifWinExist, DevDocs
; couldn't get reliable ahk_exe PID because of multi process Electron nature
; but this way it amusingly works even for browser windows
; (or any window with title strarting with "DevDocs")
{ ifWinNotActive
  { winShow
    winActivate
  } else
  { ; winClose should technically do the same, but does not in this case
    winMinimize ; return focus
    winHide
  }
} else
{ run %A_ProgramFiles%\DevDocs\DevDocs.exe
}
DetectHiddenWindows OFF
Return


Add cpp linter

It's mainly an copy/paste from the c one with few modification for cpp.

I guess those typos can be sorted out afterwards. :+1: to documenting the Fortran options. That's still undocumented. Both can be done in another PR.

Ok for C++ instead of Cpp in the doc and README. I've put cpp cause set: filetype give me cpp and I couldn't use ++ in the variable name (vim doesn't like it) but yes, it's wrong in the doc.
For the parentheses, you mean in the README ? If yes, I think we should add a linter specific section under Options cause, if there is many linter for a language it can get messy. I will try something and if it's good enough, I will submit it.

I was wondering if it could be written C++ (filetype cpp), or maybe people will just know that anyway? Something like that.

Yep, that'll do it. Cheers! :beers:

I've modify it to match the cython one


Add repair strategy if substitute value is null

To define a mapping for flexible payloads a setting is required to remove nodes in the target. Both payload should be handled by ONE mapping.
PAYLOAD 1:
(device side)
 "Measurementname": "Airsensor",
 "Seriesename":"Humidity",
 "value":10,
 "unit":"%",
}```

map to >

(cumulocity side)

```{
  "Airsensor": {
    "Humidity": {
      "unit": "%",
      "value": 10
    }
  }
 "time": ....
...
}```
-------
PAYLOAD 2:

(device side)
```{
 "Measurementname": "Watersensor",
 "Seriesename":"Level",
 "value":20,
 "unit":"%",
}```

map to >

(cumulocity side)
```{
  "Watersensor": {
    "Level": {
      "unit": "%",
      "value": 20
    }
  }
 "time": ....
...
}```

This feature is added in: 719e717be3f090313587b170ba65175717fadea7 and 22ab6fa5eacd1b2ec673a2520a27dae2411e02a6.
See as well #38.


fix: rm obsolete --validate flag from asconfig

This was removed in v10.0.0
We have been using this version since at least 1dd59324cfc779becf9e5ee1127925ad8b89adfc

Ah good catch.  Could you also update to 0.4.2 for near-sdk-as.  When installing the newest patch is probably used, but this is the one that pins the version of asc to 0.10.0.

Good call, @willemneal – I've bumped those versions and will merge once the build passes


Tooltips delayed after scroll

Fairly confident this is a performance bug in Ember itself. Will do a detailed analysis with some flame-graph screenshots to see if I can narrow things down at all.

Turns out this is a Chrome-specific issue totally unrelated to Ember. Nothing we can do about this until Chrome fixes whatever they are doing, so closing this out.


Add purge API details.

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

Can one of the admins verify this patch?

hi @yoramsinger is this PR ready to merge? checked CI passed in azure pipeline https://github.com/Azure/azure-rest-api-specs/pull/7157/checks?check_run_id=222699474

Ready to merge. Thanks!


Make installation instructions reproducible

Hi @onewhl - thank you for the great work on this very interesting project!
Here is a small drive-by change that makes the installation instructions reproducible:

check-in missing part of the gradle wrapper
add a very basic .gitignore

otherwise it will fail to build using a gradle wrapper.

@bzz, thanks a lot! And by the way, I plan to revive the project in next month.


How to receive weight data after value received and handshake success?

I'm able to connect to AiLink smart-scale device following this instruction and the example code provided in the repo:

The question is after two values are received successfully, and two replies handshake are performed, how to get weight data? Because I am stuck in this process:
.
Also, it stops at the second value received, even if the scale device has received weight and still counting, the app never receives value anymore. Please help.
Here is the full code:
import 'dart:async';
import 'dart:typed_data';

import 'package:ailink/ailink.dart';
import 'package:ailink/utils/ble_common_util.dart';
import 'package:ailink/utils/common_extensions.dart';
import 'package:ailink/utils/elink_cmd_utils.dart';
import 'package:app/component/widget_ble_state.dart';
import 'package:app/component/widget_operate_btn.dart';
import 'package:app/impl/elink_common_data_parse_callback.dart';
import 'package:app/utils/elink_common_cmd_utils.dart';
import 'package:app/utils/elink_common_data_parse_utils.dart';
import 'package:app/utils/extensions.dart';
import 'package:app/utils/log_utils.dart';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';

class ConnectDevicePage extends StatefulWidget {
  const ConnectDevicePage({super.key, required this.device});

  final BluetoothDevice device;

  @override
  State<ConnectDevicePage> createState() => _ConnectDevicePageState();
}

class _ConnectDevicePageState extends State<ConnectDevicePage> {
  final logList = <String>[];

  final _ailinkPlugin = Ailink();
  final ScrollController _controller = ScrollController();

  BluetoothDevice? _bluetoothDevice;
  StreamSubscription<BluetoothConnectionState>? _connectionStateSubscription;
  StreamSubscription<List<int>>? _onReceiveDataSubscription;

  BluetoothCharacteristic? _dataA6Characteristic;
  late ElinkCommonDataParseUtils _elinkCommonDataParseUtils;

  @override
  void initState() {
    super.initState();
    _addLog('initState');
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _addLog('addPostFrameCallback');
      _bluetoothDevice = widget.device;
      _connectionStateSubscription =
          _bluetoothDevice?.connectionState.listen((state) {
        if (state.isConnected) {
          _addLog('Connected');
          _bluetoothDevice?.discoverServices().then((services) {
            _addLog(
                'DiscoverServices success: ${services.map((e) => e.serviceUuid).join(',').toUpperCase()}');
            if (services.isNotEmpty) {
              _setNotify(services);
            }
          }, onError: (error) {
            _addLog('DiscoverServices error');
          });
        } else {
          _dataA6Characteristic = null;
          _addLog(
              'Disconnected: code(${_bluetoothDevice?.disconnectReason?.code}), desc(${_bluetoothDevice?.disconnectReason?.description})');
        }
      });
      _bluetoothDevice?.connect();
    });

    _elinkCommonDataParseUtils = ElinkCommonDataParseUtils();
    _elinkCommonDataParseUtils.setElinkCommonDataParseCallback(
        ElinkCommonDataParseCallback((version) {
      _addLog('onGetBmVersion: $version');
    }));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Text(
              _bluetoothDevice?.advName ?? 'Unknown',
              style: const TextStyle(fontSize: 18),
            ),
            StreamBuilder<BluetoothConnectionState>(
              initialData: BluetoothConnectionState.disconnected,
              stream: _bluetoothDevice?.connectionState,
              builder: (context, snapshot) {
                final state =
                    snapshot.data ?? BluetoothConnectionState.disconnected;
                return Text(
                  state.isConnected ? 'Connected' : 'Disconnected',
                  style: const TextStyle(fontSize: 14),
                );
              },
            )
          ],
        ),
        leading: IconButton(
          onPressed: () => Navigator.pop(context),
          icon: const Icon(
            Icons.arrow_back,
          ),
        ),
        actions: [
          BleStateWidget(
            bluetoothDevice: _bluetoothDevice,
            onPressed: () {
              _bluetoothDevice?.connect();
            },
          ),
        ],
      ),
      body: Column(
        children: [
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: [
              OperateBtnWidget(
                onPressed: () async {
                  if (_dataA6Characteristic != null) {
                    _restartBleModule(_dataA6Characteristic!);
                  }
                },
                title: 'RestartBle',
              ),
              OperateBtnWidget(
                onPressed: () async {
                  if (_dataA6Characteristic != null) {
                    _getBmVersion(_dataA6Characteristic!);
                  }
                },
                title: 'GetBmVersion',
              ),
            ],
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: [
              OperateBtnWidget(
                onPressed: () async {
                  if (_dataA6Characteristic != null) {
                    _setHandShake(_dataA6Characteristic!);
                  }
                },
                title: 'SetHandShake',
              ),
              OperateBtnWidget(
                onPressed: () async {
                  if (_dataA6Characteristic != null) {
                    _clearHandShake(_dataA6Characteristic!);
                  }
                },
                title: 'ClearHandShake',
              ),
            ],
          ),
          Expanded(
            child: ListView.separated(
              controller: _controller,
              itemBuilder: (context, index) {
                return Padding(
                  padding: const EdgeInsets.symmetric(
                      horizontal: 12.0, vertical: 8.0),
                  child: Text(
                    '${DateTime.now()}: \n${logList[index]}',
                    style: TextStyle(
                      color: index % 2 == 0 ? Colors.black : Colors.black87,
                      fontSize: 16,
                    ),
                  ),
                );
              },
              separatorBuilder: (context, index) {
                return const Divider(
                  height: 0.5,
                  color: Colors.grey,
                );
              },
              itemCount: logList.length,
            ),
          ),
        ],
      ),
    );
  }

  void _setNotify(List<BluetoothService> services) async {
    final service = services.firstWhere((service) => service.serviceUuid.str
        .equal(ElinkBleCommonUtils.elinkConnectDeviceUuid));
    _addLog(
        '_setNotify characteristics: ${service.characteristics.map((e) => e.uuid).join(',').toUpperCase()}');
    for (var characteristic in service.characteristics) {
      if (characteristic.uuid.str.equal(ElinkBleCommonUtils.elinkNotifyUuid) ||
          characteristic.uuid.str
              .equal(ElinkBleCommonUtils.elinkWriteAndNotifyUuid)) {
        _addLog('_setNotify characteristics uuid: ${characteristic.uuid}');
        await characteristic.setNotifyValue(true);
        if (characteristic.uuid.str
            .equal(ElinkBleCommonUtils.elinkWriteAndNotifyUuid)) {
          _onReceiveDataSubscription =
              characteristic.onValueReceived.listen((data) {
            _addLog(
                'OnValueReceived [${characteristic.uuid.str}]: ${data.toHex()}, checked: ${ElinkCmdUtils.checkElinkCmdSum(data)}');
            if (ElinkBleCommonUtils.isSetHandShakeCmd(data)) {
              _replyHandShake(characteristic, data); //
            }
            if (ElinkBleCommonUtils.isGetHandShakeCmd(data)) {
              Future.delayed(const Duration(milliseconds: 500), () async {
                final handShakeStatus = await _ailinkPlugin
                    .checkHandShakeStatus(Uint8List.fromList(data));
                _addLog('handShakeStatus: $handShakeStatus');
              });
            }
            _elinkCommonDataParseUtils.parseElinkCommonData(data);
          });

          _dataA6Characteristic = characteristic;
          // await _restartBleModule(characteristic);
          LogUtils().log("characteristic: $characteristic");
            _setHandShake(characteristic);
        }
      }
    }
  }

  Future<void> _setHandShake(BluetoothCharacteristic characteristic) async {
    Uint8List data = (await _ailinkPlugin.initHandShake()) ?? Uint8List(0);
    _addLog('_setHandShake: ${data.toHex()}');
    await characteristic.write(data.toList(), withoutResponse: true);
  }

  Future<void> _clearHandShake(BluetoothCharacteristic characteristic) async {

    final data = ElinkCommonCmdUtils.clearElinkHandShake();
    _addLog('_clearHandShake: ${data.toHex()}');
    await characteristic.write(data, withoutResponse: true);
  }

  Future<void> _restartBleModule(BluetoothCharacteristic characteristic) async {
    final data = ElinkCommonCmdUtils.restartElinkBleModule();
    _addLog('_restartBleModule: ${data.toHex()}');
    await characteristic.write(data, withoutResponse: true);
  }

  Future<void> _getBmVersion(BluetoothCharacteristic characteristic) async {
    final data = ElinkCommonCmdUtils.getElinkBmVersion();
    _addLog('_getBmVersion: ${data.toHex()}');
    await characteristic.write(data, withoutResponse: true);
  }

  Future<void> _replyHandShake(
      BluetoothCharacteristic characteristic, List<int> data) async {
    Uint8List replyData = (await _ailinkPlugin
            .getHandShakeEncryptData(Uint8List.fromList(data))) ??
        Uint8List(0);
    _addLog('_replyHandShake: ${replyData.toHex()}');
    await characteristic.write(replyData.toList(), withoutResponse: true);
  }

  void _addLog(String log) {
    if (mounted) {
      setState(() {
        logList.insert(0, log);
      });
    }
  }

  void _scrollToBottom() {
    _controller.animateTo(
      _controller.position.maxScrollExtent,
      duration: const Duration(milliseconds: 500),
      curve: Curves.easeInOut,
    );
  }

  @override
  void dispose() {
    _bluetoothDevice?.disconnect();
    _bluetoothDevice = null;
    _dataA6Characteristic = null;
    _onReceiveDataSubscription?.cancel();
    _connectionStateSubscription?.cancel();
    _controller.dispose();
    super.dispose();
  }
}

Same thing we are facing from last one week. we are using Kitchen Scaler. Implemented code as per given instruction but not able to get data from it. @elinkthings please assist ahed with proper example and video.

Same thing we are facing from last one week. we are using Kitchen Scaler. Implemented code as per given instruction but not able to get data from it. @elinkthings please assist ahed with proper example and video.

I even tried using native Android SDK, and the result was the same.

It seems like I can receive value stream, here the updated lines:
 ...
        } else if (characteristic.uuid.str
            .equal(ElinkBleCommonUtils.elinkNotifyUuid)) {
          _onReceiveWeightDataSubscription = characteristic.onValueReceived.listen((data) {
            _processReceivedData(data);
          });
...

  Future<void> _processReceivedData(List<int> data) async {
    try {
      final decryptedData = await _ailinkPlugin.decryptBroadcast(Uint8List.fromList(data));
      if (decryptedData != null) {
        final weightData = BroadcastScaleDataUtils().getWeightData(decryptedData);
        if (weightData != null) {
          setState(() {
            _currentWeight = "${weightData.weightStr} ${weightData.weightUnitStr}";
          });
          _addLog('Weight: $_currentWeight');

...

but the data I received was always the same. Does BroadcastScaleDataUtils().getWeightData only work for broadcast devices?

It seems like I can receive value stream, here the updated lines:
 ...
        } else if (characteristic.uuid.str
            .equal(ElinkBleCommonUtils.elinkNotifyUuid)) {
          _onReceiveWeightDataSubscription = characteristic.onValueReceived.listen((data) {
            _processReceivedData(data);
          });
...

  Future<void> _processReceivedData(List<int> data) async {
    try {
      final decryptedData = await _ailinkPlugin.decryptBroadcast(Uint8List.fromList(data));
      if (decryptedData != null) {
        final weightData = BroadcastScaleDataUtils().getWeightData(decryptedData);
        if (weightData != null) {
          setState(() {
            _currentWeight = "${weightData.weightStr} ${weightData.weightUnitStr}";
          });
          _addLog('Weight: $_currentWeight');

...

but the data I received was always the same. Does BroadcastScaleDataUtils().getWeightData only work for broadcast devices?

The ailink library currently provides the following functionalities: processing broadcast data (retrieving MAC, CID, VID, PID), processing broadcast scale data, handling elink's general A6 and A7 protocol command data, processing handshake protocol commands, and processing firmware version data.
To integrate various devices, you will need to handle the protocols based on the documentation provided by our company.

It seems like I can receive value stream, here the updated lines:
 ...
        } else if (characteristic.uuid.str
            .equal(ElinkBleCommonUtils.elinkNotifyUuid)) {
          _onReceiveWeightDataSubscription = characteristic.onValueReceived.listen((data) {
            _processReceivedData(data);
          });
...

  Future<void> _processReceivedData(List<int> data) async {
    try {
      final decryptedData = await _ailinkPlugin.decryptBroadcast(Uint8List.fromList(data));
      if (decryptedData != null) {
        final weightData = BroadcastScaleDataUtils().getWeightData(decryptedData);
        if (weightData != null) {
          setState(() {
            _currentWeight = "${weightData.weightStr} ${weightData.weightUnitStr}";
          });
          _addLog('Weight: $_currentWeight');

...

but the data I received was always the same. Does BroadcastScaleDataUtils().getWeightData only work for broadcast devices?

The ailink library currently provides the following functionalities: processing broadcast data (retrieving MAC, CID, VID, PID), processing broadcast scale data, handling elink's general A6 and A7 protocol command data, processing handshake protocol commands, and processing firmware version data.
To integrate various devices, you will need to handle the protocols based on the documentation provided by our company.

Where can I find the documentation ?

It seems like I can receive value stream, here the updated lines:
 ...
        } else if (characteristic.uuid.str
            .equal(ElinkBleCommonUtils.elinkNotifyUuid)) {
          _onReceiveWeightDataSubscription = characteristic.onValueReceived.listen((data) {
            _processReceivedData(data);
          });
...

  Future<void> _processReceivedData(List<int> data) async {
    try {
      final decryptedData = await _ailinkPlugin.decryptBroadcast(Uint8List.fromList(data));
      if (decryptedData != null) {
        final weightData = BroadcastScaleDataUtils().getWeightData(decryptedData);
        if (weightData != null) {
          setState(() {
            _currentWeight = "${weightData.weightStr} ${weightData.weightUnitStr}";
          });
          _addLog('Weight: $_currentWeight');

...

but the data I received was always the same. Does BroadcastScaleDataUtils().getWeightData only work for broadcast devices?

The ailink library currently provides the following functionalities: processing broadcast data (retrieving MAC, CID, VID, PID), processing broadcast scale data, handling elink's general A6 and A7 protocol command data, processing handshake protocol commands, and processing firmware version data.
To integrate various devices, you will need to handle the protocols based on the documentation provided by our company.

Where can I find the documentation ?

You can contact the corresponding business colleague in our company and ask which company you are from?

It seems like I can receive value stream, here the updated lines:
 ...
        } else if (characteristic.uuid.str
            .equal(ElinkBleCommonUtils.elinkNotifyUuid)) {
          _onReceiveWeightDataSubscription = characteristic.onValueReceived.listen((data) {
            _processReceivedData(data);
          });
...

  Future<void> _processReceivedData(List<int> data) async {
    try {
      final decryptedData = await _ailinkPlugin.decryptBroadcast(Uint8List.fromList(data));
      if (decryptedData != null) {
        final weightData = BroadcastScaleDataUtils().getWeightData(decryptedData);
        if (weightData != null) {
          setState(() {
            _currentWeight = "${weightData.weightStr} ${weightData.weightUnitStr}";
          });
          _addLog('Weight: $_currentWeight');

...

but the data I received was always the same. Does BroadcastScaleDataUtils().getWeightData only work for broadcast devices?

The ailink library currently provides the following functionalities: processing broadcast data (retrieving MAC, CID, VID, PID), processing broadcast scale data, handling elink's general A6 and A7 protocol command data, processing handshake protocol commands, and processing firmware version data.
To integrate various devices, you will need to handle the protocols based on the documentation provided by our company.

Where can I find the documentation ?

You can contact the corresponding business colleague in our company and ask which company you are from?

So it's closed sdk? We bought several baby weight scale & adult weight scale. We plan to integrate with our custom app for particular features.

So it's closed sdk? We bought several baby weight scale & adult weight scale. We plan to integrate with our custom app for particular features.

Flutter does not currently provide a weight scale, you can use the Android and iOS SDKs

It seems like I can receive value stream, here the updated lines:
 ...
        } else if (characteristic.uuid.str
            .equal(ElinkBleCommonUtils.elinkNotifyUuid)) {
          _onReceiveWeightDataSubscription = characteristic.onValueReceived.listen((data) {
            _processReceivedData(data);
          });
...

  Future<void> _processReceivedData(List<int> data) async {
    try {
      final decryptedData = await _ailinkPlugin.decryptBroadcast(Uint8List.fromList(data));
      if (decryptedData != null) {
        final weightData = BroadcastScaleDataUtils().getWeightData(decryptedData);
        if (weightData != null) {
          setState(() {
            _currentWeight = "${weightData.weightStr} ${weightData.weightUnitStr}";
          });
          _addLog('Weight: $_currentWeight');

...

but the data I received was always the same. Does BroadcastScaleDataUtils().getWeightData only work for broadcast devices?

The ailink library currently provides the following functionalities: processing broadcast data (retrieving MAC, CID, VID, PID), processing broadcast scale data, handling elink's general A6 and A7 protocol command data, processing handshake protocol commands, and processing firmware version data.
To integrate various devices, you will need to handle the protocols based on the documentation provided by our company.

Where can I find the documentation ?

You can contact the corresponding business colleague in our company and ask which company you are from?

So it's closed sdk? We bought several baby weight scale & adult weight scale. We plan to integrate with our custom app for particular features.

Flutter does not currently provide a weight scale, you can use the Android and iOS SDKs

Ok, I've manually implemented weight scale devices (non-broadcast).
First, do a handshake with this format (found on doc spec):
    final List<int> handshakeData = [
      0xA6,
      0x03,
      0x42,
      0x01,
      0x00,
      0x46,
      0x6A
    ];

    _addLog("_setHandShake without encryption ${handshakeData .toHex()}");
    await characteristic.write(handshakeData .toList(), withoutResponse: true);

now, listen to data transmitted by the device via FFE2
if (characteristic.uuid.str.equal(ElinkBleCommonUtils.elinkNotifyUuid)) {
     _onReceiveWeightDataSubscription = characteristic.onValueReceived.listen((data) async {
         _processReceivedData(data);
     });
  }

process the A7 data:
  Future<void> _processReceivedData(List<int> data) async {
    LogUtils().log("Received data: ${data.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}");

    WeightScaleData? weightData = parseWeightData(data);
    if (weightData != null) {
      setState(() {
        _lastWeightData = weightData;
        _currentWeight = "${weightData.isNegative ? "-" : ""}${weightData.weight.toStringAsFixed(2)} ${weightData.unit}";
      });
      _addLog("Parsed weight: $weightData");
    } else {
      _addLog("Failed to parse weight data");
    }
  }

Here's how to read A7 data into a readable format:

class WeightScaleData{
  final bool isStable;
  final double weight;
  final String unit;
  final bool isNegative;

  WeightScaleData({
    required this.isStable,
    required this.weight,
    required this.unit,
    required this.isNegative,
  });

  @override
  String toString() {
    return 'WeightData(isStable: $isStable, weight: ${isNegative ? "-" : ""}$weight $unit)';
  }
}

WeightScaleData? parseWeightData(List<int> data) {
  if (data.length != 11 || data[0] != 0xA7 || data[10] != 0x7A) {
    print("Invalid data format");
    return null;
  }

  bool isStable = data[4] == 0x01;
  int rawWeight = (data[5] << 8) | data[6];
  String unit;
  switch (data[7]) {
    case 0x00: unit = 'kg'; break;
    case 0x01: unit = 'jin'; break;
    case 0x02: unit = 'lb:oz'; break;
    case 0x03: unit = 'oz'; break;
    case 0x04: unit = 'st:lb'; break;
    case 0x05: unit = 'g'; break;
    case 0x06: unit = 'lb'; break;
    default: unit = 'unknown';
  }
  bool isNegative = (data[8] & 0x10) != 0;
  int decimalPoints = data[8] & 0x0F;

  double weight = rawWeight / pow(10, decimalPoints);

  return WeightScaleData(
    isStable: isStable,
    weight: weight,
    unit: unit,
    isNegative: isNegative,
  );
}

Also, if you want to force the unit into KG, you can do this after handshake:
  Future<void> _setDeviceUnitToKG(
      BluetoothCharacteristic characteristic) async {
    final List<int> setUnitData = [
      0xA7,
      0x00,
      0x04,
      0x81,
      0x00,
      0x00,
      0x85,
      0x7A
    ];

    _addLog("Sent set unit to KG instruction");
    await characteristic.write(setUnitData.toList(), withoutResponse: true);
  }

I hope it helps anyone looking for the same solution.


Migrate to build machinery

other operators use build machinery from library-go
you get ldflags for version, verify-deps and other benefits
we keep the shared code updated in one repo (library-go)

/assign @adambkaplan
replaces: https://github.com/openshift/release/pull/4308

/lgtm

/hold
Leaving finally decission to @adambkaplan

/hold
for @adambkaplan to bless it

/lgtm

/retest


Need to support nextjs 9.x

Hi, I'm having the following problem trying to use this npm package.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@nestjs/common
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>|| ^8.0.0" from<EMAIL_ADDRESS>npm ERR! node_modules/nestjs-undici
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /Users/binsee/.npm/eresolve-report.txt for a full report.

npm ERR!      /Users/binsee/.npm/_logs/2022-11-05T09_30_31_885Z-debug-0.log

I can submit a PR to fix it if needed.

Now we support nestjs 9.x, your change has been accepted and merged, you will be able to verify that the workflow was successful, installing the dependencies correctly... Thanks for contributing!
Link: Example workflow where the new version was run

Now we support nestjs 9.x, your change has been accepted and merged, you will be able to verify that the workflow was successful, installing the dependencies correctly... Thanks for contributing!
Link: Example workflow where the new version was run

Yes, it can be installed normally. cheers