Custom Component: Bootstrap Radio buttons with Angular 9 and latest formio

I had nasty versioning and infinite-loop problems with custom components when I started from the @merobal rating sample. So I started from scratch and created Really Large Bootstrap Buttons mainly for use on tablets.
https://github.com/dmenne/custom-radio
Feel free to try and test it.

Issue in above custom component:

ngOnit is called 6 times when I open the editor

Well, that's progress, it was called infinitely often in earlier version (Reported by @merobal)

This is great!  We should include this repository as an example in the Wiki so that people have a working example they can work off of.  As for the "infinite" issue... we will have a developer on our side investigate this problem.

As I noted, the app called ngOnit 6 times, but then worked ok when the editor was opened. Today, I did a version update to 9.0.7, and after install of all node_modules, I ran into the infinite loop.
However, after totally removing node_modules and reinstall, business was as usual again.

I did angular version update to 9.0.7 today and infinite loop is not going away even after clearing node modules. I am thinking of going back to 9.0.6 now.

Strange. Everything is ok for me with 9.0.7, but I definitively saw the infinite loop this morning. Keep me updated. Just a wild guest: 9.0.6 will also go into nirwana? Have you tested it?

I rollback my changes to last working version and tried updating angular cli.
@angular/cli                       9.0.6 -> 9.0.7           ng update @angular/cli
It worked fine on local but as soon as I deployed it a server, it started throwing infinite loop. I can probably check the build configuration or my package-lock.json to find out more about it.
So I am back to last stable version which is:
@angular/cdk                       9.1.1
@angular/cli                       9.0.6
@angular/core                      9.0.6
@ngrx/store                        8.6.0
Now I am getting infinite loop only when validations kick in and a grid component is present on the form. I think this was always happening with older version as well.
https://github.com/formio/angular-formio/issues/465

I have updated my example for a radio-button custom component, with an additional chapter how to create custom component editors by modifiying  the JSON output of exisiting editors.
A custom select box to switch between bootstrap button color styles is created.

@dmenne we did resolve some infinite loops in our core renderer with the latest builds. Please try the latest versions and see if the problem persists. If so, then we will get it resolved quickly.

I no have tried angular-formio 4.6.16, I had not seen the infinite recursion for 3 days. However, one thing I noted: Whenever I openend an custom editor, ngOnit was called 6 times before. Now, it is 7 times. Is that the "expected behavior"? Further than that, output looks ok at first glance.

@travist Still seeing infinite loop with angular-formio 4.6.17.
Issue comes up when there is a grid on the page and validations kick in. I will provide a sample app somewhere to show that.

Interesting... that's why I now rarely see infinite loops, because I removed all validations - among other decorative stuff.

@travist the issue described in https://github.com/formio/angular-formio/issues/465 is still present with the latest version (angular-formio 4.6.17).

Not sure if this is related, but I'm seeing a problem with the data value field on select boxes. When I type something in it gets deleted and the console reports and infinite loop.

Not sure it is related, but we did fix an issue with infinite loops last night with our latest builds. I am curious if the latest version resolves this issue.

Browser is empty with error with these changes.
See https://github.com/dmenne/custom-radio/tree/issue494
Formio.js:1795 Uncaught ReferenceError: global is not defined
    at Object../node_modules/formiojs/Formio.js (Formio.js:1795)
    at __webpack_require__ (bootstrap:79)
    at Object../node_modules/formiojs/components/address/Address.js (Address.js:58)
    at __webpack_require__ (bootstrap:79)
    at Object../node_modules/formiojs/components/index.js (index.js:8)
    at __webpack_require__ (bootstrap:79)
    at Object../node_modules/formiojs/formio.form.js (formio.form.js:75)
    at __webpack_require__ (bootstrap:79)
    at Object../node_modules/formiojs/index.js (index.js:61)
    at __webpack_require__ (bootstrap:79)
client:52 [WDS] Live Reloading enabled.

Yeah, we just heard from one of our developers about this.  We just submitted this pull request which we hope resolves the issue.  https://github.com/formio/formio.js/pull/2631
Is it possible for you to open up the node_modules/formiojs/Formio.js on your end and add those conditional statements and see if it resolves the issue for you.
Just some context on these changes.... we are working making our core renderer work in both import scenarios but also in using <script> tags and allow extension modules work with both. This has caused us to make some changes to support this which we are finding does not comply with all different ways of compiling the applications. Sorry for the churn, but it will reach stability very soon.

I have an app that reproduces this now... I can verify on my end this solves the problem.  New build coming very soon.

The error ^ was fixed with the latest Angular build. Sorry for the glitch.

Fixed (at least the glitch).
Note that I have not seen the infinite loop for some time already, but still on every key press in one of the editors ngOnit is call 6 time (exactly, no variation). As I only made a copy of your editor, I assume that this occurs in your code too.

I think the ngOnInit issue will need to be resolved separately. My response earlier was to other reports from other people about an infinite loop. I believe this thread was hijacked with that point which I hope is now resolved. The original issue you brought up with the ngOnInit is not fixed apparently and will still need investigation.

ngOnInit is called each time the form builder re-renders the layout. We experience the same, as long as the user types something in the edit form, the preview is being re-rendered. (If you hit the API at ngOnInit I suggest doing caching at service layers.)

I had seen your suggestion to cache the service layer, that cures the symptoms as long there is no vaccine available. Calling the full constructor API 6 times at each keyboard press is not what Angular apps are supposed to do; calling a subservice e.g. for typeahead would be ok.
So please to fix this. It is also in the interest of form.io to encourage a cottage industry that creates use components.

I agree we should not be doing this... I would need to dig in to investigate, but am currently tied up with other items. If someone from the community could investigate we would be very grateful. Otherwise, it will just need to wait until it makes it to the top of someones list here at Form.io.

