Figure out checking if given hardware ID is available to use

Right now we ask user to select hardware IDs which should be used for nodes, but we could as well pick any available hardware from Tinkerbell server. In both cases, we need to check if given hardware is ready to run workflows. The easiest way of doing this is just to see if there are any workflows associated with a given hardware.

I think @mmlb and @splaspood @markyjackson-taulia can give us an idea about this.

we need to check if the given hardware is ready to run workflows.

In practice, we have to identify if give hardware can be a good candidate for provisioning. I think using the previous workflow is an easy way to do it and it will work for v0.1.0 but moving forward we will have to use a combination of factors.
For not it works mainly because deprovisioning and machine update won't be supported in v0.1.0

Something like this works fine: https://github.com/tinkerbell/cluster-api-provider-tink/blob/b3153920195a2dbdbfe70271f958aaac508b178e/controllers/tinkerbell.go#L128-L216.

Note, that code above is vulnerable to TOCTOU. In the future we should have some sort of locking mechanism, which will allow us to reserve hardware for a given cluster.

Note, that code above is vulnerable to TOCTOU. In the future we should have some sort of locking mechanism, which will allow us to reserve hardware for a given cluster.

I still think we should specify a list of hardware ID because I don't want to use all my 10 NUCs for ClusterAPI :P but yes! We also need something smarter than a list! xD

I'm reworking #17 right now to make it based on #8, so we can use most likely labels to figure out if hardware is available.

I'm reworking #17 right now to make it based on #8, so we can use most likely labels to figure out if hardware is available.


[Question] How I setup a base path for img or url that use relative path ?

I'm new to this project, and I try to render a markdown file through MVC.
I need to config the relative path to a absolute path  such like  ![](image/imageName.jpg)    => <img src="/doc/?path=imageName.jpg" /> .
Is there a way to do this ?  Thanks.

Currently, there is no interface to do this automatically. Either you have to process the Markdown AST and fix the links, and then render this AST to HTML. Or make a PR that can introduce this as part of the HTML rendering part, as an option (base url for relative url for example).

Curious when you're planning on releasing this? I stumbled on this when looking to get this working. Fundamentally, I just need the BaseUrl concept. The only other improvement I can see is adding a way to set it in Markdown.ToHtml(text, pipeline); but I can see why you wouldn't want to do that.

Closing as resolved by #201

How do I use this function now?

How do I use this function now?

There are tests in the PR just above that shows how to use it

I am really new to this, and I can't figure out how to use it.
I only know how to setup the basic markdown renderer but that's all. Do I set this up in brackets at the initialization of markdown-it like this: new markdownit({BaseUrl: my_url})
Because that didn't worked for me.
i'm sorry if i ask something very simple. Unfortunately, I am not very familiar with this area.


how to get the training speed and compare with maskrcnn-benchmark

https://github.com/open-mmlab/mmdetection/blob/master/MODEL_ZOO.md#comparison-with-detectron-and-maskrcnn-benchmark

Thanks for your reply, I want to test how the model performs when gpu grows in single machine, so I simply use the code python mmdetection/tools/train.py mmdetection/configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py --gpus=X, X is valued in [1, 2, 4, 8], get time from log like
XXX - INFO - Epoch [4][24450/24827]	lr: 0.00100, eta: 0:01:14, time: 0.200, data_time: 0.004, memory: 2238, loss_rpn_cls: 0.0050, loss_rpn_reg: 0.0060, loss_cls: 0.0587, acc: 97.7441, loss_reg: 0.0473, loss: 0.1169

then use 50/time(0.2)=250fps(X=1), 650fps(X=8) the speed up rate is low depending the gpu num. Am I wrong with the calculation?

https://github.com/open-mmlab/mmdetection/blob/master/GETTING_STARTED.md#train-with-multiple-gpus

https://github.com/open-mmlab/mmdetection/blob/master/GETTING_STARTED.md#train-with-multiple-gpus

How to get 24827 on pascal voc! the number of trainval0712  is 16651.


Passing auth in integration tests

I'm playing around and am curious how one would pass creds or a token in an integration test? Would it be more appropriate to do so in a test that invokes a authorized controller and goes through the traditional request pipeline? Is there a way I can pass along a user's context when testing specific commands and/or queries outside of that pipeline?

You want to test invoking a Controller?  I'm not sure what you mean.
One of the reasons to have a Controller that only calls MediatR and nothing else is to avoid having to worry about having ASP.NET Core in your testing.  Testing your own code versus ASP.NET Core is more desirable.
If you're trying to assert that your configuration of ASP.NET Core is correct there is probably better ways to do that.

I'm more trying to assert that the CurrentUserAccessor middleware is working as expected, so I'd like to be able to make a request and provide a user context to ensure that I'm able to get the correct information from the user issuing the command. Does that make sense?


Rename index.html to Trần Quyền

[x] Have you followed the contributing guidelines?
[x] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Aatranquyen150397

Aatranquyen150397

4AEE18F83AFDEB23


Add method to reset previously-provided unseal keys

Ping, any idea when you might have time to review or provide feedback?

@ianunruh Ping, do you still have time and energy to maintain this package? If not, maybe we should look for new maintainers.

I can be a new maintainer 👼

@otakup0pe thanks for volunteering, I'll go ahead and add you to as a collaborator.

@otakup0pe Thank you! Are you also planning to make a release any time soon?

As soon as I figure out how!


[SPARK-36003][PYTHON] Implement unary operator invert of integral ps.Series/Index.

What changes were proposed in this pull request?
Implement unary operator invert of integral ps.Series/Index.
Why are the changes needed?
Currently, unary operator invert of integral ps.Series/Index is not supported. We ought to implement that following pandas' behaviors.
Does this PR introduce any user-facing change?
Yes.
Before:
>>> import pyspark.pandas as ps
>>> psser = ps.Series([1, 2, 3])
>>> ~psser
Traceback (most recent call last):
...
NotImplementedError: Unary ~ can not be applied to integrals.

After:
>>> import pyspark.pandas as ps
>>> psser = ps.Series([1, 2, 3])
>>> ~psser
0   -2
1   -3
2   -4
dtype: int64

How was this patch tested?
Unit tests.

Test build #140873 has started for PR 33285 at commit a7f9c9f.

Test build #140873 has finished for PR 33285 at commit a7f9c9f.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45384/

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

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45384/

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

Merged to master and branch-3.2.


Building multimarkdown-5 on Ubuntu 14.04 64bit