So technically this issue is narrowed down to "ngOnInit is called 6-8 times" (similar to #507) and this is probably due formio refreshes the layout and re-renders itself more than once per update. It's not a big deal to native html components (almost unnoticed) but since Angular components may contain logic inside itself it's a noticeable issue.
Do you have any update on this?

"ngOnInit is called 6-8 times" on every key press. This is not how Angular is supposed to work.

Yes, that is the issue, and I wanted to ping @travist to check this.
(Probably Formio updates the layout on every keypress and refreshes it 6-8 times per update. It's not a big deal for native html tags but a noticeable issue for Angular)

@dmenne we all agree that this needs to be resolved. We are actually making significant improvements to our Angular libraries so it is possible this may be resolved. @Alena-Levina is leading up this effort so maybe she has an idea if this issue will be resolved or if she has noticed it.

Welcome in our gang,   @Alena-Levina!

Hi @dmenne ! Sorry for the delayed response.
I've been reading this thread several times and still am a bit confused about how I should reproduce this issue.
I tried using our Form Builder from angular-demo repo and was not able to notice any calls of Form Builder's ngOnInit during editing a Custom Component, please see the recording: https://monosnap.com/file/bdmOUmcvBhvEmWdf2s2QcNk4dLq4AX
Could you please provide me detailed steps which I need to take to be able to reproduce your issue?
Regards,
Alena

Dear Alena,
maybe you could try
https://github.com/dmenne/custom-radio.
I think there is a logging output in it. Called 3 times on keypress, 3 times on release when any editor is open.
If you cannot reproduce with the current version, I will check again. Sorry, I have not looked into this for 6 weeks, so it may be ok with the current version.
Dieter

https://github.com/formio/angular-formio/issues/507#issuecomment-627208014
Nothing improved.

We're currently addressing a backlog of GitHub issues, and as part of this effort, some inactive issues may be marked as closed. This isn't a dismissal, but a step toward more efficient tracking.
If you feel the issue is still relevant, please re-open and we'll ensure it gets the attention it deserves. Your understanding is appreciated as we work to enhance our open-source responsiveness.


Boundary segment with 3 features

Hello,
My name is Cristian and I'm using your tool for my project.
What I would like to do is the extraction of the boundary learned during the train of an NN.
Considering a dataset of 2 features, the tool performs very well, but when I try to increase the number of features, the output appears strange to me (even if the NN performs very well). This is an example :

Desc: 3 features case; to plot the data I just apply the T matrix to transform 3 features to 2.
I've understood that the problem could be related to the T matrix, and hence to the domain.
I tried the three different functions to compute the domain (square), but I couldn't find a way to make it work.
Can you please tell me if it is possible to compute the boundary considering 3 features? Additionaly, can you tell me how can I compute the domain in the right way for the problem under analysis?
Many thanks in advance.

Hi Christian,
Thanks for reaching out. Indeed I think this is an issue with the
projection you are taking. Could you elaborate what domain you are using?
And to confirm you are using get_proj_mat(domain) to get T? If you want a
clean decision boundary between the two clusters, you'd need to consider 2D
domain along which you expect to see something close to a linear separation.
On Thu, May 9, 2024 at 5:51 AM Cristian Morasso @.***>
wrote:

Hello,
My name is Cristian and I'm using your tool for my project.
What I would like to do is the extraction of the boundary learned during
the train of an NN.
Considering a dataset of 2 features, the tool performs very well, but when
I try to increase the number of features, the output appears strange to me
(even if the NN performs very well). This is an example :
immagine.png (view on web)
https://github.com/AhmedImtiazPrio/splinecam/assets/61107879/5cc7c185-1e6c-4869-9260-0e7e7a49d5a7
Desc: 3 features case; to plot the data I just apply the T matrix to
transform 3 features to 2.
I've understood that the problem could be related to the T matrix, and
hence to the domain.
I tried the three different functions to compute the domain (square), but
I couldn't find a way to make it work.
Can you please tell me if it is possible to compute the boundary
considering 3 features? Additionaly, can you tell me how can I compute the
domain in the right way for the problem under analysis?
Many thanks in advance.
—
Reply to this email directly, view it on GitHub
https://github.com/AhmedImtiazPrio/splinecam/issues/12, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH2F56LF2RW7OYZSQPOCNCTZBNIJVAVCNFSM6AAAAABHOTELISVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI4DONBSHA4TEMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks for your attention.
Im using this function (get_square_slice_from_one_anchor(anchor)) to compute the domain, and passing the mean vector as anchor, then the  get_proj_mat(domain) to compute the T matrix.
What you are suggesting is to use a T matrix, that performs a projection able to separate linearly the classes?
So if the data is a complex (with >3 important features), it may fail, right?

Yes! If the data is complex we might not see a smooth boundary between the
distributions. However, I would suggest trying with three random samples
from the two distributions with the get_square_slice_from_centroid
function. Might look better. If that doesn't look satisfactory, maybe try
taking the mean of the two distributions and one random sample from one of
the distributions.
On Sat, May 11, 2024, 5:25 AM Cristian Morasso @.***>
wrote:

Thanks for your attention.
Im using this function (get_square_slice_from_one_anchor(anchor)) to
compute the domain, and passing the mean vector as anchor, then the
get_proj_mat(domain) to compute the T matrix.
What you are suggesting is to use a T matrix, that performs a projection
able to separate linearly the classes?
So if the data is a complex (with >3 important features), it may fail,
right?
—
Reply to this email directly, view it on GitHub
https://github.com/AhmedImtiazPrio/splinecam/issues/12#issuecomment-2105666495,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH2F56LFV4YL4LTHSH7VFC3ZBXWYBAVCNFSM6AAAAABHOTELISVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVGY3DMNBZGU
.
You are receiving this because you commented.Message ID:
@.***>

Many thanks for your suggestions. Unfortunately, I’ve already tried in that way using a synthetic dataset, but computing the mean could be a problem when I consider two classes with two clusters for each class.
Thanks again :)


Fix a null pointer exception

What changes are proposed in this pull request?
Fix a null pointer problem in journal system.
Why are the changes needed?
Please clarify why the changes are needed. For instance,
When construct the RaftJournalSystem, the member mStateMachine is null pointer, because the registerMetrics is called before mStateMachine initialized。
Does this PR introduce any user facing changes?
No
Please list the user-facing changes introduced by your change, including
No

Codecov Report

Merging #14046 (1a9a537) into master (22ecb2c) will decrease coverage by 25.91%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #14046       +/-   ##
=============================================
- Coverage     43.29%   17.38%   -25.92%
+ Complexity     9171     2690     -6481
=============================================
  Files          1417     1417
  Lines         82063    82073       +10
  Branches       9935     9937        +2
=============================================
- Hits          35533    14272    -21261
- Misses        43562    66547    +22985
+ Partials       2968     1254     -1714

Impacted Files
Coverage Δ

...alluxio/master/journal/raft/RaftJournalSystem.java
0.00% <0.00%> (-57.47%)
:arrow_down:

...mon/src/main/java/alluxio/shell/CommandReturn.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...mon/src/main/java/alluxio/util/ExceptionUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...n/src/main/java/alluxio/wire/AlluxioProxyInfo.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/main/java/alluxio/wire/AlluxioMasterInfo.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...src/main/java/alluxio/job/meta/JobIdGenerator.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...n/src/main/java/alluxio/stress/BaseParameters.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...src/main/java/alluxio/client/UnderStorageType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...main/java/alluxio/underfs/options/ListOptions.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...main/java/alluxio/worker/block/io/BlockReader.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 672 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 22ecb2c...1a9a537. Read the comment docs.

@apc999 @ggezer @maobaolong Move the call of registerMetrics() after stateMachine initialized,  this fix is more appropriate, PTAL!

any more comments, @ggezer ?

@ggezer Done, PTAL!

alluxio-bot, merge this please


bosh_cli can't be installed on Ruby 1.9.3

New version of net-ssh, which is dependency for bosh_cli, requires Ruby 2.0.
ERROR:  Error installing bosh_cli:
        net-ssh requires Ruby version >= 2.0.

The gemspec line responsible for requiring net-ssh should be changed to something like this:
  spec.add_dependency 'net-ssh',          '>=2.2.1', '~>2'

Seems like latest net-ssh maintainers decided to stop supporting 1.9.3 (it is a deprecated version). You can try uninstalling net-ssh 3.x and gem install net-ssh -v 2.9.2 before installing bosh_cli. Any reason you prefer using 1.9.3? Just relying on default ruby on ubuntu?

Yeah, I did it.
I'm using Ruby 1.9.3 because it's default for Ubuntu 14.04 LTS. According to documentation, bosh_cli should have support for this version.

There's similar problem with fog-google gem:
ERROR:  Error installing bosh_cli:
	fog-google requires Ruby version >= 2.0.

I've updated docs to state that 2+ version is required.
On Wed, Sep 30, 2015 at 11:08 AM, Maciej Strzelecki <
<EMAIL_ADDRESS>wrote:

There's similar problem with fog-google gem:
ERROR:  Error installing bosh_cli:
fog-google requires Ruby version >= 2.0.
—
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/bosh/issues/965#issuecomment-144493973.

The prerequisites sections also should be updated.
On Ubuntu Trusty, the ruby2.0 and ruby2.0-dev packages need to be installed and changed to the default version by creating links in /usr/bin (there's a bug in Ubuntu for this).
On RHEL/CentOS there's no possibility to install Ruby 2.0 using Yum.

I still think, that changing Gemspec to include so called pessimistic version constraint is better approach. This is the one of common practices.

+1

+1

+1

+1

Filed a story: https://www.pivotaltracker.com/story/show/105121972

Fixed in 3100

What about fog-google gem?
ERROR:  Error installing bosh_cli:
	fog-google requires Ruby version >= 2.0.

Probably other gems without pessimistic version constraint can cause this issue in the future.

That one was missed. Filed a new story to simplify dependencies: https://www.pivotaltracker.com/story/show/105359266


Add tf pub for each robot (support namespace)

Add tf pub for each robot (support namespace)
I wanted to use mvsim with nav2 for multi-agent scenario.
Since Nav2 supports namespace, tf topics should also be separated like other topics.
However, every robot's tf & tf_static is published as /tf & /tf_static in mvsim.
Therefore, I added tf & tf_static pub for each robot and topics become completely independant for each namespace.
before

r1, r2

topic name
frame id

/tf
/r1/odom, /r2/odom, ...

/tf_static
/r1/base_link, /r2/base_link, ...

after

r1, r2

topic name
frame id

/tf
/r1/odom, /r2/odom, ...

/tf_static
/r1/base_link, /r2/base_link, ...

/r1/tf
/r1/odom, ...

/r1/tf_static
/r1/base_link, ...

/r2/tf
/r2/odom, ...

/r2/tf_static
/r2/base_link, ...

If you want to check tf, use rqt_tf tree
ros2 run rqt_tf_tree rqt_tf_tree /tf:=/<namespace>/tf /tf_static:=/<namespace>/tf_static

Awesome! Looks good to me. Can you please just check the missing ci test on clang format?

Sure!
I updated. Thanks!

Thanks!

@finani could you please take a look at the build errors after this PR in ROS? e.g.

https://github.com/MRPT/mvsim?tab=readme-ov-file#build-matrix-status
https://build.ros2.org/job/Hdev__mvsim__ubuntu_jammy_amd64/219/console

Perhaps a missing edit to be committed? Unfortunately, CI in the PRs doesn't catch up with the ROS node yet...

Oh.. I will check.


feat: Add support for Xamarin TV.OS

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
This adds support to TV.OS. This fixes #1698
What is the current behavior? (You can also link to an open issue here)
No TV.OS support.
What is the new behavior (if this is a feature change)?
Have changed the projects, event builder.
What might this PR break?
Not tested 100% with the TVOS, but would only be the user group.
Other information:
Thanks @emmanuele-villa -- if you can test this at some point that would be awesome 👍

@glennawatson are you sure about the src/EventBuilder/Platforms/tvOS.cs correct dll path?
On my mac  I have a generic "Xamarin.iOS.framework" that contains the folders mono/Xamarin.iOS, mono/Xamarin.TVOS and mono/Xamarin.WatchOS, so the path on my machine is:
@"/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS10/Xamarin.TVOS10.dll";
I will test it for sure whenever is ready or I can manage to compile it.. I will ask for support for that in another thread :)

How's your compilation etc going @emmanuele-villa ?

I haven't run this code yet; did a quick 30 second eyeball for anything obvious. The tvos team has been created and CODEOWNERS in this PR was updated by me.

@ghuntley sure, I just changed the path because I'm trying to compile it on my machine right now :)
@glennawatson I added my mac server ip in the build.cake and finally I'm able to compile after wiping and reinstalling visual studio!

@glennawatson so, I managed to add the built dll to a sample apple tv project: now I can find the tvos specific class (e.g. ReactiveViewController) but I have a missing method exception at runtime.
Now... I've added a xamarintvos10 folder and dll to ReactiveUI and Splat in the packages folder, but I honestly don't know if that's the correct way to test it, because:

I have problem importing base ReactiveUI (circular depencency error)
I dont know where to put the System.Reactive dll because I cant find the apple specific folder of it in the packages

Long story short: I can now use the tvos base classes; it crashes at runtime but I'm not sure if that's my fault at wrongly importing the dlls or what

A good way I've found in the past to simulate a build from our products is to setup a nuget reference to the path,
So the build.cmd script will generate .nupkg in the artifacts folder.
Then in Visual Studio 2017 you can go to

Go to Tools menu -> Options
Search for nuget, Select NuGet Package Manager -> Package Sources
Click the green + button on the top right of the options screen.
Then for the name enter "rxui testing"
Then for the Source, you can press the "..." next to the source textbox to navigate to the artifacts founder.

Then you can use the nuget package manager like you would other nuget package, just in the dialog select "rxUI Testing" as your source.
That way you get more of a "realistic" testing environment.

thanks @glennawatson !
I still have some strange "dll not found" warnings, but I'm now able to use .WhenAnyValue without exceptions in a tvos freshly new project.

Can you copy/paste those DLL warnings in to the PR? Curious what you are getting.

Those are the errors:

Could not find System.Threading.Tasks.Extensions referenced by assembly System.Reactive, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=94bc3704cddfc263.
Xamarin.TVOS: Unable to locate assembly 'ReactiveUI.XamForms' (culture: '')
Xamarin.TVOS: Unable to locate assembly 'ReactiveUI.XamForms' (culture: '')
Xamarin.TVOS: Unable to locate assembly 'ReactiveUI.Winforms' (culture: '')
Xamarin.TVOS: Unable to locate assembly 'ReactiveUI.Winforms' (culture: '')
Xamarin.TVOS: Unable to locate assembly 'ReactiveUI.Wpf' (culture: '')
Xamarin.TVOS: Unable to locate assembly 'ReactiveUI.Wpf' (culture: '')

For the first one, I have added manually the System.Threading.Tasks.Extensions package with no luck. Also, I noticed that when I added System.Reactive.Linq to the packages, the local System.Reactive dll swapped automatically with the online nuget one, if that helps

@glennawatson back at work I noticed that I also have those warnings (except for the first one) also on the ios online nuget, so I guess that's ok

Hmm fair enough. Want to lodge a issue on GitHub about the warnings? Will see if we can get someone with more iOS experience to take a look. I will submit the PR once I get another review from someone.

Hi @reactiveui/ios-team this project is almost identical to your project with just a few controls removed. Check out and give some feedback. Thanks.


fix: Enum constructor clause

Fixes #10

I think even main build CI is red. LGTM.

I think even main build CI is red. LGTM.

Fixed!

@bdlukaa your changes are now released in 0.3.0, sorry for the delay!


new elements added to timeline

@az

@KarolinaTEH to be discussed - tomorrow 8:30? i am against putting it in the timeline...we may add some "featured" on the top instead

sure, 8:30


ui: Show Configuration files and hide secret

[x] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Fixes #3217
Changes
I created a package in the pkg/ui that handles the transformation of data gotten from the Yaml file. Only one function is exposed and this function takes in the byte data gotten from the Yaml config file before the marsh and unmarsh is done in the package
I also used the config package from Prometheus to handle the hiding of the secret.
N:B - One thing I couldn't do is merge two structs together so I had to copy the needed struct declaration over to my package.
Verification
Store component

Rule component

Compactor

Bucket-Web

@prmsrswt @kakkoyun please review, the tests that are failing doesn't look like a part of this implementation, I may be wrong though.

https://github.com/thanos-io/thanos/pull/3423#discussion_r521628429
@kakkoyun @prmsrswt the problem with this is that in order to mask the secret the struct has to define the secret field as returning a type Secret.  but that cannot be done there because the Struct is being used elsewhere and a string is expected for that field. so it throws an error.
Also,  a type field is expected in the struct in order to check the object storage client being used but this does not exist in the Config struct defined in those files. Hence I think direct reusability is not really possible.

@Oghenebrume50 This PR has a huge rebase issue. It includes unrelated commits (> 98). We should fix it.

@Oghenebrume50 This PR has a huge rebase issue. It includes unrelated commits (> 98). We should fix it.

I am not sure how to do this, any pointers do I have to go through the rebase again? @kakkoyun

@Oghenebrume50 @prmsrswt Let's push this to the finish line.

@Oghenebrume50 Shall we finish this one?

Sure so sorry been busy, taking a stab at it again, this weekend. @kakkoyun

Still valid.


sync data speed is too low, please help me

Code of Conduct

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

Search before asking

[X] I had searched in the issues and found no similar issues.

Describe the proposal
I was synchronized data from DRDS to Doris, my query range is “id < 50000000”, but total data less than 50000000, when i synchorized, that speed was very slow! less than datax much .
 my data  in DRDS has 42  cloumns, and this is my conf:

env {   checkpoint.interval = 10000   job.mode = "batch" } source{     Jdbc {         url = "jdbc:mysql://x.x.x.x:3306/pp_data_ds?useSSL=false&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&socketTimeout=6000000&waitTimeout=60000&autoReconnect=true&rewriteBatchedStatements=true&connectTimeout=60000"         driver = "com.mysql.cj.jdbc.Driver"         connection_check_timeout_sec = 100         user = "user_ro"         password = "******"         query = "select  province_name`, ...  from table_data where id >0 and id < 50000000"
}

}
sink {
Doris {
fenodes = "x.x.x.x:8030"
username = test
password = "*******"
database = "test"
table = "td_sub_sms_port_bk"
sink.label-prefix = "test-batch"
sink.enable-2pc = "true"
sink.enable-delete = "true"
doris.config {
format = "json"
read_json_by_line = "true"
}
}
}`
when I submit job config into cluster, log info is update slow ,

Task list
env {
checkpoint.interval = 10000
job.mode = "batch"
}
source{
Jdbc {
url = "jdbc:mysql://x.x.x.x:3306/pp_data_ds?useSSL=false&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&socketTimeout=6000000&waitTimeout=60000&autoReconnect=true&rewriteBatchedStatements=true&connectTimeout=60000"
driver = "com.mysql.cj.jdbc.Driver"
connection_check_timeout_sec = 100
user = "user_ro"
password = "******"
query = "select  province_name, ...  from table_data where id >0 and id < 50000000"
}

}
sink {
Doris {
fenodes = "x.x.x.x:8030"
username = test
password = "*******"
database = "test"
table = "td_sub_sms_port_bk"
sink.label-prefix = "test-batch"
sink.enable-2pc = "true"
sink.enable-delete = "true"
doris.config {
format = "json"
read_json_by_line = "true"
}
}
}
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

I can fix

I encountered the same problem, have you solved it yet

I can fix

how? more specific please.thanks a lot


[swagger-ts] transformers.name generates some types unchanged

What version of kubb is running?
2.18.4
What steps can reproduce the bug?
I tried to use transformer to change type names (https://www.kubb.dev/plugins/swagger-ts/#transformers)
Part of config:
plugins: [
        pluginTs({
          group: { type: 'tag', output: './types/{{tag}}' },
          transformers: {
            name: (name) => `GENERATED_${name}`,

The generated file has some names unchanged in the export block:
import type { GENERATED_RequestsQuestionsIndex } from '../GENERATED_RequestsQuestionsIndex';

export type GENERATED_GetApiQuestionsQueryParams = {
  /**
   * @type string | undefined
   */
  'search[title]'?: string;
  /**
   * @type string | undefined
   */
  'sort[title]'?: string;
};

/**
 * @description successful
 */
export type GENERATED_GetApiQuestions200 = GENERATED_RequestsQuestionsIndex;

/**
 * @description successful
 */
export type GENERATED_GetApiQuestionsQueryResponse =
  GENERATED_RequestsQuestionsIndex;

export type GENERATED_GetApiQuestionsQuery = {
  // ! no prefix here
  Response: GetApiQuestionsQueryResponse;
  QueryParams: GetApiQuestionsQueryParams;
};

@stijnvanhulle I noticed the same bug with swagger-client axios (it's trying to import a type with the wrong name), and swagger-msw doesn't specify the correct file name (if it's set in the config)


Option to continue building on failure when using --recipe-dir

When using the --recipe-dir flag it would be useful to be able to continue building the rest of the recipes even if one of them fails. I've begun with some changes in #1023 however I have not entirely grasped how to add the flag to the CLI yet.

Yes, agreed, that would be nice! I'll check your changes asap (was on vacation for the past two weeks).


systemd-boot customization for DSDT patch

Issue description
I'm setting up NixOS on a new Thinkpad X1 Yoga and trying to get all the machine-specific tweaks translated into Nix-ese. One particularly gnarly hack required is the installation of a custom DSDT table to enable suspend-to-RAM.
It looks like I need to add a second initrd line to https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py#L32 before the kernel initrd. (See https://wiki.archlinux.org/index.php/DSDT#Using_a_CPIO_archive .) However, I don't see a hook to customize that short of submitting a patch. Patching something that low-level for myself is one thing, but inserting a hook for everyone seems beyond my abilities :)
I guess this is a feature-request for the ability to customize the config file generated when the bootloader is installed, but also more generally a support request to see if there's another way to do it.
Technical details
system: "x86_64-linux"

host os: Linux 4.9.86, NixOS, 17.09.3205.12512f25e9e (Hummingbird)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 1.11.16
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

@joseph-long could you elaborate a bit on how you got this working?  I've been trying to figure it out and have gotten stuck.  So far I have:
let patched_dsdt_initrd = pkgs.makeInitrd {
  compressor = "cat";
  contents = [
    { object = ./dsdt.aml;
      symlink = "kernel/firmware/acpi/dsdt.aml";
    }
  ];
}; in

{
  boot.kernelParams = [ "mem_sleep_default=deep" ];
  boot.initrd.prepend = [ "${patched_dsdt_initrd}/initrd" ];

  boot.loader.systemd-boot.enable = true;
}

and that doesn't seem to do the right thing, so I'm wondering what does.

Hm, I didn't use makeInitrd. Here's the system configuration that I last had: https://gist.github.com/joseph-long/5d301c4fae488890e41f8ebb63722465#file-configuration-nix-L38 (I'm currently using Kubuntu, so consider it untested with latest NixOS.)
I think the file referenced is a cpio archive as described here: https://delta-xi.net/#056
It turns out you can also load ACPI DSDT files in GRUB (not as CPIO archives) by storing them in the EFI partition and adding a line to your GRUB config, so that's what I'm doing now (since patching the initrd for Kubuntu seemed brittle).


Refactor discovery and offline handling

There current implementation makes it a bit too hard to work with devices appearing and disappearing under unstable network conditions:

The client emits events for network errors only after having a subscription for device events established.
I'd prefer having the discovery emitting events for the sake of consistency.
The current discover method has some smell in it.
The specifics of handling errors are completely left to the API consumer.

Will cover #30

Just come across similar issues with the discovery method. It's weird that it only returns new devices once. I'd expect the discover method to always return a list of all the devices currently found on the network.

I've noticed that when doing the discovery, I can start my node instance multiple times and each time I'll get a different list of devices. This means that sometimes a device might temporarily go offline, and I'll no longer be able to control it.
I've also noticed if I wait too long in the code from doing new Wemo() to wemo.discover(cb), no devices will show up. It'd be nice to specify exactly when I want the listener activated and only at that time begin the discovery. It'd also be nice to setup as many listeners as I want if I wanna pass around the wemo object provided I have some separation where certain parts of the code don't need to know about what other parts are doing when devices are discovered.

Agree with @Sawtaytoes. I'm seeing discovery sometimes pick up devices and if they drop off wifi for some reason than I lose the ability to control them. I run discovery every minute in node and facing an issue right now where the device will not be re-discovered after an error until I restart the node services. I have a feeling there is a bug in that discovery/recovery code somewhere.

@netslayer It might give you the client instance for the meanwhile dropped-off device. See index.js#L149

I'm going to dig through the code now to see what's happening because it just reproduced again. client.on('error' returns "HTTP 400: 400 Bad Request" and then that device never appears again on re runs of the discovery. If I restart node it will be found.

Interesting. Did you run with debug output enabled and can post the logs?

To fix the problem I removed the if check "if (!self._clients[device.UDN] || self._clients[device.UDN].error) {" for checking if the device is already registered. Now when the device returns a 400 and then comes back it still will get discovered on the next discovery run. It appears that as soon as a 400 error occurs the error field is undefined and this if check prevents the re-discovery of the device when it comes back on (say after a network issue).
Thu, 31 May 2018 21:34:15 GMT wemo-client Subscription request failed with HTTP 400
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client Error occurred connecting to device at [object Object]
Thu, 31 May 2018 21:34:16 GMT wemo-client device EventEmitter {
and the device object itself has no error defined so it won't be found in the if check for discovery
"  error: undefined,"
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
Thu, 31 May 2018 21:34:16 GMT wemo-client subscription still pending
Thu, 31 May 2018 21:34:20 GMT wemo-client subscription still pending
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:21 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:23 GMT wemo-client Subscription request failed with HTTP 400
Thu, 31 May 2018 21:34:23 GMT wemo-client Subscription request failed with HTTP 412
Thu, 31 May 2018 21:34:24 GMT wemo-client subscription still pending
Thu, 31 May 2018 21:34:24 GMT wemo-client subscription still pending
Thu, 31 May 2018 21:34:25 GMT wemo-client Subscription request failed with HTTP 400
Thu, 31 May 2018 21:34:35 GMT wemo-client Renewing subscription - Device: uuid:Insight-1_0-231651K12012AB, Service: urn:Belkin:service:basicevent:1
{ address: '<IP_ADDRESS>', family: 'IPv4', port: 3097, size: 407 }
Thu, 31 May 2018 21:35:00 GMT wemo-client GetInsightParams Response:  { 's:Envelope':
{ '$':
{ 'xmlns:s': 'http://schemas.xmlsoap.org/soap/envelope/',
's:encodingStyle': 'http://schemas.xmlsoap.org/soap/encoding/' },
's:Body': { 'u:GetInsightParamsResponse': [Object] } } }
Thu, 31 May 2018 21:35:01 GMT wemo-client Found device: {"root":{"$":{"xmlns":"urn:Belkin:device-1-0"},"specVersion":{"major":"1","minor":"0"},"device":{"deviceType":"urn:Belkin:device:insight:1","friendlyName":"M1","manufacturer":"Belkin International Inc.","manufacturerURL":"http://www.belkin.com","modelDescription":"Belkin Insight 1.0","modelName":"Insight","modelNumber":"1.0","modelURL":"http://www.belkin.com/plugin/","serialNumber":"231651K1200F6E","UDN":"uuid:Insight-1_0-231651K1200F6E","UPC":"123456789","macAddress":"149182B44E14","firmwareVersion":"WeMo_WW_2.00.11057.PVT-OWRT-InsightV2","iconVersion":"0|49153","binaryState":"0","iconList":{"icon":{"mimetype":"jpg","width":"100","height":"100","depth":"100","url":"icon.jpg"}},"serviceList":{"service":[{"serviceType":"urn:Belkin:service:WiFiSetup:1","serviceId":"urn:Belkin:serviceId:WiFiSetup1","controlURL":"/upnp/control/WiFiSetup1","eventSubURL":"/upnp/event/WiFiSetup1","SCPDURL":"/setupservice.xml"},{"serviceType":"urn:Belkin:service:timesync:1","serviceId":"urn:Belkin:serviceId:timesync1","controlURL":"/upnp/control/timesync1","eventSubURL":"/upnp/event/timesync1","SCPDURL":"/timesyncservice.xml"},{"serviceType":"urn:Belkin:service:basicevent:1","serviceId":"urn:Belkin:serviceId:basicevent1","controlURL":"/upnp/control/basicevent1","eventSubURL":"/upnp/event/basicevent1","SCPDURL":"/eventservice.xml"},{"serviceType":"urn:Belkin:service:firmwareupdate:1","serviceId":"urn:Belkin:serviceId:firmwareupdate1","controlURL":"/upnp/control/firmwareupdate1","eventSubURL":"/upnp/event/firmwareupdate1","SCPDURL":"/firmwareupdate.xml"},{"serviceType":"urn:Belkin:service:rules:1","serviceId":"urn:Belkin:serviceId:rules1","controlURL":"/upnp/control/rules1","eventSubURL":"/upnp/event/rules1","SCPDURL":"/rulesservice.xml"},{"serviceType":"urn:Belkin:service:metainfo:1","serviceId":"urn:Belkin:serviceId:metainfo1","controlURL":"/upnp/control/metainfo1","eventSubURL":"/upnp/event/metainfo1","SCPDURL":"/metainfoservice.xml"},{"serviceType":"urn:Belkin:service:remoteaccess:1","serviceId":"urn:Belkin:serviceId:remoteaccess1","controlURL":"/upnp/control/remoteaccess1","eventSubURL":"/upnp/event/remoteaccess1","SCPDURL":"/remoteaccess.xml"},{"serviceType":"urn:Belkin:service:deviceinfo:1","serviceId":"urn:Belkin:serviceId:deviceinfo1","controlURL":"/upnp/control/deviceinfo1","eventSubURL":"/upnp/event/deviceinfo1","SCPDURL":"/deviceinfoservice.xml"},{"serviceType":"urn:Belkin:service:insight:1","serviceId":"urn:Belkin:serviceId:insight1","controlURL":"/upnp/control/insight1","eventSubURL":"/upnp/event/insight1","SCPDURL":"/insightservice.xml"},{"serviceType":"urn:Belkin:service:smartsetup:1","serviceId":"urn:Belkin:serviceId:smartsetup1","controlURL":"/upnp/control/smartsetup1","eventSubURL":"/upnp/event/smartsetup1","SCPDURL":"/smartsetup.xml"},{"serviceType":"urn:Belkin:service:manufacture:1","serviceId":"urn:Belkin:serviceId:manufacture1","controlURL":"/upnp/control/manufacture1","eventSubURL":"/upnp/event/manufacture1","SCPDURL":"/manufacture.xml"}]},"presentationURL":"/pluginpres.html","host":"<IP_ADDRESS>","port":"49153","callbackURL":"http://<IP_ADDRESS>:39158"}}}
then it starts to be discovered again with my check hack

Can we get this in the next version? @timonreinhard, do you need someone to make a pull request?

PRs are highly appreciated, yes.


Recovery of WAL may see an incomplete set of logs

Tablet servers track the active set of WALs (write ahead logs) in zookeeper.  When a tablet server dies all WALs listed in zookeeper are used for recovery.  Tablet servers determine which write ahead logs are active based on which tablets reference WALs.  If a tablet server allocates three WALs over time W1, W2, and W3 then its possible that tablets only reference W1 and W3.  If that tablet server dies, then only W1 and W3 would be used for recovery.  However, W2 may contain information that is important to some tablets.   Consider the following data.

Data in W1 :

Mutation for tablet T1 setting rowX:colY=valZ

Data in W2 :

Mutation for tablet T1 deleting rowX:colY
Start Minor Compaction event for T1
Finish Minor Compaction event for T2

Data in W3
Other data unrelated to T1

So if the tablet server dies and only W1 and W3 are used for recovery, then tablet T1 will bring back the deleted rowX:colY.  It does this because it does not see the data in W2 during recovery.  If the data in W2 was seen during recovery, then the tablet would know it had minor compacted and no data needed to be recovered.
Discovered this issue as a result of looking into and discussing #535 with @ctubbsii .  This bug only impacts Accumulo 1.8.0 and later.  The bug is a result of the change in 1.8.0 to track WALs per tablet servers instead of per tablet.   Before 1.8.0, the tablet T1 would have had not WALs associated with it after minor compacting.

One possible way to fix this is to make the tablet server keep all wals newer than the oldest referenced.  So if a tserver has 4 closed WALs W1, W2, W3, W4 where W4 is the oldest and W1, W3 are referenced then W1,W2,W3 should be kept in zookeeper.  In this case W4 can safely be GCed, but not W2.


Faetured projects should not list dead challenges.

Currently featured challenges includes 2 challenges from Jochen, which are already solved.

I have now made the challenges "invisible" and now they don't show up any more. But of course that's not the right solution here. Featured challenges should not list finished ones.


Fix JSON lax typing issue

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues.

Fixes #28360
Fixes #30901
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Shall we add some negative test cases, since we are allowing insureType with non field access syntax that we didn't allowed before.

We should add info on this to the beta3 release note.


add optional packageAlias to spec

Add packageAlias to spec to allow package to be named. So for example, helmrelease will use that as its name if the alias is provided.

/lgtm


[vm/ffi] Struct documentation issues

Struct documentation reads

All field declarations in a Struct subclass declaration must be marked external. You cannot create instances of the class, only have it point to existing native memory, so there is no memory in which to store non-native fields.

But ffi samples have examples of Struct subclasses with fields not marked as external and these samples are working on dart 2.12. Please see
https://github.com/dart-lang/samples/blob/f0027c9092bfa3e2a1f2e658f5f92e179904ca45/ffi/structs/structs.dart#L11-L34
So, documentation around external fields in Struct subclass should be changed to describe when these fields are allowed to be not external

The following statement contains typo and is not complete

All field declarations in a Struct subclass declaration must either have type int or float and be annotated with a NativeType representing the native type, or must be of type Pointer.

There's no float type in Dart and these fields are also may be subtype of 'Struct'. So, please change it to
All field declarations in a Struct subclass declaration must either have type int or double and be annotated with a NativeType representing the native type, or must be of type Pointer, or subtype of Struct.

May types from the above be nullable? May be

All field declarations in a Struct subclass declaration must either have type int? or double? and be annotated with a NativeType representing the native type, or must be of type Pointer?, or subtype of Struct?.

Please also add "Struct subtype cannot be empty. It is a compile error to implement Struct or use it as a mixin"


  A pr contains all changes in a folder.

This change is

/approve

/lgtm


Tearsheet: Description text wraps mid-word without hyphens

What package(s) are you using?

[x] Carbon for IBM Products (or Carbon for IBM Cloud & Cognitive)
[ ] Legacy/CDAI
[ ] Legacy/Security

Detailed description

Describe in detail the issue you're having.

The description text passed to a Tearsheet will automatically be wrapped by component mid-word and without hyphens leading to wrong breaks.

Is this issue related to a specific component?

Tearsheet

What browser are you working in?

Chrome 109

What version of the @carbon/ibm-products (or @carbon/ibm-cloud-cognitive)
package are you using?

<EMAIL_ADDRESS>Steps to reproduce the issue
Open storybook, resize window if necessary so that the description text wraps.
https://carbon-for-ibm-products.netlify.app/?path=/story/ibm-products-components-tearsheet-tearsheet--tearsheet
Additional information

I noticed this too when I was working on #2504. I have a fix in the branch but probably better to fix this in isolataion.


REST API will not start container

Required information

Distribution: Ubuntu
Distribution version: 14.04
The output of "lxc info":

    apicompat: 0
    auth: trusted
    environment:
      addresses:
      - <IP_ADDRESS>:8443
      - <IP_ADDRESS>:8443
      architectures:
      - x86_64
      - i686
      certificate: |
      driver: lxc
      driverversion: 2.0.1
      kernel: Linux
      kernelarchitecture: x86_64
      kernelversion: 3.13.0-86-generic
      server: lxd
      serverpid: 1752
      serverversion: 2.0.1
      storage: dir
      storageversion: ""
    config:
      core.https_address: '[::]'
    public: false

Issue description
I am using the REST API in a python script that creates and starts containers for me. The script is able to successfully create and delete profiles and containers using the requests package to interface with the REST API, however, starting containers always fails. I get status code 202, which means the operation has started, and no failure messages, but the containers never start. The script waits for a container's status to be "Running" before proceeding, so it gets stuck in a loop. In another terminal, I tried lxc start <container>, which actually started the container. However, running something like sudo curl -k -L --cert ~/.config/lxc/client.crt --key ~/.config/lxc/client.key -H "Content-Type: application/json" -X PUT -d '{"action": "start", "timeout": 30, "force": false, "stateful": false}'  does not start the container. Am I doing something wrong, or is this a bug in the REST API?

stgraber@dakara:~/data/code/lxc/lxd (stgraber/master)$ lxc list snappy
+--------+---------+------+------+------------+-----------+
|  NAME  |  STATE  | IPV4 | IPV6 |    TYPE    | SNAPSHOTS |
+--------+---------+------+------+------------+-----------+
| snappy | STOPPED |      |      | PERSISTENT | 1         |
+--------+---------+------+------+------------+-----------+
stgraber@dakara:~/data/code/lxc/lxd (stgraber/master)$ curl -s --unix-socket /var/lib/lxd/unix.socket -X PUT -d '{"action": "start", "timeout": 30, "force": false, "stateful": false}' lxd/1.0/containers/snappy/state
{"type":"async","status":"Operation created","status_code":100,"metadata":{"id":"37fb2749-7edc-4a68-a296-22517c4d0661","class":"task","created_at":"2016-05-26T18:05:00.20924389-04:00","updated_at":"2016-05-26T18:05:00.20924389-04:00","status":"Running","status_code":103,"resources":{"containers":["/1.0/containers/snappy"]},"metadata":null,"may_cancel":false,"err":""},"operation":"/1.0/operations/37fb2749-7edc-4a68-a296-22517c4d0661"}
stgraber@dakara:~/data/code/lxc/lxd (stgraber/master)$ lxc list snappy
+--------+---------+-----------------------+----------------------------------------------+------------+-----------+
|  NAME  |  STATE  |         IPV4          |                     IPV6                     |    TYPE    | SNAPSHOTS |
+--------+---------+-----------------------+----------------------------------------------+------------+-----------+
| snappy | RUNNING | <IP_ADDRESS> (eth0) | 2001:470:b368:4242:216:3eff:fe92:156f (eth0) | PERSISTENT | 1         |
+--------+---------+-----------------------+----------------------------------------------+------------+-----------+
stgraber@dakara:~/data/code/lxc/lxd (stgraber/master)$

Closing this bug as there doesn't appear to be anything wrong with that particular API.


[NO-TICKET] Validate that all public symbols are prefixed in Ruby releases

What does this PR do?
This PR adds a check during packaging of Ruby releases that all symbols exported in the libdatadog shared library are correctly prefixed.
Motivation
This allows us to catch any new unprefixed symbols, and thus we're able to rely on libdatadog not exporting symbols that would clash with other libraries that may be loaded in the same Ruby VM.
Additional Notes
N/A
How to test the change?
You can observe the new check running with docker-compose run push_to_rubygems.
This is safe to call as it'll stop asking for credentials before actually publishing anything to rubygems.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 70.24%. Comparing base (866b79d) to head (9533108).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #573      +/-   ##
==========================================
- Coverage   70.28%   70.24%   -0.05%
==========================================
  Files         214      214
  Lines       28785    28802      +17
==========================================
  Hits        20231    20231
- Misses       8554     8571      +17

Components
Coverage Δ

crashtracker
21.20% <ø> (ø)

datadog-alloc
98.73% <ø> (ø)

data-pipeline
50.00% <ø> (ø)

data-pipeline-ffi
0.00% <ø> (ø)

ddcommon
83.07% <ø> (ø)

ddcommon-ffi
70.20% <ø> (ø)

ddtelemetry
58.95% <ø> (ø)

ipc
84.18% <ø> (ø)

profiling
84.26% <ø> (ø)

profiling-ffi
77.42% <ø> (ø)

serverless
0.00% <ø> (ø)

sidecar
34.55% <ø> (ø)

sidecar-ffi
0.00% <ø> (ø)

spawn-worker
54.87% <ø> (ø)

trace-mini-agent
70.88% <ø> (ø)

trace-normalization
98.24% <ø> (ø)

trace-obfuscation
95.73% <ø> (ø)

trace-protobuf
77.16% <ø> (ø)

trace-utils
90.90% <ø> (-0.59%)
:arrow_down:


Question (not issue). Did you ever discover a good way while you were writing this to apply color to a range of text over multiple rows?

For example say you have 3 *** and you want everything over the next lines to be a given color, until *** is encountered again.
Take this:

Item 1
Item 2
Item 3
....

I ask because I'm working on extension where I need to have knowledge of what was on the lines above, and I'm not finding a great way via just implementing the GetClassificationSpans interface  (which just return a line at a time, and not all lines that have not been touched, etc.)
Thanks!  Lee
PS.  It's clear you put a lot of work into this - nicely done!!!

Hi, this extension only matches text within a line. I did not get the overall context for which you need to match text between two ***. It should be possible to match text using regex like below, but I am not sure if it will help with your work; I have forgotten everything that had to do with VS code extension development.
const text = `
To be ignored
***
Item A1
Item A2
***
To be ignored
***
Item B1
Item B2
***`;

const regex = /\*\*\*([\s\S]*?)\*\*\*/g;
let matches;
const results = [];

while ((matches = regex.exec(text)) !== null) {
    results.push(matches[1].trim());
}

console.log(results);

Hi, this extension only matches text within a line. I did not get the overall context for which you need to match text between two ***. It should be possible to match text using regex like below, but I am not sure if it will help with your work; I have forgotten everything that had to do with VS code extension development.
const text = `
To be ignored
***
Item A1
Item A2
***
To be ignored
***
Item B1
Item B2
***`;

const regex = /\*\*\*([\s\S]*?)\*\*\*/g;
let matches;
const results = [];

while ((matches = regex.exec(text)) !== null) {
    results.push(matches[1].trim());
}

console.log(results);


Duplicate line of code

There is duplication here. (open in a new tab to see highlight)
Line sqlConnectionSB.IntegratedSecurity = false; appears twice.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: cfa5d294-2da9-2938-794d-207704e1625f
Version Independent ID: ab9a3ba2-4b76-0311-5e89-5339991c5ec7
Content: Step 4: Connect resiliently to SQL with ADO.NET - ADO.NET Provider for SQL Server
Content Source: docs/connect/ado-net/step-4-connect-resiliently-sql-ado-net.md
Product: sql
Technology: connectivity
GitHub Login: @David-Engel
Microsoft Alias: v-davidengel

Thank you for your feedback.  I have updated the documentation and it should be live by tomorrow.


Tapo C200 with HA Core failing to display video and connect OVNIF

Description
I've setup a default configuration for the Tapo C200 camera with providing camera IP. Especially "Custom stream URL" is empty.
HA is installed manually (aka HomeAssistant Core).
Pre-test
Camera is available on HA machine (ping camera IP).
Additionally below Pyhton OpenCV script is working (grabbing frames).
url = f'rtsp://{urllib.parse.quote(CAM_USER)}:{urllib.parse.quote(CAM_PASS)}@{CAM_IP}/stream1'
capture = cv2.VideoCapture(url)

I also managed to successully run ovnif with ovnif_zeep
mycam = ONVIFCamera(CAM_IP, 2020, CAM_USER, CAM_PASS, 'venv/Lib/site-packages/wsdl')
ptz_service = mycam.create_ptz_service()
# ...

Running HA with Tapo-Control
1/ It needed ffmpeg. Installed with sudo apt install ffmpeg
2/ Following errors are reported from HA:
2022-07-18 18:15:10 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2022-07-18 18:15:10 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2022-07-18 18:15:20 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2022-07-18 18:15:20 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2022-07-18 18:15:32 ERROR (MainThread) [custom_components.tapo_control] HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Max retries exceeded with url: /stok=fa0163a07a1fd261361a05a90bd61440/ds (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4bed8c0c40>: Failed to establish a new connection: [Errno 111] Connection refused'))
2022-07-18 18:15:52 WARNING (MainThread) [homeassistant.components.onvif] Failed to fetch ONVIF PullPoint subscription messages for 'dc30be195c2cc2c1fb9706fc35ad7427_tapo_events':

No camera preview is available in HA.
Issues:
Why the url is /stok=fa0163a07a1fd261361a05a90bd61440/ds ? Tapo streams are available at /stream1 and /stream2
Reproduction Steps

Install Tapo C200 Camera with Tapo-Control plugin, following instruction
Provide configurtaion: IP, username, password
Options:

Cloud password: ""
Enable motion sensor: True
Automatically sync time: False
Use Stream from Home Assistant: False
Enable sound: False
Extra arguments for ffmpeg: ""
Custom stream link: ""
RTSP mechanism: "tcp"

Observe HA logs and HA dashboard

Expected behavior
1/ Camera image available.
2/ OVNIF control available
If applicable, add error logs.
2022-07-18 18:15:10 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2022-07-18 18:15:10 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2022-07-18 18:15:20 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2022-07-18 18:15:20 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2022-07-18 18:15:32 ERROR (MainThread) [custom_components.tapo_control] HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Max retries exceeded with url: /stok=fa0163a07a1fd261361a05a90bd61440/ds (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4bed8c0c40>: Failed to establish a new connection: [Errno 111] Connection refused'))
2022-07-18 18:15:52 WARNING (MainThread) [homeassistant.components.onvif] Failed to fetch ONVIF PullPoint subscription messages for 'dc30be195c2cc2c1fb9706fc35ad7427_tapo_events
Device Firmware
Tapo CAM C200
Using stream component
Yes
Does camera work via official integrations?
Yes
Camera has all attributes filled out in developer tools
Yes
HASS Environment
Home Assistant 2021.12.10 on Ubuntu
Search for similar issues
Yes
Additional information
No response

Your camera is not responding on port 443 for control. Make sure it is available and you are not running any under services accessing the camera while testing.


Adjust build process and prepare for repo/package renaming.

Fixes #33
Fixes #35

@keithamus If this looks good, after merge I'll release v0.0.3 under the new name, and add a deprecation note to the old npm package.


Add stable_sort_by_key()

This PR adds stable_sort_by_key(). Currently, stable_sort_by_key() works on GPUs only for
keys that are radix-sortable and for very small inputs (serial insertion sort algorithm).

Awesome! Merged!

@kylelutz When is the next release expected ? We want to include a properly defined way to identify if the functionality is available in a given install of boost compute. If we can tie this down to a version it'd be great.

Currently, stable_sort_by_key() works on GPUs only for
keys that are radix-sortable and for very small inputs (serial insertion sort algorithm).

@haahh Do you mean it has to be both radix sortable and is limited to small sizes or is it either one or the other ?

Either one or the other. Basically, Boost.Compute radix sort is stable so we used it here, but we do not have comparison sort implementation yet.


Convert clue scroll data from maps to JSON

Currently the classes holding clue scroll data are huge, and big issue for some editors, what is unacceptable. Converting the data to JSON should be very straightforward and would result in a lot better experience when editing clues.

We can do something to reference names in JSON, but it wouldn't get ide completion support


no Go source files always appear after trying build the project

Hello, i have problem when trying build my project.
"cannot load github.com/sirupsen/logrus/hooks/syslog: no Go source files"
The error above always appear. I also do "go clean -modcache" but the error still appear. I searched for a resolution for similar cases but did not find and decided to find out here. This is my first post in the developer forum. I apologize if there is any wrong and lack. Thanks

@indoits Did you ever find a solution for this problem?
I experience this when attempting to build on Windows 10 with Go 1.13, but do not have the same issue when building within an Ubuntu 18.04 VM with the same version of Go. I've blown away my $HOME/go folder and tried again, but without success.
Note: I have enabled the use of Go modules. I'm not sure if that has anything to do with what you're experiencing, but I figure it's worth noting.

I tried to download the package(s) from outside of my modules-enabled project and got back something different:
C:\Users\atc0005>go get -v github.com/sirupsen/logrus
github.com/sirupsen/logrus (download)

C:\Users\atc0005>go get -v github.com/sirupsen/logrus/hooks/syslog
can't load package: package github.com/sirupsen/logrus/hooks/syslog: build constraints exclude all Go files in C:\Users\atc0005\go\src\github.com\sirupsen\logrus\hooks\syslog

This bit stands out:
build constraints exclude all Go files in C:\Users\atc0005\go\src\github.com\sirupsen\logrus\hooks\syslog

Digging further, I found these references:

https://github.com/go-delve/delve/issues/845
https://stackoverflow.com/questions/24095004/cant-load-package-package-no-buildable-go-source-files
https://golang.org/pkg/go/build/#hdr-Build_Constraints

When looking at the top line of both files, I find this:
// +build !windows,!nacl,!plan9

I'm too new to Go to say whether this is something that can/should be handled differently by the library, or if the build process is simply unhelpful in not pointing out that my platform is not supported for the build.

Found a workaround, though I'm sure there is a better way: temporarily change GOOS from windows to linux.
From Git for Windows Bash shell:
GOOS=linux go build

From Command Prompt:
set GOOS=linux
go build

I use Visual Studio Code, but I'm unaware of how to change GOOS just for the particular workspace where the build flag conflict is present. If it is supported somehow, that would likely be a better place to set the override.

The github.com/sirupsen/logrus/hooks/syslog package will not build on Windows, Plan9, and nacl because the entirety of it is behind a set of build constraints (via build tags) that prevent it from being compiled on those platforms.
If you are writing some code that uses this package and expecting it to work on any of those platforms the code that uses the github.com/sirupsen/logrus/hooks/syslog package should also have the same build tags. These build tags were chosen because those are the same build tags that constrain the golang stdlib syslog package: https://golang.org/src/log/syslog/syslog.go
This is often worked around by providing a no-op implementation of the code that does not use the constrained package in seperate files (details in the golang build documentation linked above).
Super minimal example.
syslog_no-op.go
// +build windows plan9 nacl

func (t *MyType) Syslog(...) { // no-op because syslog isn't generally a thing on windows
  // could also panic here or return an error
}

syslog.go

// +build !windows, !plan9, !nacl

import github.com/sirupsen/logrus/hooks/syslog

func (t *MyType) Syslog(...) {
 ... // real implementation
}


[Feature Request] Provide a way to wait for a release to be fully ready.

I think waiting an installed release should be a common functionality but it looks like there is no easy way to do it yet. I thought about the following line, but unfortunately kubectl rollout status doesn't support multiple resources.
$ echo "$(helm get manifest my-release)" | kubectl rollout status -f -
error: rollout status is only supported on individual resources and resource collections - 5 resources were found

I think we can execute kubectl rollout status multiple times for each resource but it becomes kind of tedious.  How about having a Helm command that does it for us?

Have you tried using the --wait flag? It is available for install, upgrade, and rollback.


Simple example from src/lib.rs fails to build (yew 0.3, rust nightly)

Description
I'm submitting a bug report  (check one with "x")
I'm attempting to build the example in the comments from src/lib.rs and receive the following compile errors (the line numbers reflect their position in src/lib.rs):
line 22: [rustc] cannot find type Context in this scope
line 31: [rustc] cannot find macro html! in this scope
line 43: [rustc] cannot find function program in this scope
Context (Environment)

Rust: 1.28.0-nightly

yew: 0.3

target: wasm32-unknown-emscripten

cargo-web: 0.6.11

Is there any update on this issue? Have you solved it?

Doc tests are fixed now


error TS5055: Cannot write file in composite project with specific directory name

Bug Report
Hi,
Our composite project (Temporal Node.js TypeScript SDK) build emits TS5055 errors in watch mode after modifying a source file in packages/lib/worker/ (e.g. packages/lib/worker/core.ts).
I've looked at several issues, the docs and google searches and could not find an explanation for this.
I apologize in advance for not finding a minimal repro.
🔎 Search Terms

TS5055
overwrite input file
cannot write file

🕗 Version & Regression Information
4.4.3 but happens with any 4.x.x version I've tried (haven't tried earlier versions).
💻 Code

I tried to create a simple repro but I couldn't, unfortunately this project is a bit complex to setup (see https://github.com/temporalio/sdk-node/blob/main/CONTRIBUTING.md)
Hopefully the hint below will be enough to skip the repro.
🙁 Actual behavior
To reproduce, clone the repo from this commit:
https://github.com/temporalio/sdk-node/tree/9592be12e66af2939d5f5d71984007d8a95a2a76

Set up the project as instructed above.
Run npm run build.watch in a separate terminal
Change packages/worker/lib/core.ts
Observe the emitted errors:

@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/core.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/dependencies.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/errors.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/index.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/interceptors.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/isolate-builder.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/isolate-context-provider.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/logger.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/server-options.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/worker.d.ts' because it would overwrite input file.
@temporalio/test: error TS5055: Cannot write file '/Users/bergundy/temporal/sdk-node/packages/worker/lib/workflow.d.ts' because it would overwrite input file.
@temporalio/test: 5:44:49 PM - Found 11 errors. Watching for file changes.

Strangely, if I rename the worker directory to workerr this does not happen.
This commit includes the rename: https://github.com/temporalio/sdk-node/commit/671b9c2ad0ae16d87e198d38ed5aba54e631848e
🙂 Expected behavior

No build errors should be emitted.

What makes you think this is an issue with TypeScript? Have you tried this without the massive amount of tooling on top?

Does this happen if you just run tsc --build --watch on the test package without simultaneously running the other build.watch scripts?

@andrewbranch Yes, this happens if I only run (cd packages/test && npx tsc --build --watch)
@MartinJohns are you referring to npm scripts or lerna? Those are the only tools we have on top both pretty standard.

If you turn on declaration declaration:true please try turning off declaration declaration: false might be ok

I found the cause of this issue.
We somehow accidentally added a circular import in a .d.ts file referencing a type from the @temporalio/worker package.
What's strange is that there was no error emitted by TypeScript, I think we may need to make index.d.ts checked by the compiler and added to the composite project setup.
I'm not sure how this should be done though since there's nothing to compile in that package, there's only a single .d.ts file.
I've created a minimal reproduction of my issue here: https://github.com/bergundy/ts5055-repro
I'd say this might be a TypeScript issue because there's no assistance from the compiler indicating that something is wrong.
$ npm run build.watch

[5:02:19 AM] Starting compilation in watch mode...

error TS5055: Cannot write file '.../TS5055-repro/packages/b/lib/index.d.ts' because it would overwrite input file.

[5:02:19 AM] Found 1 error. Watching for file changes.

@bergundy should this issue still be open then? Or do we need to have a different issue tracking the lack of error from Typescript?

I've figured out what I did wrong but I think there might be an issue with the TypeScript not helping me figure this out.
I've managed to find out the reason because a user of my library used it with skipLibCheck: false and I think also node_modules was not excluded.
I've been using https://www.npmjs.com/package/@tsconfig/node14 as my base tsconfig which sets skipLibCheck to true which seems to be recommended for performance reasons, setting it to false indeed fixes the experience and tsc emits a meaningful message.


Fix locktt install

The (build) kogito-tooling-editors-java check has failed. Please check the logs.

Well, my changes gave a new error, so I must be on the right path :D

The (build) kogito-tooling-editors-java check has failed. Please check the logs.

The (build) kogito-tooling-editors-java check has failed. Please check the logs.

The (build) kogito-tooling-editors-java check has failed. Please check the logs.

The (build) kogito-tooling-editors-java check has failed. Please check the logs.

I'm merging this PR to unblock the CI for all the other PRs, as this PR does essentially the same thing in another way. Please @romartin @yesamer @Ginxo let's continue the discussions about locktt.


Api 0.32.0 updates

too many changes needed - it has been broken down into small tickets https://github.com/PoofyEnigma/chaster-python-sdk/issues/43


nixos.mautrix-facebook: Add new required config option.

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

There's not been a bump since April -- why is this suddenly needed?

I haven't looked into it too far yet. I suspect that a mautrix bump caused this issue.

Mautrix was updated 2 weeks ago: https://github.com/NixOS/nixpkgs/commit/3abbce5848bd3da6b626b4b4635612cd339c5026

I force-pushed to fix the commit message, but looking at it now, this shouldn't be required.
Mautrix defaults to standard, see https://github.com/mautrix/python/blob/690f4702cbdf1145646a6deebd21946a6338854c/mautrix/bridge/user.py#L131.
What error do you get when this option isn't set?

I got an explicit error that this open is required and not set. Away from the exact log right now but it was very clear.

Ah, here we go: https://github.com/mautrix/python/commit/bc7a01c77ca302e10b3e875f6175b59827cb4ab6.
I assume the error was Invalid value for homeserver.software in config?

Something like that. I don't remember if it was invalid or missing but I can check tomorrow.

You did have the right error message. For reference the entire log message with metadata is below (with system-specific information removed).
{
  "CODE_FILE": "/nix/store/hifpjkhq21haj87kmpjd94gk064wgcxx-python3.10-mautrix-0.18.4/lib/python3.10/site-packages/mautrix/bridge/bridge.py",
  "CODE_FUNC": "prepare",
  "CODE_LINE": "126",
  "LOGGER": "mau.init",
  "MESSAGE": "mau.init: Invalid value for homeserver.software in config",
  "PRIORITY": "2",
  "PROCESS_NAME": "MainProcess",
  "SYSLOG_IDENTIFIER": "mautrix-facebook",
  "THREAD_NAME": "MainThread",
  "_COMM": "python",
  "_EXE": "/nix/store/fkcl1wzq3106qqgl84bhgk1lp56q6bzg-python3-3.10.7/bin/python3.10",
  "_SYSTEMD_CGROUP": "/system.slice/mautrix-facebook.service",
  "_SYSTEMD_SLICE": "system.slice",
  "_SYSTEMD_UNIT": "mautrix-facebook.service",
  "_TRANSPORT": "journal",
}


fix: updated Dockerfile

To reduce image size and improve cache management I have changed final image for distroless . Copy go.mod and go.sum in prebuild layer. The dependencies do not change so often as the program itself. Doing the download in a separate step allows this layer to be cached. Repeated builds will then be much faster. Also I have changed the file directory to /app.

Thanks for the PR.
But I tried to build the new image, It seems not be better than before.
Before
local/loggie   before    79f489de970e   About a minute ago   127MB

After
local/loggie   after     5ac4047bfa5c   24 seconds ago   188MB

Okay then so I close this pr. It is my mistake. I do not see any additional or different improvement in this file.


TypeError: can't pickle _thread.lock objects

Environment:

Milvus version: 2.2.8
Deployment mode(standalone or cluster):standalone
MQ type(rocksmq, pulsar or kafka):    no
SDK version(e.g. pymilvus v2.0.0rc2):2.1.0
OS(Ubuntu or CentOS): CentOS7.9
CPU/Memory: 128GB
GPU: 24GB
Others:

Current Behavior:
When I run the default example whitch is located in "examples/image/reverse_image_search/1_build_image_search_engine.ipynb", it throws an exception
https://user-images.githubusercontent.com/6244724/240831658-2a5a480c-932d-4c59-b9be-fb22dfdb82b6.png
how to solve this problem about  the default towhee example ?

To update towhee to version 1.0, simply use the following command: "pip install towhee==1.0.0".

thanks! It works well !


any idea how to trace apply/3

Goal - trying to trace 'apply(M,F,ARGS)' calls
Status - cannot figure out how to do this.
Tried - the following:
Doesn't pick up the call (wildcards in params)
iex(69)> Rexbug.start(":erlang.apply(_,_,_)  :: stack,return")
{330, 1}
iex(70)> :erlang.apply(:lists, :join, [",",[1,2]])
[1, ",", 2]
redbug done, timeout - 0

Doesn't pick up the call (specified function arity)
iex(71)> Rexbug.start(":erlang.apply/3  :: stack,return")
{330, 1}
iex(72)> :erlang.apply(:lists, :join, [",",[1,2]])
[1, ",", 2]
redbug done, timeout - 0

Picks up shell invocation but not the call (specified any arity)
iex(74)> Rexbug.start(":erlang.apply/_  :: stack,return")
{330, 2}

# 14:56:28 #PID<0.773.0> :erlang.apply/2
# :erlang.apply(#Function<0.85340651/0 in IEx.Server.loop/3>, [])

iex(75)> :erlang.apply(:lists, :join, [",",[1,2]])

# 14:56:33 #PID<0.773.0> (:dead)
# :erlang.apply/2 -> {:input, #PID<0.773.0>, ":erlang.apply(:lists, :join, [\",\",[1,2]])\n"}
[1, ",", 2]

# 14:56:33 #PID<0.774.0> :erlang.apply/2
# :erlang.apply(#Function<0.85340651/0 in IEx.Server.loop/3>, [])
redbug done, timeout - 2

Doesn't pick up with specified parameters
iex(76)> Rexbug.start(":erlang.apply({:lists,:join},_)  :: stack,return")
{330, 1}
iex(77)> :erlang.apply(:lists, :join, [",",[1,2]])
[1, ",", 2]
redbug done, timeout - 0

Try the Elixir syntax (knew this wouldn't work as compiler transforms into :erlang.apply)
iex(78)> Rexbug.start("Kernel.apply/_  :: stack,return")
{330, 2}
iex(79)> Kernel.apply(:lists, :join, [",",[1,2]])
[1, ",", 2]
redbug done, timeout - 0

Doesn't look to be a Rexbug issue - tried using redbug (underlying library) and behaviour is the same :
iex(89)> :redbug.start('erlang:apply')
{330, 2}

% 15:08:22 <0.841.0>({erlang,apply,2})
% erlang:apply(#Fun<Elixir.IEx.Server.0.85340651>, [])
iex(90)> :erlang.apply(:lists, :join, [",",[1,2]])
[1, ",", 2]

% 15:08:25 <0.843.0>({erlang,apply,2})
% erlang:apply(#Fun<Elixir.IEx.Server.0.85340651>, [])
redbug done, timeout - 2

Thinking it was a general issue with BIF's but :lists.reverse/1 traces fine :
iex(116)> :redbug.start('lists:reverse([1,2,3,4,5]) -> return')
{330, 1}
iex(117)> :lists.reverse([1,2,3,4,5])
[5, 4, 3, 2, 1]

% 15:24:42 <0.504.0>({'Elixir.IEx.Evaluator',init,4})
% lists:reverse([1,2,3,4,5])

% 15:24:42 <0.504.0>({'Elixir.IEx.Evaluator',init,4})
% lists:reverse/1 -> [5,4,3,2,1]


feat(examples): add rust developer-starter-kit

Draft to facilitate discussion.
Feature or Problem
This PR adds what I've been calling a "developer starter kit" for Rust component development. It uses each standard capability that we include in the wasmcloud_component crate and support with wash dev, doing the right things with streams, WASI interfaces, etc. This should be a great starting point for developers to come in, run wash dev, and use the standard capabilities immediately.
As you can see in this PR some of this code is a little cumbersome and could be cleaned up. My goal is for anything that's surfaced here as a pain point to be considered for a helper function in wasmcloud_component or re-use of an upstream crate.
Once we hone in on exactly how we want this example to look, we can replicate it for the other languages.
Related Issues

Release Information

Consumer Impact

Testing

Unit Test(s)

Acceptance or Integration

Manual Verification

Hey @brooksmtownsend do you still want this reviewed? I know we discussed maybe splitting up the functionalities somehow, but not sure where we landed!

Oh thanks @vados-cosmonic ! No, I know we discussed this one but I don't know if this is the best way to show this, and I'm just going to close this for now. If any onlookers wanted this, let me know!


Snapshot copy using az snapshot create does not copy property "Trusted Launch"

Describe the bug
When creating an incremental snapshot from an OS disk of a VM that uses Trusted Launch, the property "Trusted Launch" is set for the snapshot, too. When copying this snapshot using az snapshot create, the property "Trusted Launch" goes away. This results in a failure when creating a new VM from the copied snapshot.
Related command
az snapshot create -g 'martinme_repro_ssc5_target' -n 'osdisk.snapshot.target' --source "/subscriptions/e663cc2d-722b-4be1-b636bbd9e4c60fd9/resourceGroups/martinme_repro_ssc5_source/providers/Microsoft.Compute/snapshots/osdisk.snapshot.source" --copy-start --incremental -l eastus
Errors
az snapshot create does not return any error but its result is wrong.
Follow-up error because az snapshot create did not work correctly:
New-AzResourceGroupDeployment -ResourceGroupName $rgname_target -Temp …
|  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 1:18:30 PM - The deployment 'dc97fd09-3bf3-4063-914c-310a11774d92' failed with error(s). Showing 1 out of 1
| error(s). Status Message: Security type of VM is not compatible with the security type of attached OS Disk.
| (Code:BadRequest)  CorrelationId: f958dea6-b50a-4cd9-8f07-fa44cee34980
Issue script & Debug output
This issue is related to https://github.com/Azure/azure-powershell/issues/24242
You can use the repro script from that issue and simply replace:
$config = New-AzSnapshotConfig -SourceResourceId $sourceSnapshot.Id -CreateOption 'CopyStart' -Location $location -Incremental
$targetSnapshot = New-AzSnapshot -SnapshotName $snapshotNameTarget -ResourceGroupName $rgname_target -Snapshot $config
with:
az snapshot create -g 'martinme_repro_ssc5_target' -n 'osdisk.snapshot.target' --source "/subscriptions/e663cc2d-722b-4be1-b636-bbd9e4c60fd9/resourceGroups/martinme_repro_ssc5_source/providers/Microsoft.Compute/snapshots/osdisk.snapshot.source" --copy-start --incremental -l eastus
Expected behavior
az snapshot create should check all properties of the source snapshot and set it in the copied snapshot, too.
Environment Summary
azure-cli                         2.57.0
core                              2.57.0
telemetry                          1.1.0
Extensions:
ai-examples                        0.2.5
bastion                            0.2.3
ml                                2.22.0
ssh                                2.0.2
Dependencies:
msal                              1.26.0
azure-mgmt-resource             23.1.0b
Additional context
No response

Thank you for opening this issue, we will look into it.


refactor(frontend): move metadata from .env file to JSON file

Motivation
We would like to make the following metadata static:

OISY_NAME
OISY_ONELINER
OISY_DESCRIPTION
OISY_REPO_URL
OISY_ALPHA_WARNING_URL

So, we move them to a JSON file to be used both by the src code and by the building scripts.
Changes

Create JSON file with metadata in src/static folder.
Adapt src code constants to fetch JSON file.
Adjust html and manifest file to use new metadata.
Adjust building script to fetch JSON file.
Clean .env files.

Tests

On local replica, the constants are properly used. For example, in the i18n function replaceOisyPlaceholders:

After npm run build, the html files and the manifest files are properly built:

{
	"name": "Oisy Wallet",
	"short_name": "Oisy Wallet",
	"start_url": ".",
	"display": "standalone",
	"theme_color": "#33156A",
	"background_color": "#33156A",
	"description": "A multi-chain wallet powered by chainfusion",
	"orientation": "portrait-primary",
	"prefer_related_applications": false,
	"categories": ["finance"],
	"icons": [
		{
			"src": "favicons/icon-192x192.png",
			"sizes": "192x192",
			"type": "image/png"
		},
		{
			"src": "favicons/icon-512x512.png",
			"sizes": "512x512",
			"type": "image/png"
		}
	],
	"shortcuts": [
		{
			"name": "Ethereum",
			"url": "/",
			"icons": [{ "src": "/icons/eth.png", "type": "image/png", "sizes": "192x192" }]
		},
		{
			"name": "Internet Computer",
			"url": "/?network=ICP",
			"icons": [{ "src": "/icons/icp.png", "type": "image/png", "sizes": "192x192" }]
		}
	]
}

On it!

Finally I would cleanup the build scripts.

I thought I did it in this PR, or you mean something else?

or you mean something else?

Just in case there is still something to clean

@peterpeterparker ready for another review


SSH suddenly not working

VSCode Version: 1.43.0
OS Version: Windows 10 Home 64-bit

VSCode has been working with SSH absolutely fine for months. A few days ago, VSCode suddenly decided to stop connecting to my remote server via SSH. Note that I am able to connect to the server via SSH with PowerShell and WSL. I have OpenSSH Client and Server installed (otherwise PowerShell wouldn't work, obviously), and have generated pub/priv SSH keys located in .ssh in my user directory. I also have a config file which, with PowerShell, I can confirm has been configured correctly.
Steps to Reproduce:

Right-click on SSH target in left side-bar in the "Remote Explorer" section, then click "Connect to Host in Current/New Window"
VS Code thinks about it for a while, then spits out the following log message:

Note 1. I have redacted some keys/passwords for privacy reasons
Note 2. My user directory is C:\Users\Jeremy Lindsay and not C:\Users\Jeremy
[18:35:50.286] Log Level: 2
[18:35:50.303]<EMAIL_ADDRESS>[18:35:50.304] win32 x64
[18:35:50.311] SSH Resolver called for "ssh-remote+cse", attempt 1
[18:35:50.312] SSH Resolver called for host: cse
[18:35:50.312] Setting up SSH remote "cse"
[18:35:50.321] Acquiring local install lock: C:\Users\JEREMY~1\AppData\Local\Temp\vscode-remote-ssh-cse-install.lock
[18:35:50.354] Looking for existing server data file at c:\Users\Jeremy Lindsay\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-ssh\vscode-ssh-host-cse-[REDACTED FOR PRIVACY]\data.json
[18:35:50.355] Using commit id "[REDACTED FOR PRIVACY]" and quality "stable" for server
[18:35:50.357] Install and start server if needed
[18:35:50.363] Checking ssh with "ssh -V"
[18:35:50.459] > OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
[18:35:50.460] Checking ssh with "C:\WINDOWS\System32\OpenSSH\ssh.exe -V"
[18:35:50.517] > OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
[18:35:50.517] Checking ssh with "C:\Program Files\Git\usr\bin\ssh.exe -V"
[18:35:50.781] > OpenSSH_8.1p1, OpenSSL 1.1.1d  10 Sep 2019
[18:35:50.786] askpass server listening on \\.\pipe\vscode-ssh-askpass-[REDACTED FOR PRIVACY]-sock
[18:35:50.786] Spawning local server with {"ipcHandlePath":"\\\\.\\pipe\\vscode-ssh-askpass-[REDACTED FOR PRIVACY]-sock","sshCommand":"C:\\Program Files\\Git\\usr\\bin\\ssh.exe","sshArgs":["-v","-T","-D","50072","cse"],"dataFilePath":"c:\\Users\\Jeremy Lindsay\\AppData\\Roaming\\Code\\User\\globalStorage\\ms-vscode-remote.remote-ssh\\vscode-ssh-host-cse-[REDACTED FOR PRIVACY]\\data.json"}
[18:35:50.787] Local server env: {"DISPLAY":"1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"c:\\Users\\Jeremy Lindsay\\.vscode\\extensions\\ms-vscode-remote.remote-ssh-0.50.0\\out\\local-server\\askpass.bat","VSCODE_SSH_ASKPASS_NODE":"C:\\Users\\Jeremy Lindsay\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe","VSCODE_SSH_ASKPASS_MAIN":"c:\\Users\\Jeremy Lindsay\\.vscode\\extensions\\ms-vscode-remote.remote-ssh-0.50.0\\out\\askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"\\\\.\\pipe\\vscode-ssh-askpass-[REDACTED FOR PRIVACY]-sock"}
[18:35:50.796] Spawned 13380
[18:35:50.974] > local-server> Spawned ssh: 5000
[18:35:51.023] stderr> OpenSSH_8.1p1, OpenSSL 1.1.1d  10 Sep 2019
[18:35:51.438] stderr> debug1: Server host key: ssh-rsa SHA256:[REDACTED FOR PRIVACY]
[18:35:53.880] stderr> 'C:\Users\Jeremy' is not recognized as an internal or external command,
[18:35:53.880] stderr> operable program or batch file.
[18:35:55.783] stderr> Permission denied, please try again.
[18:35:55.818] stderr> 'C:\Users\Jeremy' is not recognized as an internal or external command,
[18:35:55.818] stderr> operable program or batch file.
[18:35:58.378] stderr> Permission denied, please try again.
[18:35:58.418] stderr> 'C:\Users\Jeremy' is not recognized as an internal or external command,
[18:35:58.418] stderr> operable program or batch file.
[18:36:00.535] stderr><EMAIL_ADDRESS>Permission denied (publickey,password,hostbased).
[18:36:00.553] > local-server> ssh child died, shutting down
[18:36:00.607] Local server exit: 0
[18:36:00.608] Received install output: OpenSSH_8.1p1, OpenSSL 1.1.1d  10 Sep 2019
debug1: Server host key: ssh-rsa SHA256:[REDACTED FOR PRIVACY]
'C:\Users\Jeremy' is not recognized as an internal or external command,
operable program or batch file.
Permission denied, please try again.
'C:\Users\Jeremy' is not recognized as an internal or external command,
operable program or batch file.
Permission denied, please try again.
'C:\Users\Jeremy' is not recognized as an internal or external command,
operable program or batch file.
<EMAIL_ADDRESS>Permission denied (publickey,password,hostbased).

[18:36:00.610] Resolver error: Permission denied (publickey,password,hostbased).
[18:36:00.616] ------

Does this issue occur when all extensions are disabled?: N/A

Good bot, my post was a duplicate after all and that solution worked for me.


Cannot assign user roles or groups to own user.

Winter CMS Build
dev-develop
PHP Version
8.1
Database engine
MySQL/MariaDB
Plugins installed
No response
Issue description
I cannot assign user groups or roles to my own account.
Steps to replicate
I go to Settings > Administrators > and click on my own user account.
I get to the edit form of my account, but cannot assign groups or roles.
If I click on any other user account I can assign groups or roles.
Groups or roles can be used programatically for other things then permissions and it would be good to assign those to own user.
Workaround
Create another admin user or user with the permission to manage users, login or impoersonate as this user and then edit your own user and assign groups or roles.

This is on purpose so a user cannot add more permissions to their own account without jumping through an extra hoop. Suggestions welcome.

That is a good thought but maybe for super users we could enable adding roles at least?

@der-On I would counter that suggestion with the point that your super user accounts should not be actively used as a working account on the system, they should be "break glass in case of emergency" accounts and your normal working accounts should be non-superusers. This helps ensure that permissions are configured correctly for everyone when devs are limited to non-superuser accounts.

Got it and thanks for clarifying.

To be clear, I'm not trying to shut down the suggestion, just raising points about why it is the way it currently is. If anyone has other suggestions or points to make on this discussion by all means feel free to continue discussing it.


feat: add test case execution related promethus metrics

We highly recommend you read the contributor's documentation before starting the review process especially since this is your first contribution to this project.
It was updated on 2024/5/27

What type of PR is this?

What this PR does / why we need it:
See also

Which issue(s) this PR fixes:

Fixes #

hi @SamYSF I just added more metrics.


Remove duplicate bounds checking logic

Since the endpoint options are numeric values instead of pointers, they default to 0 when initializing the struct and an explicit value is not specified. This means that all parameters are included in each request instead of omitting empty ones, and it forces us to ensure that those default values will not produce a 400 response. In the future, we might want to transition to using pointers for our options structs so that omitempty can leave out fields which are not specified allowing us to remove the duplicate bounds checking logic.

Hey thanks for the issue. We now auto-generate the SDKs so the codebase is different and this issue no longer applies.


Fix: Add proto reset to Stargate Querier

What is the purpose of the change
Current Stargate querier implementation would not proto unmarshal & json marshall as expected, if the query includes a repeated field, the query simply appending on top of the existing struct. This way each time we parse the protobuf data we are simply appending to the existing array, thus having to need to zero it out every time we load.
This PR solves the existing problem by resetting the message every time we call a query request.
Brief Changelog

Reset proto message every time query is called

Testing and Verifying
Adds a test case that includes query with iteration
Special thanks to @ethanfrey for helping with the insights here!

@mattverse  Since the initial problem we found is accumulated iterable (repeat in proto speak) query response, I think we should add test cases that address this problem as well.

for:

Adds a test case that includes query with iteration

I think we should add "running the same query that returns iterable(s) multiple times should not accumulate" into the cases since that's where the original problem occurs.

@mattverse for:

Adds a test case that includes query with iteration

I think we should add "running the same query that returns iterable(s) multiple times should not accumulate" into the cases since that's where the original problem occurs.

Good Catch! Just added some more test cases on this, re-requesting for your review on the added test cases

Whats the corresponding code to deserialize this response cosmwasm side?

Merging as this PR is clearly good, but I do still have questions pre-release


DateTimes in $or queries

I'm getting an error querying using dates if the datetime is inside an $or clause:
require 'mongoid'

Mongoid.configure do |config|
  config.master = Mongo::Connection.new.db("orred_dates")
end

class Rockstar
  include Mongoid::Document

  has_many :gigs do
    def find_future
      where(time: {"$gt" => DateTime.now})
    end
    def find_future_or_now
      where(
        "$or" => [
          {time: {"$gt" => DateTime.now}},
          {right_now: true}
        ]
      )
    end
    def find_future_or_now_with_time
      where(
        "$or" => [
          {time: {"$gt" => Time.now}},
          {right_now: true}
        ]
      )
    end
  end

end

class Gig
  include Mongoid::Document

  belongs_to :rockstar

  field :time, type: DateTime
  field :right_now, type: Boolean, default: false
end

rockstar = Rockstar.new

rockstar.gigs.build(time: DateTime.parse("May 25, 2012")).save
rockstar.gigs.build(right_now: true).save
rockstar.gigs.build(time: DateTime.parse("May 25, 1965")).save
rockstar.save
rockstar.reload

puts rockstar.gigs.find_future          # works fine
puts rockstar.gigs.find_future_or_now_with_time  #also works
puts rockstar.gigs.find_future_or_now   # error

The full trace is:
/home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/bson-1.5.2/lib/bson/bson_c.rb:24:in `serialize': DateTime is not currently supported; use a UTC Time instance instead. (BSON::InvalidDocument)
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/bson-1.5.2/lib/bson/bson_c.rb:24:in `serialize'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongo-1.5.2/lib/mongo/cursor.rb:602:in `construct_query_message'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongo-1.5.2/lib/mongo/cursor.rb:465:in `send_initial_query'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongo-1.5.2/lib/mongo/cursor.rb:458:in `refresh'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongo-1.5.2/lib/mongo/cursor.rb:128:in `next'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongo-1.5.2/lib/mongo/cursor.rb:290:in `each'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongoid-2.4.0/lib/mongoid/cursor.rb:48:in `each'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongoid-2.4.0/lib/mongoid/contexts/mongo.rb:242:in `iterate'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongoid-2.4.0/lib/mongoid/criteria.rb:145:in `block in each'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongoid-2.4.0/lib/mongoid/criteria.rb:145:in `tap'
	from /home/isaac/.rvm/gems/ruby-1.9.2-p290/gems/mongoid-2.4.0/lib/mongoid/criteria.rb:145:in `each'
	from mongoid_or_datetime.rb:44:in `to_a'
	from mongoid_or_datetime.rb:44:in `puts'
	from mongoid_or_datetime.rb:44:in `puts'
	from mongoid_or_datetime.rb:44:in `<main>'

The direct Mongo query I'd expect here works like it should:
db.gigs.find({
  $or: [
    {right_now: true},
    {time : {$gt : ISODate("2012-01-10T04:00:00Z")}}
  ]
})

Am I doing something wrong?

We are returning here since with the $or it doesn't know what the field is.
https://github.com/mongoid/mongoid/blob/master/lib/mongoid/criterion/selector.rb#L88

I cannot reproduce your bug on master, instead I get:
print rockstar.gigs.find_future_or_now.inspect
=> #<Mongoid::Criteria
  selector: {
    "rockstar_id"=>BSON::ObjectId('4f1033f3d9e3ed0a2d00000a'),
    "$or"=>[{:time=>{"$gt"=>Fri, 13 Jan 2012 14:38:59 +0100}}, {:right_now=>true}]},
  options:  {},
  class:    Gig,
  embedded: false>

No worries will provide a fix today.

@i0rek Du bist mein Held!

:D
I came across a problem. I implemented this array handling and everything seemed ok until I noticed that Selector inherits from Hash. Consequently the $or becomes a hash key and every $or which is added to this selector overrides the previous.
def find_and_override
  where(
    "$or" => [
      {time: {"$gt" => Time.now}},
      {right_now: true}
    ],
    "$or" => [
      {time: {"$lt" => Time.now}},
      {right_now: false}
    ]
  )
#=> #<Mongoid::Criteria
  selector: {"rockstar_id"=>BSON::ObjectId('4f11f04c749541037600000e'),
    "$or"=>[{:time=>{"$lt"=>2012-01-14 21:14:52 UTC}}, {:right_now=>false}]},
  options:  {},
  class:    Gig,
  embedded: false>

Any thoughts @durran?

Closed by #1594.

You guys rock!