Hi,
I am trying to build the multimarkdown following your instruction, however I got a problem
`
...
-- Build files have been written to: /home/vl/MultiMarkdown-5/build
~/MultiMarkdown-5$ make install
make: *** No rule to make target install'.  Stop.
What is wrong? Should I change a current directory to "build" one before using install command?
Regards, VS

Please read the 'README' file, specifically the "Compile from Source" section.  It has instructions on how to compile.

Oops, I have overlooked the cd build before make install. Thanks.


Add support for OCaml 4.14

Thanks @kit-ty-kate , let me know when you need a release with this.

:D Tricky question. Whenever you have time to do it I’d say. The sooner the better.

All green and ready to go.

All green and ready to go.

:+1:


setup.py need to be updated to 0.22.0 for accelerate

System Info
optimum habana: 1.8.0-dev0
transformers： 4.32.1

Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction

pip install .
cd examples/text-generation
pip install -r requirements.txt
python run_generation.py
--model_name_or_path gpt2
--use_hpu_graphs
--use_kv_cache
--max_new_tokens 100
--do_sample
--prompt "Here is my prompt"

Expected behavior
run sucessfully, but current result is reporting "cannot import name 'AutocastKwargs' from ...

Good catch @LeoZhao-Habana! Will do it


chore: js gif processing

Measurements taken inside the soho plaza building with GIFs:
http://play.decentraland.zone?ENV=org&position=-95%2C7
Min FPS reached: 16fps
Observed hiccups metric: 200
https://explorer.decentraland.zone/branch/chore/JSGIFProcessing/index.html?ENV=org
Min FPS reached: 30fps
Observed hiccups metric: 40

new metrics taken
http://play.decentraland.zone?ENV=org&position=-95%2C7
min FPS: 16
max hiccups: 306
https://explorer.decentraland.zone/branch/chore/JSGIFProcessing/index.html?ENV=org&position=-95%2C7
min FPS: 28
max hiccups: 130


more of a question: Will this library take into account for "Access-Control-Allow-Headers"?

Planning to use it and my app will have basic authentication? So was wondering if it takes care of CORS ?
Thanks

Hi, the library do not set the withCredentials options, so the defualt is false (as far I have read on: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials), you sould update the library for that.


fixed docs

Fixes #267

@OVSofia the Docs CI is failing!
Here is why: https://circleci.com/gh/einsteinpy/einsteinpy/3664?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

@OVSofia the Docs CI is failing!
Here is why: https://circleci.com/gh/einsteinpy/einsteinpy/3664?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

Okey, give me 5 min to fix it

Closing this as it is being superseded by #269


I've done all the step by step requirements of this tutorial, However, when i try to add items the error: The request could not be completed is presented to me

Hi, @Lucas015 ! Thank you for getting in touch with us!
Could you please clarify:

What platform do you use?
What version of SDK do you use?
Could you please share the repo steps?
Could you please share the logs?

We haven't heard from you for a while, are you still facing the issue?


[fix-9991][worker]fix statement is closed before resultSet.getMetaData()

fix statement is closed before resultSet.getMetaData(), fix #9991

Codecov Report

Merging #10014 (313724a) into dev (cbf0010) will increase coverage by 0.10%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev   #10014      +/-   ##
============================================
+ Coverage     40.68%   40.79%   +0.10%
- Complexity     4579     4604      +25
============================================
  Files           834      834
  Lines         33832    33856      +24
  Branches       3745     3752       +7
============================================
+ Hits          13766    13810      +44
+ Misses        18746    18725      -21
- Partials       1320     1321       +1

Impacted Files
Coverage Δ

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...r/plugin/task/sqoop/parameter/SqoopParameters.java
53.33% <0.00%> (-1.34%)
:arrow_down:

...er/server/master/runner/WorkflowExecuteThread.java
8.04% <0.00%> (-0.21%)
:arrow_down:

...nscheduler/service/process/ProcessServiceImpl.java
30.85% <0.00%> (ø)

...ache/dolphinscheduler/dao/entity/K8sNamespace.java
76.66% <0.00%> (+76.66%)
:arrow_up:

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 cbf0010...313724a. Read the comment docs.

@SbloodyS when i push my code and trigger check, sometimes the E2E/FileManage will fail, but i think my code won't effect the test case, I would like to know why this is causing this problem, this is my first contribute, so could you tell me zhe reasion?

@SbloodyS when i push my code and trigger check, sometimes the E2E/FileManage will fail, but i think my code won't effect the test case, I would like to know why this is causing this problem, this is my first contribute, so could you tell me the reasion?

I had restart the failed tests.  You can try to trigger the retry by git push or closing and then reopening PR.
There may be some instability in E2E tests. I'll fix it in a few days.

@huangchenguang123
Thank you very much for your contribution, this PR is very good. I think we can get deep communiction, you can contact me through mail or add wechat(KerwinZhuang), when mail or added, please tell me who you are, I think I can help to familiar with the DolphinScheduler if you meet with problems.


Feature Request: Support Serde 1.0

Serde 1.0 was recently released. It would be nice if tarpc support this new version.

Waiting for bincode.
On Tue, Apr 25, 2017, 1:07 PM Jonathan Behrens<EMAIL_ADDRESS>wrote:

Serde 1.0 was recently released
https://users.rust-lang.org/t/serde-and-serde-json-1-0-0-released/10466.
It would be nice if tarpc support this new version.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/tarpc/issues/146, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACx9wWXFbe82_2AKeajUmM5esfpmtWdfks5rzlJ3gaJpZM4NH_Xi
.

Based on this pull request, it looks like bincode has support on master but are waiting to publish until they can convert to zero copy.

Ah cool, yeah I made the changes the other day, so I'll have a PR ready the moment they do a release. Feel free to ping me here if you notice before me that a new version of bincode was released.

@tikue bincode just released 0.8.0 which includes support for serde 1.0

Thanks! I'll try to get to it today.

v0.8.0 now on crates.io.


Regression? Pingponger a2a example no longer works

After wash app deploy ./wadm.yaml via https://github.com/wasmCloud/examples/tree/main/actor/actor-to-actor
I'm seeing two issues:

curl localhost:8080 fails with Guest call failed for method ponger/Pingpong.Ping: method not handled ponger/Pingpong.Ping - unknown method. Full log:

2023-09-07T08:49:15.398043Z  INFO warp::filters::trace: processing request
2023-09-07T08:49:15.398425Z DEBUG handle_message:handle_call: wasmcloud_host::wasmbus: validate actor invocation invocation.origin=WasmCloudEntity { public_key: "VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M", link_name: "default", contract_id: "wasmcloud:httpserver" } invocation.target=WasmCloudEntity { public_key: "MBN2KUUZP4Y2F7IRXEPLV232YCZFKGSWYIQ3DNPDIERBE4BHPMUC5BUX", link_name: "", contract_id: "" } invocation.operation="HttpServer.HandleRequest"
2023-09-07T08:49:15.398515Z DEBUG handle_message:handle_call: wasmcloud_host::wasmbus: handle actor invocation invocation.origin=WasmCloudEntity { public_key: "VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M", link_name: "default", contract_id: "wasmcloud:httpserver" } invocation.target=WasmCloudEntity { public_key: "MBN2KUUZP4Y2F7IRXEPLV232YCZFKGSWYIQ3DNPDIERBE4BHPMUC5BUX", link_name: "", contract_id: "" } invocation.operation="HttpServer.HandleRequest"
2023-09-07T08:49:15.399051Z DEBUG handle_message:handle_call: wasmcloud_host::wasmbus: validate actor invocation invocation.origin=WasmCloudEntity { public_key: "MBN2KUUZP4Y2F7IRXEPLV232YCZFKGSWYIQ3DNPDIERBE4BHPMUC5BUX", link_name: "", contract_id: "" } invocation.target=WasmCloudEntity { public_key: "MCCI433OOM2ZDCO24RKPNSP75GZQOXBSP2F7SNJ6LX3ZPISUOAKRDBK5", link_name: "", contract_id: "" } invocation.operation="ponger/Pingpong.Ping"
2023-09-07T08:49:15.399111Z DEBUG handle_message:handle_call: wasmcloud_host::wasmbus: handle actor invocation invocation.origin=WasmCloudEntity { public_key: "MBN2KUUZP4Y2F7IRXEPLV232YCZFKGSWYIQ3DNPDIERBE4BHPMUC5BUX", link_name: "", contract_id: "" } invocation.target=WasmCloudEntity { public_key: "MCCI433OOM2ZDCO24RKPNSP75GZQOXBSP2F7SNJ6LX3ZPISUOAKRDBK5", link_name: "", contract_id: "" } invocation.operation="ponger/Pingpong.Ping"
2023-09-07T08:49:15.399180Z ERROR handle_message: wasmcloud_host::wasmbus: failed to handle request origin=WasmCloudEntity { public_key: "MBN2KUUZP4Y2F7IRXEPLV232YCZFKGSWYIQ3DNPDIERBE4BHPMUC5BUX", link_name: "", contract_id: "" } target=WasmCloudEntity { public_key: "MCCI433OOM2ZDCO24RKPNSP75GZQOXBSP2F7SNJ6LX3ZPISUOAKRDBK5", link_name: "", contract_id: "" } operation="ponger/Pingpong.Ping" invocation_id="018a6ed4-d086-ccad-3317-e38b60f4f721" e=Guest call failed for method ponger/Pingpong.Ping: method not handled ponger/Pingpong.Ping - unknown method
2023-09-07T08:49:15.401727Z ERROR handle_message: wasmcloud_host::wasmbus: failed to handle request origin=WasmCloudEntity { public_key: "VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M", link_name: "default", contract_id: "wasmcloud:httpserver" } target=WasmCloudEntity { public_key: "MBN2KUUZP4Y2F7IRXEPLV232YCZFKGSWYIQ3DNPDIERBE4BHPMUC5BUX", link_name: "", contract_id: "" } operation="HttpServer.HandleRequest" invocation_id="7d5c886d945f48cd9603a61304362164" e=Guest call failed for method HttpServer.HandleRequest: Host send error failed to call `wasmcloud:bus/host.call`
2023-09-07T08:49:15.404163Z ERROR wasmbus_rpc::rpc_client: rpc error response error=Guest call failed for method HttpServer.HandleRequest: Host send error failed to call `wasmcloud:bus/host.call`
2023-09-07T08:49:15.404172Z  WARN wasmcloud_provider_httpserver: actor responded with error error=rpc: Guest call failed for method HttpServer.HandleRequest: Host send error failed to call `wasmcloud:bus/host.call`
2023-09-07T08:49:15.404176Z ERROR wasmcloud_provider_httpserver: Error sending HttpRequest to actor error=rpc: Guest call failed for method HttpServer.HandleRequest: Host send error failed to call `wasmcloud:bus/host.call`
2023-09-07T08:49:15.404181Z ERROR warp::filters::trace: unable to process request (internal error) status=500 error=None

wash call ... fails with rpc: invalid host ID on invocation: 'NwashHostCallerId000000000000000000000000000000000000000'. Full log:

2023-09-07T08:52:07.320546Z DEBUG handle_message:handle_call: wasmcloud_host::wasmbus: validate actor invocation invocation.origin=WasmCloudEntity { public_key: "__WASH__", link_name: "", contract_id: "" } invocation.target=WasmCloudEntity { public_key: "MBN2KUUZP4Y2F7IRXEPLV232YCZFKGSWYIQ3DNPDIERBE4BHPMUC5BUX", link_name: "", contract_id: "" } invocation.operation="HttpServer.HandleRequest"
2023-09-07T08:52:07.320572Z ERROR handle_message: wasmcloud_host::wasmbus: failed to handle request origin=WasmCloudEntity { public_key: "__WASH__", link_name: "", contract_id: "" } target=WasmCloudEntity { public_key: "MBN2KUUZP4Y2F7IRXEPLV232YCZFKGSWYIQ3DNPDIERBE4BHPMUC5BUX", link_name: "", contract_id: "" } operation="HttpServer.HandleRequest" invocation_id="4580f502f73e45659fec74e90dda1c24" e=invalid host ID on invocation: 'NwashHostCallerId000000000000000000000000000000000000000'

Setting WASMCLOUD_CLUSTER_SEED doesn't seem to have an effect.
❯ wash --version
wash 0.20.1

Related PR: https://github.com/wasmCloud/wasmCloud/pull/528

Thanks @spence, it does look like this was a regression. The host validates host IDs on incoming invocations more robustly now, and the placeholder ID wash uses with wash call doesn't work anymore. Brooks added more information here, since I think the fix will need to be in wash: https://github.com/wasmCloud/wash/issues/779

@spence thank you for submitting this one! We're going to track it in the wash issue above, since wasmCloud is actually correctly doing its job here validating the source of the invocation 😄
I went ahead and filed https://github.com/wasmCloud/examples/pull/234 to (oops) update the wadm manifest and remove the failing wash call from the README for now.


Ensemble Methods

Hey DCP participants, good to see you here
This issue will helps readers in giving all the guidance that one needs to learn about Ensemble Methods. Tutorial to Ensemble Methods and how it's applied using sample code.
"Project Title" should be the "Issue Title" mentioned here.
If you like to work on this issue, follow the given guidelines for code as well as for the README. You have to be as elaborative as possible. Make sure you also maintain the project structure provided. Just comment and get it assigned. Issues are alloted on FCFS basis.
The main intention of this repo is to educate beginners with all the concepts related to datascience so that they could feel confident to apply these things learnt in practical exposure.
Enjoy your open source journey ahead. 😎

@prathimacode-hub
I would love to contribute as a participant of hacktoberfest2021.
Can you plz assign this to me.


Kinesis Firehose

The Firehose API appears to be separate from the Kinesis API. Is anyone working on an implementation? If not, I'm prepared to take it on myself, and would appreciate any insight, tips, potential gotchas, etc.

Got some work done here, would appreciate any comments:
https://github.com/CargoSense/ex_aws/compare/master...cwc:firehose

I'm impressed, please open a full PR.

Gonna close this in favor of the PR.


trying out chunked response using the http-client-async example.

Version of Beast
1.71
I am trying to get response from this api: http://jigsaw.w3.org/HTTP/ChunkedScript
using the http-client-async example, i get the following response:
http-client-async jigsaw.w3.org 80 HTTP/ChunkedScript
HTTP/1.1 400 Bad Request
Server: cloudflare
Date: Wed, 17 Aug 2022 13:39:21 GMT
Content-Type: text/html
Content-Length: 155
Connection: close
CF-RAY: -

<title>400 Bad Request</title>

400 Bad Request

cloudflare

Is there anything extra that needs to be handled for chunked encoding from the http async example ?

 Use this command line:
http-client-async jigsaw.w3.org 80 /HTTP/ChunkedScript

Thanks, but i get this now:
HTTP/1.1 301 Moved Permanently
Date: Wed, 17 Aug 2022 13:55:40 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Wed, 17 Aug 2022 14:55:40 GMT
Location: https://jigsaw.w3.org/HTTP/ChunkedScript
Server: cloudflare
CF-RAY: 73c2e8a4d85fb29d-MAA
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400

0

0

So, that's a "redirect." You need to perform the request again, but to the destination indicated by the "Location" field:
Location: https://jigsaw.w3.org/HTTP/ChunkedScript

This is HTTPS so you will need to use the http-client-async-ssl example:
https://github.com/boostorg/beast/tree/develop/example/http/client/async-ssl

Oh ic..
is there any chunked url for testing that serves data on http ?

@ashjas try https://jigsaw.w3.org/HTTP/ChunkedScript (or similar online test services, like httpbin.org)

Oddly enough I recently wrote a blog on ha fling HTTP redirect in beast.
https://cppalliance.org/richard/2022/08/10/RichardsAugustUpdate.html

Thanks @sehe @madmongo1 for the inputs.


Can't mock Send traits

Double cannot mock a trait that must be Send.  Example:
    fn send() {
        pub trait A {
            fn foo(&self);
        }

        mock_trait!(
            MockA,
            foo() -> ()
        );
        impl A for MockA {
            mock_method!(foo(&self));
        }
        let mock = MockA::default();
        let _ = Box::new(mock) as Box<A + Send>;
    }

gives the following error:
error[E0277]: `std::rc::Rc<std::cell::RefCell<std::collections::HashMap<(), fn(())>>>` cannot be sent between threads safely
   --> src/t_double.rs:388:17
    |
388 |         let _ = Box::new(mock) as Box<A + Send>;
    |                 ^^^^^^^^^^^^^^ `std::rc::Rc<std::cell::RefCell<std::collections::HashMap<(), fn(())>>>` cannot be sent between threads safely
    |
    = help: within `<t_double::t::MockDouble as TestSuite>::send::MockA`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<std::cell::RefCell<std::collections::HashMap<(), fn(())>>>`
    = note: required because it appears within the type `double::Mock<(), ()>`
    = note: required because it appears within the type `<t_double::t::MockDouble as TestSuite>::send::MockA`
    = note: required for the cast to the object type `dyn <t_double::t::MockDouble as TestSuite>::send::A + std::marker::Send`

Ack. I think it should be possible to support this. My initial thinking is to simply every private member variable of the generated mock struct in an Arc<Mutex<T>>. This makes the generated mock implementation more complex, but means threaded code can use mocks too.

I intend to spend some time working on this next weekend.

Is there any progress? This crate would be perfect if only it supported Sync + Send.

Progress has been made. I have WIP (work in progress) branch that is mostly working. I plan to finish this feature and deploy it to a new version of the double crate next weekend.


Move Plugins on Community Server into internal section

I not a topic that is important to the public. My proposal is to move it into the internal section.
@levb @lieut-data Objections?

if moving to a internal documentation, please move to this: https://github.com/mattermost/internal-docs
/cc @DSchalla

No objections. This information might naturally surface if we expose the marketplace to non-system administrators anyway.

No objections. This information might naturally surface if we expose the marketplace to non-system administrators anyway.

I'm confused. Carlos proposed to move it into a private repo. Are you fine with that?
Or is this page outdated anyway and we should just rely on the marketplace?

Hmm. I'm inclined to think the information will always be outdated, and we can just rely on the marketplace as such (eventually). @levb, any concerns with just dropping this section on mattermost.dev instead?

No objections at all

@cpanato @DSchalla What is the reason this should be in a private repo? The information is not sensitive IMO, just unnecessary for the public.

@hanzei While this information may not be sensitive, there is other information which is. Since this information has no use to the public, moving it to the dedicated internal documentation repository may make sense.
In this specific case I don't have a strong opinion on it however.

@hanzei @DSchalla agree with Daniel, also this documentation the public will not get any benefit with.

After reconsidering I think there is value in this being plugin. It encourages plugin devs to push there plugins to the community server. Let's leave it as it is, if no one has strong objections.


Lag for some players

Edge was bad.  Chrome was OK, but still noticeable.  Wondering if onUpdate and other functions should run for GM only.  Any performance, debugging, or any other tools/guidance for lag?  We are all in the same room and on LAN.  The player with the worst lag has a slower laptop.  Most player reported no issues.

Might try with different systems, or the simple game system.  This should let us know if it is a FoundryVTT issue or something with hero system.

Issue was underpowered laptop.  Lowering Maximum Framerate and Performance Mode settings have largely addressed this concern.


Use strings in Yaxis struct to workaround error

"json: cannot unmarshal string into Go struct field Yaxis.min of type
float64"
See: https://github.com/zorkian/go-datadog-api/issues/103
I have not tested this at all - my go-fu is weak and I don't know how to vendor this locally and build the terraform datadog provider to use it to test it.
If anyone can point me in the right direction, I'll do more testing...

Hi @robinbowes, thanks for working on this! I've meant to fix this for a while but haven't had the chance.
The problem with changing the types of these structs is that it's a breaking change downstream, so not much of a bugfix. I think the right approach is probably to add a boolean "auto" to the Yaxis type and define custom marshalJSON/unmarshalJSON functions. So, the struct becomes:
type Yaxis struct {
  Min   *float64
  AutoMin *bool
  Max   *float64
  AutoMax *bool
  ...
 }

You can define a custom unmarshal on the Yaxis type that wraps an alias type but overrides the particular fields during the unmarshal:
func (y *Yaxis) UnmarshalJSON(data []byte) error {
  type Alias Yaxis
  wrapper := &struct {
    Min *string `json:"min"`
    Max *string `json:"max"`
    *Alias
  }{
    Alias: (*Alias)(y),
  }
  if err := json.Unmarshal(data, wrapper); err != nil {
     return err
  }
  // Now look at aux.Min, which is a *string, and see if it's "auto" if so...
  auto := true
  i.Auto = &auto
  i.Min = nil
  // Otherwise, explicitly set it to nil and set i.Min
  i.Auto = nil
  f, err := strconv.ParseFloat(aux.Min, 64)
  // Check err
  i.Min = &f
  // Same with Max
}

With the Marshal, do a similar pattern, checking if the auto field is true, otherwise marshaling the float as is. Since the default for a *bool will be false, existing code shouldn't break.
Does that make sense?

Hey @yfronto , thanks for the reply and sorry I've not got back to you.
What you say sort of makes sense, but I'm not sure I know enough go to knock up a solution.
I'll see if I can make time over the next week or so.
Thanks again,
R.

I'm still interested in this, but it's down my priority list and so unlikely to get any of my time for the forseeable. Sorry.
R.

@robinbowes I was talking to @atsang about this, and it sounds like he's interested in trying to make some progress on it. Does that work for you?

Fixed in #167

Thanks for picking this up @anthony-tsang


Update po4a to latest

current latest po4a (v0.66) has a feature to parse blog post front matter, but it cannot parse bibquery section as it contains list.
When po4a parse following,
bibquery: ["pub.urldate > '2022-03-17'", "pub.urldate <= '2022-04-14'"]

it write pack with this:
bibquery: "[\"pub.urldate > '2022-03-17'\", \"pub.urldate <= '2022-04-14'\"]"

Fixed in #497


Your code is not user friendly for beginner..

Need more information about userpool with angular step by step.

What information, that's not already available, would you like to see?

@vbudilov Your project is working fine with your code but I have angular 4 app or angular 2 app, how to use this aws cognito to my project?.
Request: Need more simple steps  to implement AWS with any app.

Take a look at my last comment here: https://github.com/awslabs/aws-cognito-angular2-quickstart/issues/66

@vbudilov thanks for that...
I saw this https://github.com/aws/amazon-cognito-identity-js already but i am expecting for angular 4 app because you have already done with angular 2.
Thats fine am working with angular 4 app with aws, and i will make a git repo for public with full step by step doc to understand even beginner asap.

I've upgraded this code to angular4 a while back: "@angular/core": "4.0.0"

@vbudilov Thank you....

I wish cognito implementation was more clear, It could be as simple as google cloud login/register.   This is not friendly at all. It shouldn't require so many stuff all over the place. The (one) aws-sdk should suffice since you can import only the things you need. I guess I will have to go another route with observables to get around this cognito implementation mess. I'm not hardly criticizing your implementation. But I guess, that's what aws came down to.

agree with @andythedandyone, if cognito can't save developer's time, then what's the point


🌱 Increase wait-deployment timeout

This PR increases wait-deployment timeout as we hit this in CI quite often in private cloud.

/test metal3-centos-e2e-integration-test-main
Let's test it

/test metal3-ubuntu-e2e-integration-test-main
ubuntu too, though the issue isn't there usually

/lgtm


feat(#917): Different Atoms For Different Opcodes

In this PR I add opcode names to their base.
For example, we used to have:
jeo.opcode

Now we have
jeo.opcode.ireturn

And we did it for all the opcodes.
Related to #917.

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here.


Tobi Gives Aaron a List of Undefined Translations/Localizations

Bug
A lot of localization strings have not been properly defined or translated yet.
To Reproduce
...um look around.
Expected behavior
@tabiodun to give @aarontitus a list of localization strings that need to be defined and translated.

This has been solved.


Integrate coveralls

Description

For tracking test coverage for every PR, we should integrate coveralls. Details: https://coveralls.io
People to notify

@manrajgrover

Fixed in #98


Extend ConfigStore behavior customization

Description

Currently, many config store implementations do not allow users to define store-specific behavior that gives the full extent of customization that might be required. An example is AWS Parameter Store, which does not allow users to decide if they want the data encrypted.
Suggested ideas:

Allow customization via the config store constructor
Adjust the store get and set methods to support customizing this behavior

Motivation

Allow users to have better control and utilization of the stores they use.

@jamesL92 Im curious what do you think on that one?

@rannn505 I'll comment on this fully sometime within the next week, although in summary:

I think this is well worth doing, as it'll add a huge amount of usability to the SDKs.
We'll need to carefully consider which customisation options should be supported for each store individually. The key consideration should be that customization options should be consistent across all SDKs, mainly due to the existence of .configu config files.
Configuration options should be done via the config store constructor only. Main reason is that users won't generally use the get/set methods directly, but rather they will be used by individual commands like EvalCommand and UpsertCommand.
We could in future also consider per-parameter/per-set customisation, e.g. for AWS Parameter Store encryption some parameters/sets may need to be encrypted while others may not need it. I don't think we should implement that yet but however we implement customisation should allow for this extension in future.


Approve button

We need to create a new button for each user record in the voyager panel, this button will update the record and make it approved

We need a unproved action or no ?

Solved


Fix GitHub spelling

Just a few minor typo fixes: Github -> GitHub.
It would be great if this could be fixed in the repo description as well:

Done, Thanks

Thanks @shanalikhan :+1:


hw/bsp: pca10059 add readme.md

This adds readme.md files that explains how to use board without hardware debugger when factory programmed Open DFU Bootloader is present.

Many thanks


Wormadam-Sandy and Wormadam-Trash level up sets don't work correctly

You can't teach either wormadam Rock Blast or Mirror Shot or TMs not compatible with Wormadam-leaf cloak.  They also can't learn Razor leaf.  non-Leaf Wormadam in general is a bit buggy.

Fixed for next server reboot.


Update zkp.markdown

cleared up a typo
Thank you for contributing to Coda! Please see CONTRIBUTING.md if you haven't
yet.
Explain your changes here.
Explain how you tested your changes here.
Checklist:

[x] Tests were added for the new behavior
[x] All tests pass (CI will check this if you didn't)
[x] Serialized types are in stable-versioned modules
[x] Does this close issues? List them:

Closes #0000
Closes #0000

Can you update the title of this PR to be something like "Fixing typos in zkp blog post"?


Race condition when creating experiments using AR adapter

I've noticed that there's a race condition using the activerecord adapater when vanity creates experiments or rows in the conversions table - ever now and a again we end up with duplicate rows in those tables.
This can be fixed by adding unique indexes to those tables and with the code change in this PR. The default vanity migrations should also be changed for this to be effective, but I'm not sure how that is usually managed (for example, how do existing users update their vanity tables?)

Thanks! I'll review shortly
On Thu, Nov 30, 2017 at 9:24 AM Frederick Cheung<EMAIL_ADDRESS>wrote:

I've noticed that there's a race condition using the activerecord adapater
when vanity creates experiments or rows in the conversions table - ever now
and a again we end up with duplicate rows in those tables.
This can be fixed by adding unique indexes to those tables and with the
code change in this PR. The default vanity migrations should also be
changed for this to be effective, but I'm not sure how that is usually
managed (for example, how do existing users update their vanity tables?)
You can view, comment on, or merge this pull request online at:
https://github.com/assaf/vanity/pull/332
Commit Summary

Retry if find_or_create_by raises RecordNotUnique

File Changes

M lib/vanity/adapters/active_record_adapter.rb
https://github.com/assaf/vanity/pull/332/files#diff-0 (18)

Patch Links:

https://github.com/assaf/vanity/pull/332.patch
https://github.com/assaf/vanity/pull/332.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/assaf/vanity/pull/332, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFxKWiOrA39cFU3IaijbZc1k-NWurEuks5s7rqIgaJpZM4QwoDm
.

This can be fixed by adding unique indexes to those tables and with the code change in this PR. The default vanity migrations should also be changed for this to be effective, but I'm not sure how that is usually managed (for example, how do existing users update their vanity tables?)

Yes, please add these changes to the default migration and create a file alongside the default migrations with the same changes named similarly to a rails migration, e.g.<PHONE_NUMBER>2031_add_unique_indexes.rb

Ok, I will do that

I've changed the default migration and you can run rails g vanity:add_unique_indexes to generate a migration that adds those indexes.


Allow to reference a local assembly on Jupyter Notebook Server

Is your feature request related to a problem? Please describe.
I want to use the jupyter notebook as a interactive tools, but I have a private version dll need to load. Currently it only support nuget public version dll.
Describe the solution you'd like
Support #r "dll path on jupyter notebook server"

This is supported today assuming the volume where the dll is located is reachable from your Jupyter kernel. It works the same way as in C# Interactive: https://github.com/dotnet/roslyn/wiki/Interactive-Window#r

@jonsequitur , that is what I want to do, just run the #r as the interactive window. But in fact it fails.
When I run command such as
#r "C:\Crc32.NET.dll"

or
#r "C:\\Crc32.NET.dll"

It will throw

Invalid: Command: #r C:\Crc32.NET.dll

But when I run those command on dotnet-script. it can works well.

Ah. This is a duplicate of #609, which has been fixed.


claim proceeds: Need to disable button when tx is sent

If the user chooses to claim one by one, the claim proceeds button needs to disabled so the user doesn't accidently click on the button again.
This needs to be the approach for all modals where the modal can stay visible after a click to send tx.

this is updated closing ticket


Feature Request: SVG marker icons

The ability to use svg icons for the markers would be great.
I was able to do it in the javascript version of google maps, but it lacks a great deal of features that this plugin has.

Please send me a pull request :)

I'd be glad to if I could get it working... Any advice on which files / code these changes would have to be made in?

The version 1.4.0 is cold. No more improve for the version.
The next version 2.0 is on the multiple_maps branch.
https://github.com/mapsplugin/cordova-plugin-googlemaps/tree/multiple_maps
Similar case base64:, the code of Android is here.
https://github.com/mapsplugin/cordova-plugin-googlemaps/blob/multiple_maps/src/android/plugin/google/maps/PluginMarker.java#L836-L839
Create a method into the PluginUtil class with proper name (such as getBitmapFromSvgPath), then write your code.

I tried a few things, but couldn't get it to work in the end... My lack of experience with Java and Objective-C is likely a big part of that.
If anyone else stumbles upon this and would like to give it a shot, please do.
You can see the changes I made in my fork if it helps.


IEnumerable as parameter is generated as VT_UNKOWN

In case of IEnumerable (this interface is ComVisible=true in System.Private.CoreLib) dscom should generate:
type: VT_PTR -> VT_USERDEFINED    refType:    name: IEnumerable
As example:
void MyMethod(IEnumerable elements);

System.Collection.IEnumerable is an interface from System.Private.CoreLib.
A type library for System.Private.CoreLib is not provided from Microsoft.


Abdullah Al Salem University (AASU)

additional Information:

Official University URL: https://aasu.edu.kw/
Location: Kuwait, Khaldiya

@mnboot Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Yobi extension

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 3 committers have signed the CLA.:x: binDongKim:x: emeroad:x: RoySRoseYou have signed the CLA already but the status is still pending? Let us recheck it.


latest (1.4.3) code - issues with column width  - help wanted

i have updated the plugin code to 1.4.3, and facing one issue with the width of the columns..
i have a table with selectRow='true' option..
Strangely even if i don't specify any width to any columns, the radio button column is getting a long width. I tried to give some width to second column, but it is not as per expectation..
any clue why this is happening?
here is the code and screenshot:
<BootstrapTable data={tableDataSet} pagination={true} condensed={true} search={true}  searchPlaceholder='Search...' selectRow={selectRowProp} height='196'>
 <TableHeaderColumn dataField="Id" isKey={true} hidden={true}> Item Id </TableHeaderColumn>
 <TableHeaderColumn dataField="Name" > Item Name </TableHeaderColumn>
 </BootstrapTable>

@ssjogus, ok I'll check this out. Thanks.
btw, which origin version did you used? and is it happened on chrome?

i was using version 0.9.7.. then updated to 1.4.3. Its happening on chrome
ok, i will try with 1.4.5

@ssjogus, did you replace the css file of react-bootstrap-table?

yes i did

ok, hope not to cache the css file in your browser, if the problem still remain when you upgrade to v1.4.5, I'll check this out based on your example. Thanks

@ssjogus, I've tested it on chrome and safari, it's work.

any issue tested on v1.4.5?

if problem still remain, please follow #227.  I'll redesign bootstrap table for fixing column width and some issue for styling. But need some time. so close this issue and follow up #227

HI @ssjogus, v2.0.0 has been released, you can check #331 for more detail explanation, if problem still remain, please tell me on #331 or open an issue


setup costmization

can you explain ho to cosumize setup ? an where is finalize.js ?
thanks

Hi, I deleted the folder by mistake. Now I have restored it


nixos/test-driver: mention the elapsed time when it times out

Motivation for this change
For now you had to know that the actions are retried for 900s when
seeing an error like

Traceback (most recent call last):
File "/nix/store/dbvmxk60sv87xsxm7kwzzjm7a4fhgy6y-nixos-test-driver/bin/.nixos-test-driver-wrapped", line 927, in run_tests
exec(tests, globals())
File "", line 1, in
File "", line 31, in
File "/nix/store/dbvmxk60sv87xsxm7kwzzjm7a4fhgy6y-nixos-test-driver/bin/.nixos-test-driver-wrapped", line 565, in wait_for_file
retry(check_file)
File "/nix/store/dbvmxk60sv87xsxm7kwzzjm7a4fhgy6y-nixos-test-driver/bin/.nixos-test-driver-wrapped", line 142, in retry
raise Exception("action timed out")
Exception: action timed out

in your (hydra) build failure. Due to the absence of timestamps you were
left guessing if the machine was just slow, someone passed a low timeout
value (which they couldn't until now) or whatever might have happened.
By making this error a bit more descriptive (by including the elapsed
time) these hopefully become more useful.
Things done

[x] Tested using a few NixOS VM tests.

@ofBorg build nixosTests.simple

It's not quite 900 seconds, though, because it's 900 attempts with a 1s retry interval. If callable takes 5s it could be much longer :P

(It's not really relevant, anyway)


Features that update files won't work unless the token has workflow permission

Description
I had this toast come up when working on update-pr-from-base-branch
Error updating the branch: refusing to allow a Personal Access Token to create or update workflow `.github/workflows/labeler.yml` without `workflow` scope

Not a bug, but I wonder if we should expand the token URL and token scope UI to include this permission.
Example URLs
https://github.com/refined-github/refined-github/pull/7610

Solution: Detect the error, change it to say you need to grant the workflow scope to edit workflow files

Error is clear enough


[Question] why OpenLLaMA-7B with quantization mode q4f16_0 output so bad

❓ General Questions
I try to chat， but the quantization mode q4f16_0 model by your script output are so bad, so do you have some experience about this?

two probably solutions, firstly, you could modify the q4f16_0 for quantization without using word embeddings and the language model head. Secondly, you might want to try the auto gptq quantization scheme.

Hi @davidjohn001 OpenLLaMA is a base model that hasn't been fine-tuned w/ instruction tuning, so it cannot be used to chat directly.
The default mode for OpenLLaMA is LM mode, which means it will complete a sentence given your prompt (your input is used as a prompt).
The correct usage of base models such as OpenLLaMA was like this:
Your input: I have a dream
model: that one day every valley shall be exalted, every hill and mountain shall be made low, the rough places will be made plain...
Only models that have been fine-tuned by instruction tuning or RLHF can be used for conversation.

As the above replies have already answered your question. I will close this issue. Feel free to reopen it if you have further questions.


publish individual adapter packages

Before publishing enzyme v3, each individual package should be published, and npm owner add airbnb ran.

Done.


Remove version: Microsoft.Edge.Dev version 120.0.2165.1

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/177e5c7f-7475-4cff-8374-e805ee56f78d/MicrosoftEdgeDevEnterpriseX86.msi
Status Code: 200
(Automated message - build 694)


Query Classifier Tutorial (#14) cannot be done

Describe the issue
Tutorial: https://github.com/deepset-ai/haystack-tutorials/blob/main/tutorials/14_Query_Classifier.ipynb
An exception is thrown at lines with keyword_classifier.run(query=query)
...
File ~/miniconda3/envs/haystack/lib/python3.9/site-packages/haystack/pipelines/base.py:529, in Pipeline.run(self, query, file_paths, labels, documents, meta, params, debug)
    525 except Exception as e:
    526     # The input might be a really large object with thousands of embeddings.
    527     # If you really want to see it, raise the log level.
    528     logger.debug("Exception while running node '%s' with input %s", node_id, node_input)
--> 529     raise Exception(
    530         f"Exception while running node '{node_id}': {e}\nEnable debug logging to see the data that was passed when the pipeline failed."
    531     ) from e
    532 queue.pop(node_id)
    533 #

Exception: Exception while running node 'QueryClassifier': 'GradientBoostingClassifier' object has no attribute '_loss'

What environment did you try to run the tutorial on?:

OS: Ubuntu 22.04.1 LTS
Browser: chrome, brave
Haystack Version: 1.12.0rc0

Same as https://github.com/deepset-ai/haystack/issues/2904


Hint git-fetch-with-cli on git errors

Our team has struggled with making Cargo git dependencies work in CI, until learning about this setting.
Cargo doesn't have a dedicated system for error hints like rustc, so I've stuffed the hint into the error message.

I'm a bit hesitant to blindly recommend for any and all errors that git-fetch-with-cli is used instead. Would it be possible to catch specifically authentication errors and make that recommendation instead? Additionally could this link to online documentation about this configuration option?

@alexcrichton I understand your concern. I've tried to narrow it down to specific libgit errors, but in the end it didn't feel like an improvement.
The first problem is that it's not limited to just auth errors. In my case libgit not using our VPN-aware proxy looks like a regular network errors, e.g. DNS error and connection timeouts.
Git errors generally fall into network errors, auth errors, invalid repo state, invalid command. The first two categories would benefit from the hint. The other two are unlikely to happen, because Cargo manages the repo state and commands itself.
Another problem with this is that just getting to the relevant libgit error codes via anyhow's chain takes more code than the rest of the checkout function. I don't know if you'd be OK with such relatively complicated thing for a small check.

Hm so extraction of error codes should be pretty simple, I think it's just calling downcast_ref? (note the outer .chain() isn't necessary there)
I'd personally still prefer to limit this somehow. I think it's ok to be a bit broad, but if there's something like a corrupt db or if a remote branch doesn't exist then you shouldn't get a recommendation to switch git implementations.

I've expanded it to check libgit's error class

Tests for my change pass. The failure comes from another test, which seems unrelated:
thread 'rustc_info_cache::rustc_info_cache' panicked at '
Expected: execs
    but: expected not to find:
[..] rustc info cache miss[..]

@bors: r+
Looks great to me, thanks for this! Those test failures should be fixed on master now.

:pushpin: Commit 4fd483507a3e1471635a178a0eeddb7752b301bb has been approved by alexcrichton

:hourglass: Testing commit 4fd483507a3e1471635a178a0eeddb7752b301bb with merge 893db8c63793b655178de14dd9d142b02e950cae...

:sunny: Test successful - checks-azure
Approved by: alexcrichton
Pushing 893db8c63793b655178de14dd9d142b02e950cae to master...

This broke on rust-lang/rust CI:
---- git_auth::net_err_suggests_fetch_with_cli stdout ----
running `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/cargo build -v`
running `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/cargo build -v`
thread 'git_auth::net_err_suggests_fetch_with_cli' panicked at '
Expected: execs
    but: differences:
 16 - |ssh: Could not resolve hostname[..]|
    + |error: cannot run ssh: No such file or directory|

 19 - |Please make sure you have the correct access rights|
    +

 20 - |and the repository exists.|
    +

 21 - |[..]|
    +

I'm a little confused by the error. It almost looks like it is trying to run ssh, but I thought libgit used libssh. This is on an ubuntu 16 docker image.  Can you please take a look?

Ouch. This is a limitation of Cargo's test comparison. The output contains strings that are specific to git and ssh, but the test can't account for varying number of lines :(


Need bodyAsType along with bodyAsClass

Hello All,
Javalin is an amazing lightweight framework which I am evaluating so that I migrate from Spring Boot 2 and hence I am using Javalin along with DInject.
When we deserialize the post data within a controller, we use Context.bodyAsClass. This supports only top-level classes but if we have List or Set or POJO{List}, then the bodyAsClass doesn't deserialize it properly and fails in the code. It would be great to have bodyAsType and include Gson's TypeToken as the base Type so that we do the deserialize in an efficient manner within the framework.
Currently, I am accepting the data as Object and then converting it using Gson to the appropriate Collection of POJOs that the API requires.

Welcome @NitishBangera ! I don't want there to be a hard dependency on any of the serializers (Jackson, GSON, etc), so unfortunately this can't be included.
If you're using Kotlin you can do ctx.body<List<MyObject>>(), but I guess you're on Java?

Hello David,
Thanks for your reply. Yes, I am using Javalin for a Java Project along with DInject as my DI framework. This isn't just a problem with List. Rather than building a hard dependency, how about we create a builder i.e. HttpServer.addSerializer. With a specific Interface of Serializer in Javalin, any dev can mention the serializer and deserializer that they want into the framework.

This should work as in fact that lists and sets are arrays in json:
String[] stringArray = ctx.bodyAsClass(String[].class);
List<String> stringList = Arrays.asList(ctx.bodyAsClass(String[].class));
Set<String> stringSet = new HashSet<>(Arrays.asList(ctx.bodyAsClass(String[].class)));

@NitishBangera How do you propose the interface looks? Since this works out of the box in Kotlin, I'm a bit wary of adding a specific approach just for Java.
If the goal is to add it to DInject, you could use a Context extension:
app.before(ctx -> ctx.register(MyMapper.class, new MyMapper(ctx));
app.get("/", ctx -> ctx.use(MyMapper.class).bodyAsType(type)); // use MyMapper to deserialize object

Hello David,
My proposal for the interface is as below
`public interface Serializer {
 T deserialize(final String json, Class clazz);
 String serialize(T object);
}`
Well, I am just wondering how does it work out of the box in Kotlin? It has to have a default deserializer for this. I do agree that the specific approach shouldn't be just for java. I would relay your suggestion on MyMapper to DInject too.

We already have this as two interfaces @NitishBangera:
@FunctionalInterface
interface FromJsonMapper {
    fun <T> map(json: String, targetClass: Class<T>): T
}

@FunctionalInterface
interface ToJsonMapper {
    fun map(obj: Any): String
}

It's used by JavalinJson:
object JavalinJson {

    @JvmStatic
    var fromJsonMapper = object : FromJsonMapper {
        override fun <T> map(json: String, targetClass: Class<T>): T = JavalinJackson.fromJson(json, targetClass)
    }

    @JvmStatic
    var toJsonMapper = object : ToJsonMapper {
        override fun map(obj: Any): String = JavalinJackson.toJson(obj)
    }

    @JvmStatic
    fun toJson(obj: Any) = toJsonMapper.map(obj)

    @JvmStatic
    fun <T> fromJson(json: String, targetClass: Class<T>) = fromJsonMapper.map(json, targetClass)

}

JavalinJson is then used by Context.
What would your additional interface accomplish?

I would relay your suggestion on MyMapper to DInject too

Just to state that for me I'm not convinced about the need for this at all.  The idea that a post body is a "collection" (JSON array) and not an "object" is as I see it not a good idea, not recommended, not good form.
That is, I think this is trying to solve a problem that should instead be avoided.

Well if I have a Post to update multiple objects, the post data will be a list. Also, I did try encapsulating it in a parent Pojo but it still gave me the error that a LinkedHashMap cannot be directly deserialized to the Pojo when it was in a Collection. I have the code uploaded to https://github.com/NitishBangera/JavalinTest to test as well. Well not sure why it's been thought that the scenario should be avoided. If I want to write a bulk update or bulk delete API, you will be needing such post data. Right now, I think Javalin has great support Kotlin but as per my practical experience, it slightly lacks full support in Java.
Thank you @tipsy for your inputs.


Stopping Criteria should be non-const (for using Timer and other Util classes)

In a recent talk with Vitor, we planned some future stuff that will eventually require SCSO or SCMO to be non-const.


Android 2.2 and 2.3 insert into table does not work

I am using mobileservices-1.1.5.jar Android SDK.
I am inserting an item into a mobile service table in Android
VersionItem vItem = new VersionItem(...)
mVersionTable.insert(vItem, new TableOperationCallback<VersionItem>() {

    @Override
    public void onCompleted(VersionItem arg0, Exception exception,
    	ServiceFilterResponse arg2) {
     // TODO Auto-generated method stub

      }
});

This code is running in a thread in the run() method.
This works fine on Android 3.1 and upwards to 5.0, but when I run this code on a device running Android 2.2 or Android 2.3 it fails at the insert with the following error messages:
11-24 10:38:50.513: W/System.err(392): java.lang.NoClassDefFoundError: com.microsoft.windowsazure.mobileservices.MobileServiceJsonTable$4
11-24 10:38:50.513: W/System.err(392): 	at com.microsoft.windowsazure.mobileservices.MobileServiceJsonTable.executeTableOperation(MobileServiceJsonTable.java:377)
11-24 10:38:50.513: W/System.err(392): 	at com.microsoft.windowsazure.mobileservices.MobileServiceJsonTable.insert(MobileServiceJsonTable.java:237)
11-24 10:38:50.513: W/System.err(392): 	at com.microsoft.windowsazure.mobileservices.MobileServiceTable.insert(MobileServiceTable.java:252)
11-24 10:38:50.523: W/System.err(392): 	at com.microsoft.windowsazure.mobileservices.MobileServiceTable.insert(MobileServiceTable.java:221)
11-24 10:38:50.523: W/System.err(392): 	at dkh.idex.idex$17.run(idex.java:737)
11-24 10:38:50.523: W/System.err(392): 	at java.lang.Thread.run(Thread.java:1096)

Hi @lordjesus, did this issue get resolved? Please let us know if you have any more questions.

Hi @ysxu, the post from @carlosfigueira solved my problem. I do have another problem: When I try to use the top() function on queries, it will not return more than 50 rows, even though I specify it as top(100) or whatever. It should be able to return up to 1000 rows. I have asked this question on StackOverflow http://stackoverflow.com/q/27939343/1928874

@lordjesus Looks like it is resolved. I will close this issue then.
Please let me know if you have other questions!


fix reinstalling Python files installed by catkin_install_python after modifying them

Addresses #764 by ensuring that CMake is being rerun when the file has changed.

lgtm


Deny Order Creation for "Banned Users"

In some scenarios (e.g. DDoS attacks) we may want to prevent certain users from order placement.
This introduces exactly this functionality (configurable at runtime and defaulting to [])
Test Plan
Could add a test that this happens upon request.

Just relaying some of @vkgnosis thoughts before merging (as he is out on vacation and wasn't able to comment because github was down).

I think it is good to have this functionality but also that it is more appropriate for the database rather then a config option. The reason is that this could be a large list and changing the database doesn't require restarting services.
In hindsight we should also move the denied tokens into the database.
I don't mind merging as is but if it is not urgent maybe the database route is better.

This seems reasonable and I would think that we could implement this as is and create a separate issue implementing the database constraint for these items after the fact. I was also wondering if we might want to leave the possibility open to un-ban users as well (which might be messy on the DB level) where as denied tokens would likely remain permanent.

which might be messy on the DB level

Can't we just remove rows?

which might be messy on the DB level

Can't we just remove rows?

If we create a DB constraint that certain cells can't take on a specific value, then we would have to perform a DB migration script just to re-enable some values. This doesn't seem convenient at all to me.

Ah OK. I didn't think about implementing it as column value constraints, I imagined that the service would just check the database to see if a user is in the banned table when adding and querying orders. Same for tokens.

Ah OK. I didn't think about implementing it as column value constraints, I imagined that the service would just check the database to see if a user is in the banned table when adding and querying orders. Same for tokens.

Actually, this seems like its also a pretty good option! Although, given that many devs have no direct access to the production DB, I don't see how we could "make changes on the fly" for convenience sake as proposed.

I don't see how we could "make changes on the fly" for convenience sake as proposed.

If we want to be able to do this at runtime, I imagine we would have an admin API (requiring some login) that would allow adding and removing tokens and users from the ban list. (And not do it through database migrations as that would require new releases and deployments).

I don't see how we could "make changes on the fly" for convenience sake as proposed.

If we want to be able to do this at runtime, I imagine we would have an admin API (requiring some login) that would allow adding and removing tokens and users from the ban list. (And not do it through database migrations as that would require new releases and deployments).

Well now this idea is starting to grow on me. In any case, if you thinks its appropriate, I would merge this as is and create an issue for the proposal to be implemented for both (denied tokens and banned users) as a separate task.

I agree that we can merge as is and then change to making this part of the database.

Isn't BannedUser what the already existing type Forbidden Status Code was meant for? Also, is the openapi.yml updated in some other PR?

Yes perhaps, although I hadn't noticed at the time.


tsm-client: <IP_ADDRESS> -> <IP_ADDRESS> (security update)

Description of changes
IBM's "Authorized Program Analysis Report"s (something like release notes): https://www.ibm.com/support/pages/node/6845804
Security Bulletins:

https://www.ibm.com/support/pages/node/6956237 (CVE-2022-31129, CVE-2022-24785, CVE-2021-3807, CVE-2022-29244, CVE-2022-3517)
https://www.ibm.com/support/pages/node/6962863 (CVE-2021-33813)
https://www.ibm.com/support/pages/node/6963071 (CVE-2022-21628, CVE-2022-21626, CVE-2022-21624, CVE-2022-21619)
https://www.ibm.com/support/pages/node/6963786 (CVE-2022-4304, CVE-2023-0215, CVE-2023-0286)
https://www.ibm.com/support/pages/node/6963784 (CVE-2022-4450, CVE-2023-0216, CVE-2023-0401, CVE-2022-4203, CVE-2023-0217)

Things done

Built on platform(s)

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

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 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

[x] Fits CONTRIBUTING.md.

Both tests derivations (cli and gui) build/pass.  Also successfully tested with a real tsm-server (uploaded some files for backup without errors/problems).
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

tsm-client
tsm-client-withGui

22.11 is using <IP_ADDRESS> so we might be forced to mark it with knownVulnerabitities.

Thanks for merging!

22.11 is using <IP_ADDRESS> so we might be forced to mark it with knownVulnerabitities.

The backport just failed as it "missed" an older version update.  I created a PR for both updates by hand: #223052 .

Is the upgrade from <IP_ADDRESS> -> <IP_ADDRESS> suitable for stable?
I'm not familiar with their version numbering schemes but it seems to be to sort of 2 major releases.

I also don't really know about a scheme that is used for their version numbers.  From looking at the APARs (release notes), it seems they only fixed small bugs in both updates.  I cannot guarantee that the new version won't break anything in certain edge cases (but that's never guaranteed even with security patches).  In my use cases of the software, I haven't seen any change in behaviour in any of the updates in question.
Unfortunatelly, I cannot test it with a real TSM server until approx. the end of next week.  But I have yet to see a TSM update that makes the automated tests pass but fails in production.
I guess that #223052 falls under the "Security update" rule for backports and is better for users than leaving them with known vulnerabilities.

Fine by me, I am mainly concerned about breaking changes but I'm guessing since it is only the "client" part of the equation we should be fine.
They do not make it easy to find the information...


Not working

Will you post reproducible code?
It's working per this example:
https://runkit.com/58e405ebb4ae70001445ac23/58ec52356d82760014d56cdc

Currency formatting doesn't seem to work as per this https://runkit.com/gmlnchv/5912e7300c372b00127766d7

format-num overrides to style: 'decimal': https://github.com/ExodusMovement/format-num/blob/ebf9ab8890a8d9cab780bfba6675cf17d5467904/index.js#L29


Rtos bps time delay

Added the wrapper method to TimeDelay.
Quality Assurance Checklist
To make reviews more efficient, please make sure the software feature meets the following standards and check everything off that meets the quality check. Once everything has been checked, the assigned reviewers will begin the review process. Edit this description to check off the list.
There are exceptions with all guidelines. As long as your decisions are justified, then you are good! Contact the reviewers or the leads about any exceptions.
Requirements

[x] Followed Coding Style Guide
[x] Code Build checks pass
[x] No merge conflicts
[x] Software feature has test associated with it.
[x] Software feature has documentation for it updated.
[x] Test provides useful information and uses relevant data to accurately represent BPS

NOTE: If test file already exists, use that one

[ ] 2 Members of the team have already reviewed my PR

NOTE: Approver will not look at PR if 2 other members haven't reviewed first

[x] Did you Have Fun?

Things to Consider

[ ] Even if the above are checked, is this the best way of writing my code?

It's possible to write code that works, but are there ways to make code more efficient?

This shouldn't be merged into master, change the merge into branch to RTOS_Porting

There are merge conflicts, try fixing them. https://stackoverflow.com/questions/38216541/visual-studio-code-how-to-resolve-merge-conflicts-with-git

You still have merge conflicts in this PR.

Looks like hsms delay function is implemented correctly

Need to fix merge conflicts.


Update "Whats in Design System" illustrations with versions that include background pattern

Current website does not have background elements in the illustrations:

In Figma, illustrations have a background design:

Here are SVGs for these illustration

s:

@adam-little please review


Link to the Soak-special not working.

The link of "Reinschauen" on the title page leads to an 404.

Not in my case. It's working normally and leads you to the complete post.

This is not the case for the online-version. The link on https://pep-dortmund.github.io/towards-a-new-website/index.html is leading to https://pep-dortmund.github.io/special/sommerakademie/veranstaltungen/2016/04/28/soak2016-special.html

Ah, so this seems to be a missing basepath somewhere

I think here: https://github.com/pep-dortmund/towards-a-new-website/blob/master/index.html#L14

I tried to figure out what's the problem, but I may don't have enough skills to do so 👎

This is a problem only in the github preview because we the page is not at the root of the webserver.


Unable to use single namespace

I organize my library into subfolders but the outer API groups all of it into a single module which is the main package. This means I want all my documented imports look like  import {...} from 'package'. But this seems impossible as this plugin always adds a slash, so it becoms 'package/'. Any way to support this common way?

Please tell me minimum repository that reproduces this issue.
I re-open this when I get your reply.


Reduce TTL with l2_pairs.py

Hello,
I'm using POX in Mininet and I want to let hosts in my network discover the hops that they are taking across the switches in the network.
This might be an odd request but I was wondering if there is a way I can program the POX controller to instruct the switches to decrement the TTL of packets by modifying the l2_pairs.py program? I have played with the code and done some inspection and see that the l2_pairs.py is only handling ethernet packets so TTL is not available here. If I parse it here, then it looks like I'm messing with the packet's state (e.g., self.parsed ) and I'm afraid this might have unintended consequences. Perhaps I should be looking somewhere else in the code to add this change to my application.
I also thought about giving the switches different subnet addresses and using l3_learning to let them link up but I haven't been able to yet. Since I at least have connectivity via l2_pairs I was wondering if I could bake in the l3 behavior of decrementing TTL to l2_pairs.
Thanks for any pointers!

I think you need more than decrementing the TTL, right?  You also need the ICMP message when it expires, right?
Decrementing the TTL could be done relatively easily by modifying l2_pairs, I think.  l2_pairs installs rules that just match the Ethernet header.  You'll also want to install similar rules that match the Ethertype field to ensure that it's IP.  On those rules, also add the TTL decrement action, which is a Nicira extension (but l2_pairs already uses Nicira extensions, so they must be working).  You'll need the plain Ethernet rules too to handle ARP and such; you'll want to set the ones which also match the Ethertype as higher priority (or just install ARP and IP rules and forget about all the other Ethertypes?).
The trouble is that doing this won't automatically result in ICMP messages if I remember correctly.  For that, you'll need to involve the controller.  My memory has faded, but this probably means a third set of rules which also match TTL=0/1 and send those to the controller.  The controller will then create an ICMP response and send it back to the switch with a packet-out action.
I think the POX ovs_rip component demonstrates decrementing the TTL and synthesizing ICMP responses... but does the latter for ping, not for TTL expiration, so it'll take a bit of adapting (this really should be a feature of ovs_rip, I think I just didn't bother).
An alternate approach would be to just provide an API/protocol by which hosts could query the controller instead of supporting traceroute-like discovery.
And I guess a meta-question is whether you want/need to be using OpenFlow/OVS at all.  If you just want normal IP forwarding, you might just want to use a software IP router.  Then traceroute would just work.

Thank you for this detailed feedback!
Your meta question is on point. My alternative is to install Quagga and configure it for a bunch of mininet hosts, but I think that to configure it abstractly for every possible topology might be more work than hacking something with POX. I could be wrong!
Thanks for bringing up ovs_rip. It looks like fm.actions.append(ovs.nx_action_dec_ttl()) gets called once within _init_ingress_table. I also see where it is constructing that ICMP response, if icmpp.type == pkt.ICMP.TYPE_ECHO_REQUEST:.
I suppose what I might do is to add a TTL_COOKIE and another case in def RIP_PACKET_COOKIE (self, event): that calls another method, e.g., def _do_ttl_dec_or_send_time_expired. On the other hand, maybe I can simply change _do_ping to check the TTL before sending the ECHO_REPLY, and construct the TIME_EXCEEDED packet instead.
One thing that's not clear to me is _init_ingress_table. It seems like this is handling a lot of table logic and getting refreshed by a few other methods. Should I leave this alone, and allow it to continue to decrement ttl as it does, or should I create a new set of instructions in here too?
Thanks again!!
Matt

You may be right that it'd be a pain to do in Mininet.  I have a tool (Garnet) that I've never gotten around to open-sourcing that is probably quite a bit easier.  One of these days...
My intention in mentioning ovs_rip was that you could steal some of the code in it to extend l2_pairs.  But it sounds like maybe you're considering just switching to using it instead, which actually seems like a fine idea.  You just need to do two things.  The first is that you need to extend it to handle the time expired (which is potentially a mergeable improvement and I'll come back to in a moment).  The other is that you need to assign prefixes to all the links.  This is actually the only "hard" thing about doing it in Garnet, though there is an associated toolset that works with Garnet that would make it a bit easier.  The basic approach I have used for this sort of thing is something like... take some starting IP (e.g., <IP_ADDRESS>), then take the topology, and for every router-router link, just generate the next /2 and use it for that link (each of the routers get one IP on this /2).  The routes don't necessarily aggregate in any useful way, but I've never cared.  Then I just tack on my "real" prefixes at the edges (e.g., with ovs_rip's --static option).  This is something you could script if you have your topology in an easy to consume form (indeed, the "associated toolset" I mentioned above is essentially a simple but flexible graph file format, a little framework for writing tools that work with that file format and NetworkX, and a bunch of little tools written with it -- for facilitating doing exactly this sort of thing and then loading the results into simulators, Garnet, etc.).
Since I wasn't initially suggesting you use ovs_rip directly, I didn't mention this, but yes, I think you've hit on a crucial point.  Pings already go through the controller, so if your tracerouting stuff just used pings, you can just modify the existing ping handling in _do_ping.  If you want TTL expiration to actually work right in general, you need to add a new case (your TTL_COOKIE case, which I agree seems like the right way to try to do it).
The former (_do_ping modification) is almost certainly easier (and might be necessary in any case?).  _do_ping has got that initial check of a bunch of preconditions.  The last one checks to see if the packet is destined to one of the router's IPs.  Before this check, you'd probably want to do the TTL check and send back an error if it fails.  In case it's helpful, here's some code to generate a time exceeded message.  This may exist elsewhere in POX, though this particular code is stolen from a component which isn't in the repo (yet?).  I guess to send it as a packet-out, you'll also want to wrap it in an EthAddr and packet-out, but the existing ping code should do that.
  oip = a pkt.ipv4 object with the original IP packet

  icmp = pkt.icmp()

  icmp.type = pkt.ICMP.TYPE_TIME_EXCEED
  icmp.code = 0

  ipp = pkt.ipv4()
  ipp.protocol = ipp.ICMP_PROTOCOL
  ipp.srcip = # one of the router IPs
  ipp.dstip = oip.srcip
  d = oip.pack()
  d = d[:oip.hl * 4 + 8]
  d = struct.pack("!HH", 0,0) + d #FIXME: MTU
  icmp.payload = d
  ipp.payload = icmp

I think you can leave _init_ingress_table alone entirely if you just focus on making time exceeded messages work for pings.  If you want them to work in general, you probably need to tweak this (offhand, probably to add a new match for TTL=1/0 that has higher priority than the current last rule that it installs for all IP packets... I think if you do it higher than the PING_COOKIE rule too, you may be able to skip modifying _do_ping).


Investigate function impact of replacing web3-provider-engine

We should investigate the functional changes that will result from replacing web3-provider-engine with the extension's network client.
Scope:

"network methods", i.e. anything the network client tests cover

Action plan:

Discover differences by running network client tests against web3-provider-engine
Document differences
Decide what to do on a case-by-case basis

Hey team! Please add your planning poker estimate with Zenhub @Gudahtt @mcmire @xinnanyemm

Please add your planning poker estimate with Zenhub @cryptodev-2s

Only remaining item: the mobile difference list

@BelfordZ For the nonce tracker, does https://github.com/MetaMask/core/pull/1147 being merged now change anything going forward? i.e. you say after web3-provider-engine is removed, calls to getTransactionCount are no longer cached, but would that still be the case?

@mcmire yes, thank you for pointing that out. #1147 will resolve the difference as it pertains to the transaction controller. More broadly speaking, other calls to eth_getTransactionCount that might exist (or received through dapp api) still wont be cached, though. I will update with the above considerations.

@mcmire upon further inspection, it seems we still need to update mobile to add some middleware that calls the transactionControllers nonce tracker when handling getTransactionCount, similar to how we do it in extension:

metmask-controller calls createMetamaskMiddleware
createMetamaskMiddleware handles eth_getTransactionCount

With just #1147 - the nonce tracker wont get used when the requests to the method eth_getTransactionCount are coming through the provider.

Makes sense @BelfordZ!

Regarding the eth_getTransactionCount method, I have a draft branch on mobile that should ensure that behaves the same as before. I've just left a comment here about it: https://github.com/MetaMask/mobile-planning/issues/798#issuecomment-1505919649
I can handle it as part of that issue

If provider type is localhost or rpc, chainId will be the value in the provider config. If you use setProviderType with providerType localhost (which doesn't allow setting chainId), chainId will be 0x0.

If the chainId in providerConfig is alphanumeric, but not valid hex, it will now throw.

Note that as of #1064, we have validation in place to ensure custom networks have a valid hex chain ID set. So this scenario should no longer be possible.
The situation with Localhost is weird though. That built-in localhost network isn't used by mobile, nor would it be useful for the extension. I'll make a note to remove that at some point.

Regarding block ref rewriting, note that only latest is rewritten to use the latest block number (on extension currently, and after replacing web3-provider-engine). pending and earliest and all other block tags are left as-is.

I believe that encryption_public_key is unaffected by the web3-provider-engine replacement. It shouldn't work today in the network controller because the implementation of that method relies upon encryptionPublicKey being passed into web3-provider-engine, but we don't pass it in.
I guess it might throw a different error now at least. But both before and after, it would throw an error.
There are a bunch more methods in the same situation (anything referenced here basically: https://github.com/MetaMask/web3-provider-engine/blob/cf612f898002833c36730d23972fe4c4dd483c76/subproviders/hooked-wallet.js#L700)

It seems that these methods used to be intercepted by web3-provider-engine, but are now forwarded to the RPC endpoint:

net_listening
web3_clientVersion
eth_filter/eth_subscribe-related methods

I've updated the Notion doc to incorporate all of the comments above. I also did another audit of the differences before and after replacement, and noticed a change in behavior with the eth_signTypedData methods. Take a gander at the doc here and leave a comment if you see anything out of place: https://www.notion.so/Report-Functional-impact-of-replacing-web3-provider-engine-514c2e4694d24acbbf9182d12fc01c6b

@Gudahtt Are we good with this now?

@Gudahtt Ah fair. I have to run out for a bit here but I'll focus on fixing the conflicts on that PR when I get back. And then I'll get to the sanitization middleware PR 😅

I have reviewed the diff for #1116 again, and I believe this document is complete. Everything seems to be accounted for.

Marking this as done!


Added "Colorway" a CGoL with green trails :)

Also updated the Readme and links with both Conway and Colourway's stuff

A preview of what it should render...


az login --identity throw error init() got an unexpected keyword argument 'user_agent'

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az login
Errors:
The command failed with an unexpected error. Here is the traceback:
__init__() got an unexpected keyword argument 'user_agent'
Traceback (most recent call last):
  File "/usr/lib64/az/lib/python3.6/site-packages/knack/cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 658, in execute
    raise ex
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 692, in _run_job
    result = cmd_copy(params)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 328, in __call__
    return self.handler(*args, **kwargs)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/command_modules/profile/custom.py", line 122, in login
    return profile.login_with_managed_identity(username, allow_no_subscriptions)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/_profile.py", line 244, in login_with_managed_identity
    subscriptions = subscription_finder.find_using_specific_tenant(tenant, msi_creds)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/_profile.py", line 796, in find_using_specific_tenant
    client = self._create_subscription_client(credential)
  File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/_profile.py", line 820, in _create_subscription_client
    **client_kwargs)
TypeError: __init__() got an unexpected keyword argument 'user_agent'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az login -i

Expected Behavior
Environment Summary
Linux-4.18.0-193.65.2.el8_2.x86_64-x86_64-with-redhat-8.2-Ootpa, Red Hat Enterprise Linux 8.2 (Ootpa)
Python 3.6.8
Installer: RPM

azure-cli 2.37.0

Additional Context

Additional info : package azure-cli has been installed using official methods for Red Hat .

@jiasli for awareness

What's the output of PYTHONPATH=/usr/lib64/az/lib/python3.6/site-packages/ /usr/bin/python3.6 -m pip list | grep azure-mgmt-resource?

Output :
PYTHONPATH=/usr/lib64/az/lib/python3.6/site-packages/ /usr/bin/python3.6 -m pip list | grep azure-mgmt-resource
azure-mgmt-resource                              21.1.0b1
azure-mgmt-resourcegraph                         1.0.0

That's weird. The error message indicates that dependency might be broken(similar to #21189), but it looks okay.
Could you please attach the output of az -v?
A fresh installation should help.

Here is a previous analysis on the error TypeError: __init__() got an unexpected keyword argument 'user_agent': https://github.com/Azure/azure-cli/issues/18626#issuecomment-876982958
Some how your SubscriptionClient is from Track 1 SDK.
Perhaps you may also try this command to see where SubscriptionClient is imported from:
$ PYTHONPATH=/usr/lib64/az/lib/python3.6/site-packages/ /usr/bin/python3.6 -c "import azure.mgmt.resource.subscriptions; print(azure.mgmt.resource.subscriptions.__file__)"
/usr/lib64/az/lib/python3.6/site-packages/azure/mgmt/resource/subscriptions/__init__.py

The latest Azure CLI is 2.40.0. For latest Azure CLI, the command should be
$ PYTHONPATH=/usr/lib64/az/lib/python3.9/site-packages/ /usr/bin/python3.9 -c "import azure.mgmt.resource.subscriptions; print(azure.mgmt.resource.subscriptions.__file__)"
/usr/lib64/az/lib/python3.9/site-packages/azure/mgmt/resource/subscriptions/__init__.py

Result of az -v
az -v
azure-cli                         2.37.0
core                              2.37.0
telemetry                          1.0.6
Dependencies:
msal                            1.18.0b1
azure-mgmt-resource                2.1.0
Python location '/usr/bin/python3.6'
Extensions directory '/home/xxxxx/.azure/cliextensions'
Python (Linux) 3.6.8 (default, Aug  3 2021, 06:54:29)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
Legal docs and information: aka.ms/AzureCliLegal
Unable to check if your CLI is up-to-date. Check your internet connection.
Please let us know how we are doing: https://aka.ms/azureclihats
and let us know if you're interested in trying out our newest features: https://aka.ms/CLIUXstudy

azure-mgmt-resource 2.1.0 is Track 1 SDK. I am not sure why it is against azure-mgmt-resource 21.1.0b1 from https://github.com/Azure/azure-cli/issues/23954#issuecomment-1253123915

Result of command https://github.com/Azure/azure-cli/issues/23954#issuecomment-1253146609
PYTHONPATH=/usr/lib64/az/lib/python3.6/site-packages/ /usr/bin/python3.6 -c "import azure.mgmt.resource.subscriptions; print(azure.mgmt.resource.subscriptions.file)"
/usr/lib/python3.6/site-packages/azure/mgmt/resource/subscriptions/init.py
I will test a new fresh install tomorrow on a new server

Just as I inferred, /usr/lib/python3.6/site-packages/azure/mgmt/resource/subscriptions/__init__.py is installed by pip, interfering with Azure CLI's /usr/lib64/az/lib/python3.6/site-packages/azure/mgmt/resource/subscriptions/__init__.py.

I followed the official method official methods for Red Hat . for the installation via dnf and not pip.

Hello, I redo the installation on another system following the official methods for Red Hat .  and I still have the same issue.
Do you have a solution / workaround to solve that issue ?

Do you install other software that installs /usr/lib/python3.6/site-packages/azure/mgmt/resource/subscriptions/__init__.py?

Hello,
Sorry for the delay.
I checked on a fresh installed machine and there is no existing /usr/lib/python3.6/site-packages/azure/ dir before the installation of the package


SSL verification is Running - seems blocked since saturday

App Id: d1p0brm2y6prq5
Region: eu-west-1
Step: SSL verification
Status: Running
Issue/question
We registered a custom domain and applied the DNS records this saturday. However, the process seems stuck in the step "SSL Verification", message says: "We validated that the CNAME record exists in your DNS file. We will now verify ownership of the domain. If this takes longer than 8 hours, please create an issue in our GitHub issue tracker." Could you look into it, previous times this process ran smoothless, so we guess something went wrong.

Hi @nordinh , if you remove the domain and re-connect it, would it work?

Closing this issue, please feel free to re-open if you are still facing issues.


feat: adds a dead letter queue and permissions for aggregation lambda

This PR adds a dead letter queue for the aggregation lambda. Currently the queue is configure to store letters for 14 days and is encrypted with a KMS key that is cached for 1 day. It also adds the correct permissions for the lambda to send messages into the encrypted queue.

Does this break our assertion of <24 hours retention of incoming event records?

I believe this is just for the aggregation write, so ideally the payload would already be anonymized

Anything that's ending up in the dead letter queue should be anonymized enough to retain forever.
Timestamp will be pinned to the beginning of the day.
It's a discrete event so it will consist of one of the items in the payload for the raw metrics.
This is also going to be in the format of the object that is passed to the DynamoDB updateItem method, so this is just to store items that fail getting written to the aggregate table.
I'm going to hold off on merging this one right now as I just ran a tf apply in staging from my local machine so this will undo those changes, I'll want to merge my PR first then merge this into that.


Remove deprecated functions from RF and GBT

Description
There are a few functions in Random Forest and Gradient Boosted tree in DAAL that have been deprecated and replaced by newer definitions which expects one or two parameters more. Because of the deprecation flags CI throws warnings on windows. The deprecated functions are being used from examples and some tests on ci. But internally they call the newer definition of the function with setting the new arguments to zero. This PR removes the older definitions and sets the default values for the new parameters to zero. Examples reflect the new definition. CI tests were not changed.

/intelci: run

/intelci: run

I am not sure what the plan for removal of the deprecated interfaces is but I would leave these in the repo for now. Would it be possible just to update the examples so that they are using the existing non-deprecated replacement interfaces?

I am not sure what the plan for removal of the deprecated interfaces is but I would leave these in the repo for now. Would it be possible just to update the examples so that they are using the existing non-deprecated replacement interfaces?

It was an interesting decision to deprecate functions which would have been just fine to add the new parameters with default values. The deprecated functions do exactly that. It doesn't seem to me that the deprecation was necessary. For the matter of removing the deprecated functions, there is actually no functional difference. If anyone calls with previous definitions, they will still work. However, I am open to go either way.

@Alexsandruss thoughts?

@Alexsandruss thoughts?

@Alexandr-Solovev

/intelci: run

@Alexsandruss Ignored any API changes for this PR. Would you please review again?

/intelci: run

Should we remove deprecated functions in the same time as update examples?

and we increased major binary version, so I guess now it makes sense to return function deletions

/intelci: run

Private CI is supposed to fail because new_ts tests build step will fail because of API break. Here is the job with updated infra branch: https://intel-ci.intel.com/ef6b44cb-fdf0-f1fb-b313-a4bf010d0e2e

/intelci: run

The CI timeout and warning are unrelated to the PR.


merge builtins into this

merging rollup-plugin-node-builtins seems like it would be a useful addition

For what? I tried it and importing works fine with the latest versions of rollup and rollup-plugin-node-resolve.
Can it be closed too? No discussions here since 2016.

Repro can be found here: https://github.com/mecurc/57-rollup-issue


Arbitrary File Write via Archive Extraction (Tar Slip)

Unsanitized input from a command line argument flows into extractall, where it is used to extract files from a tar archive. This may result files outside destination directory to be overwritten, resulting in an arbitrary file write.
https://github.com/ethereum/execution-specs/blob/5e8a9c33b4fa607cac58e1a92e186c1ef4f0230a/scripts/download_geth_linux.py#L31
Data flow :
10 steps in 1 file
scripts/download_geth_linux.py
16:12 parser.parse_argsparser.parse_args (SOURCE)
1 - 2 parser.parse_args (SOURCE)
1
parser.parse_args
2
args
3
argsargs.dir
4 - 5
args
4
args.dir
5
dir: str
6
dir
7
dir
8
dirgeth_tar.extractall
9 - 10
dir
9
geth_tar.extractall

The geth_tar file is trusted (indeed we execute the program it contains). The fact that extract_all() can misbehave on malformed tar files is irrelevant.


Allow for @Id fields to also be @Searchable (they're already @I

@Id
@Searchable
private String dni;

Results in:
Skipping index creation for XXX because Duplicate field in schema – dni

Potential Solution: create a secondary entry in the index for the id field


More flexible data providers

This component is helpful but it seems unnecessarily complicated to require users to create a service that implements AutoCompleteService when they may have an existing function in the parent component or another service with a name that is different from getResults.
Why not simply allow users to pass in any callback function
<ion-auto-complete [dataProvider]="mySearchFn" labelAttribute="name"></ion-auto-complete>

Where mySearchFn can be any function that accepts a string argument and returns an array?
Also, as I have in my above example, labelAttribute can be an @Input parameter of the component instead of making it a property of a service.

@jaufgang this is just another approach :)
Do you believe that this should be a feature?

Yes I do.  This would be much simpler to use by developers,  who could then re-use existing functions in their component or other services without needing to have a special service just to use this component.

How do I display more than one search result today is limited to 1, but would like to limit to 3 for example?

I agree with @renanmoraes : this service thing is a lot to implement for a quite simple thing, imo...

Fixed e78f12eedb0546d3dda6cd317127b84a1917aeb9


crosh shell missing localhost

Please paste the output of the following command here: command not found

Trying to use crosh in dev mode to complete linix install. Problem is "lacalhost" isnt displayed after typing shell. Instead of chronos@localhost it's chronos@frostflow-rev3
This is a compleatly new machine, and the device is still named localhost. Downloaded crouton then went to install but entered only part of the command and it didn't properly install. Now it's stuck without access to file directory.
If known, describe the steps to reproduce the issue:

Can you please provide what message appears when you attempt to install Crouton, and also what command you're using? The hostname being frostflow-rev3, while strange, shouldn't exactly be the problem.

@Joyful108,
No worries, it's just the PS1 prompt that has changed recently, if you run hostname you'll find that it is still 'localhost'.
The new PS1 prompt is set using the script: /etc/bash/bashrc.d/01-prompt.sh, the actual routine is shown below:
if [[ ! -f /run/dont-modify-ps1-for-testing ]]; then
  PS1="$(
    hostname="$(cat /run/chromeos-config/v1/name 2>/dev/null || hostname)"
    board_id="$(crossystem board_id 2>/dev/null || true)"

    if [[ -n "${board_id}" ]]; then
      hostname+="-rev${board_id}"
    fi

    echo "${PS1//\\h/${hostname}}"
  )"
fi

If you don't like it you could just run this command as root :

touch /run/dont-modify-ps1-for-testing

Note: on version M117+ they removed the sudo command in the crosh shell so you may have to run that command as root from VT-2.
-DennisLfromGA

Please paste the output of the following command here: command not found

Trying to use crosh in dev mode to complete linix install. Problem is "lacalhost" isnt displayed after typing shell. Instead of chronos@localhost it's chronos@frostflow-rev3
This is a compleatly new machine, and the device is still named localhost. Downloaded crouton then went to install but entered only part of the command and it didn't properly install. Now it's stuck without access to file directory.
If known, describe the steps to reproduce the issue:

Please paste the output of the following command here: command not found

Trying to use crosh in dev mode to complete linix install. Problem is "lacalhost" isnt displayed after typing shell. Instead of chronos@localhost it's chronos@frostflow-rev3
This is a compleatly new machine, and the device is still named localhost. Downloaded crouton then went to install but entered only part of the command and it didn't properly install. Now it's stuck without access to file directory.
If known, describe the steps to reproduce the issue:

Dude You arent using dev mode to enable it put device into recovery mode by holding esc refresh and power buttons. Then press Ctrl+d to enable dev mode now the system will get out of recovery mode and say OS Verification is Off press Ctrl+d to boot to chromeOS and it will transition to dev mode! Now when its done setup the device and enjoy


Resolve joi validation error when injecting to hapi

Newer versions of Hapi remove callback param from request when injecting, so Joi throws a validation error in runtime.

Sorry for the very messy PR, I wanted to do a quick fix there, but kept stumbling around - if you find the problem worthy of fixing, please feel free to ignore the PR and do it more cleanly if you wish so.

I'll just squash and merge. Thanks for your contribution! 😄

Published in 3.1.0

Awesome - thanks a bunch!


Cypress test. Email confirmation page.

Motivation and context
Added Cypress test for feature #3573
How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[x] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

@dvkruchinin , could you please look at tests?

@dvkruchinin , could you please look at tests?

@nmanovic
The problem here is not in the tests. The build of CVT containers was not successful.
Get "https://quay.io/v2/": dial tcp: lookup quay.io: No address associated with hostname
Probably need to restart jobs.