General support of OPs for second-order gradient

As I saw mxnet has autograd package to support high order gradients, I tried to implement wgan-gp with mxnet. But I got an error of
mxnet.base.MXNetError: [08:32:17] C:\projects\mxnet-distro-win\mxnet-build\nnvm\src\pass\gradient.cc:187: Operator _backward_Convolution is non-differentiable because it didn't register FGradient attribute.

It seems convolution operator still does not support higher order gradients?

Supporting higher order gradients is on the agenda. Refer to the discussion in https://github.com/apache/incubator-mxnet/issues/5699. Need to ping Eric @piiswrong

I find the issue is similar as https://github.com/apache/incubator-mxnet/issues/9979 . Let's move the discussion there.

@sxjscience I think #9979 is a question rather than a feature request. In his case, he should use autograd.grad and set create_graph=True to solve the problem. However, in this case, it seems second order derivative is not implemented for some operators?

2nd order gradient is only implemented for a few operators like * and exp.

I looked at the code and it seems like the problem is that the current implementation is kind of only doing symbolic math down one level. For example, sin,
// sin
MXNET_OPERATOR_REGISTER_UNARY_WITH_RSP(sin, cpu, mshadow_op::sin)
MXNET_ADD_SPARSE_OP_ALIAS(sin)
.describe(R"code(Computes the element-wise sine of the input array.

The input should be in radians (:math:`2\pi` rad equals 360 degrees).

.. math::
   sin([0, \pi/4, \pi/2]) = [0, 0.707, 1]

The storage type of ``sin`` output depends upon the input storage type:

   - sin(default) = default
   - sin(row_sparse) = row_sparse

)code" ADD_FILELINE)
.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseIn{ "_backward_sin" });

MXNET_OPERATOR_REGISTER_BINARY_WITH_SPARSE_CPU_DR(_backward_sin, unary_bwd<mshadow_op::sin_grad>);

The fact that it names it _backward_sin instead of using cos is probably why this can't chain the differentiation down.

@lightingghost  Borrow the discussion in https://github.com/apache/incubator-mxnet/issues/9979 here
import mxnet.ndarray as nd
from mxnet import autograd

x = nd.array([3.0])
x.attach_grad()
with autograd.record():
    y = x**2
    y_grad = autograd.grad(y, x, create_graph=True, retain_graph=True)[0]
    z = y_grad ** 2
z.backward()
print(z.grad)

MXNetError: [12:44:29] src/pass/gradient.cc:187: Operator _backward_power_scalar is non-differentiable because it didn't register FGradient attribute.

@aidan-plenert-macdonald That's correct, we need to check the backward pass of these operators and register the gradient.

@sxjscience Would it not be better to register the backward OPs as combinations of the forward ones so the gradients can be computed endlessly? Basically not limiting the functionality to 2nd order, but the option of going to nth order

@aidan-plenert-macdonald Yes, we should do that.

@aidan-plenert-macdonald I suggest we should first classify the OPs into three categories.

[ ] OPs that we can directly register their backward_ops to be some specific forward OPs, e.g, all element-wise operators + reduce/broadcasting operators, dot/batch_dot, ....  Most OPs in the tensor folder should satisfy this criteria.
[ ] OPs that may need more investigation in how to register the backward, e.g, most OPs in the nn folder including Convolution/Deconvolution/Pooling, etc.
[ ] Some other corner cases like OPs in the contrib folder and random folder

@lightingghost @aidan-plenert-macdonald Would you have time to work on this? You may refer to the implementation of transpose, which uses itself as the backward OP https://github.com/apache/incubator-mxnet/blob/master/src/operator/tensor/matrix_op.cc#L315-L333. We can first work on supporting the easier cases like

[ ] unary operators, https://github.com/apache/incubator-mxnet/blob/master/src/operator/tensor/elemwise_unary_op_basic.cc
[ ] broadcasting and reduce, https://github.com/apache/incubator-mxnet/blob/master/src/operator/tensor/broadcast_reduce_op_value.cc
[ ] dot, batch_dot, https://github.com/apache/incubator-mxnet/blob/master/src/operator/tensor/dot.cc

@sxjscience I would love to but unfortunately I am not familiar with c++, nor with the mxnet basic architecture. I need to get acquaintance with them first, which may take time.

@sxjscience Sure. I'll take the unary. I'll be working out of https://github.com/aidan-plenert-macdonald/incubator-mxnet/tree/n-derivative.

@lightingghost That's okay. You can ask any questions in Github or in (https://discuss.mxnet.io) and we will reply you ASAP.
@aidan-plenert-macdonald Thanks a lot! I'll keep an eye on that. Just cc me in the future PR. Also, you can ask questions in the forum if you have any.

@sxjscience How good are the current unit tests? If I make the changes will the unit tests catch the change? And currently, the python unit tests are failing. Is this something expected?

The current unit test should be correct and we rely on it to test the correctness of PRs. Do you mean that the unit test fails without changing any code?
Get Outlook for iOShttps://aka.ms/o0ukef

From: Aidan Macdonald<EMAIL_ADDRESS>Sent: Tuesday, March 20, 2018 9:27:54 PM
To: apache/incubator-mxnet
Cc: Xingjian SHI; Mention
Subject: Re: [apache/incubator-mxnet] General support of OPs for second-order gradient (#10002)
@sxjsciencehttps://github.com/sxjscience How good are the current unit tests? If I make the changes will the unit tests catch the change? And currently, the python unit tests are failing. Is this something expected?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-mxnet/issues/10002#issuecomment-374831401, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AE8D7i5PH3HqWHEWFBgGbng_mpzeJCsPks5tgdbKgaJpZM4SeTsU.

Yeah. See https://github.com/apache/incubator-mxnet/issues/10182

Hi there. My team is keenly interested in building on mxnet but we are starting to look at techniques requiring higher order derivatives (also wgan-gp, in particular). Is this capability being actively developed?

@dmacd Probably not as fast as you would like it to be. This is my side-side project, so I put a few hours in every week or so. If you want to take lead on the development, I could help where I can.

Dear all, it will be great to have 2nd order derivative support. There are some promising GAN training methods that use 2nd order derivatives (e.g. wgan-gp, SGA etc) for stabilizing training.
Thank you very much for all your efforts.

I think this would be a great feature to add to MXNet and I would like to work to make this happen. I have the C++/Python skills to do but I am new to the MXNet backend. I think I can follow the examples of the existing operators that support higher order gradients, (transpose, *, exp). can some one experienced help me understand how to get started? maybe @ piiswrong?

@sxjscience do you have a design for higher order gradient? @JohnCalhoun offers to help implement some ops

@JohnCalhoun Here's a useful developer guide that you can follow to get started :
https://cwiki.apache.org/confluence/display/MXNET/Development

@JohnCalhoun I have experience doing things like this. Below is a little info I have from when I started. Unfortunately, I am doing a lot at the moment, so I can't be the main contributor.
Trig Example
To start, let's just look at unary trig ops. If you look at this line you will notice the backwards op. Note that it is called "backward sin" instead of just being a kind of reference to Cosine.
The macro references a series of macros starting here, then NNVM here. We can see a rough usage instructions here.
So it would appear that we need to fix the lines below like,
.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseIn{ "_backward_sin" });

and replace the ElemwiseGradUseIn with something that likes the gradients back to back.
It appears that in the following line, the _backward_sin is registered using macros in the same way,
MXNET_OPERATOR_REGISTER_BINARY_WITH_SPARSE_CPU_DR(_backward_sin, unary_bwd<mshadow_op::sin_grad>);

It looks like all of these are registered here. Notice that only the op registers a gradient,
// sin
MXNET_OPERATOR_REGISTER_UNARY_WITH_RSP_CSR(sin, cpu, mshadow_op::sin)
.describe(R"code(Computes the element-wise sine of the input array.
The input should be in radians (:math:`2\pi` rad equals 360 degrees).
.. math::
   sin([0, \pi/4, \pi/2]) = [0, 0.707, 1]
The storage type of ``sin`` output depends upon the input storage type:
   - sin(default) = default
   - sin(row_sparse) = row_sparse
   - sin(csr) = csr
)code" ADD_FILELINE)
.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseIn{ "_backward_sin" });

MXNET_OPERATOR_REGISTER_BINARY_WITH_SPARSE_CPU_DR(_backward_sin, unary_bwd<mshadow_op::sin_grad>);

but the _backward_sin doesn't register a gradient. This is most likely why we only get one level of gradient.
Possible Solution
Given this, my naive intuition is that a simple swap of,
.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseIn{ "_backward_sin" });

for,
.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseIn{ "cos" });

might give second order gradients for sin.
Sorry if that is confusing. I did similar work to this for Tensorflow, so I can help out as needed.

Thank you @aidan-plenert-macdonald ! So once I get up to speed and get an environment together it sounds like the first steps are

implement the sin FGradient as you have suggested using cos
test that you can then do the second order gradient of sin
Implement the cos FGradient as sin
test that you can do a third order gradient of sin
From there the work will be implemention for all operations.

does that sound about right?

Another issue related to this feature:
https://github.com/apache/incubator-mxnet/issues/12529

@JohnCalhoun Yeah. you have the right idea. With those, it should be very simple, other ones may become more complex, but of course start simple and work up.
Here are the tests that sort of test the gradients. Mostly just testing that the backward pass op works. Similar code here suggests that somewhere, gradients can be figured out. It's not clear what that line does though.
@cjolivier01, we are trying to set up second order gradients in MXNet, and in the test code we see that you mention that the engine can automatically figure out the gradient for an op here. We would like to have it automatically figure out the second order gradient and test it. What methods determine the registered gradient of an operator?
@apeforest  Loop me in when you plan

@aidan-plenert-macdonald should we write test that check for accuracy of gradient calculations and not just that the op runs? also it looks like there is not full test coverage of gradients and ops in those files? (this discussion might better belong in a different thread)

@JohnCalhoun I would say to do testing in 3 different stages. IMO, each stage should be a separate PR.

At first, simple check that each op (or the ops we want to test) have a second order gradient registered. Meaning get the registered gradient and then assert that the gradient also has a gradient.
Run the second order gradient and assert that output has the expected shape. Meaning 3x4 matrix in, 3x4 matrix out, or whatever we'd expect.
Finite difference check on the second order gradients.

I recommend doing the first one before even implementing any ops. That way, you can quickly check which ops need to be fixed. Perhaps the gradient is wrong, but just forget that at this point. There are a lot of ops to fix. A simple scan to make sure that all the ops have second order gradients will be huge. Once this is all done, we could probably merge to master as is even without checking the gradients.
Once we have a significant amount of ops fixed, then check the shape to catch simple errors. May seem silly, but shape errors are easy to catch and cause a lot of problems downstream.
Only then, do a finite difference test. Hopefully, you will have minimal errors at this point.

@aidan-plenert-macdonald
I like your idea, so the steps would be:

write test case that

lists all ops
for each op check for gradient
for each gradient check for gradient

PR
begin writing ops, for each add test case that checks shape
PR
write finite difference tests
PR

Writing each op should be self contained, So once we have a list of all ops need we can distribute individual ops to people ( to want to help such as myself and @apeforest ) and check off ops as they are finished.

progress on first part:
TEST(CORE_OP_RUNNER, CheckForGradients) {
    std::vector<std::string> names= dmlc::Registry<Op>::ListAllNames();
    std::cout << "total ops: " << names.size() << "\n";
    for (std::vector<std::string>::iterator i = names.begin(); i != names.end(); ++i){
        const Op* op=dmlc::Registry<Op>::Find(*i);
        auto gradient=op->GetAttr<nnvm::FGradient>("FGradient");
        std::cout << op->name << " " << gradient.count(op) << '\n';
    }
}

out.txt

@JohnCalhoun Yeah, that looks really good. I guess we need to figure out if we can somehow to register compound ops so we can do things like cos(x) -> -sin(x). I'll look into that. I'm happy to help writing simple ops once we get there. You could make the test assemble a graph of ops to gradients and run something like Tarjan's Algorithm to make sure the ops are fully connected, or at least get a count of how many are fully connected.

@aidan-plenert-macdonald so I have been looking in to how the unary ops work. I don't think it is possible to register compound ops. It seems the engine is not doing arbitrary differentiation, it just looks up what was registered as the derivative. so -sin(x) has to be its own op and there is no way to describe it is mul(-1,sin(x)) with mul and sin being ops. Am I understanding this right?
sin(x)->cos(x) is simple but I think that is a corner case.
It might now be possible to support arbitrary order gradients with out writing an endless amount of backward* ops. Writing enough ops to support second order gradients is for sure possible.

more updates:
I tried out the sin(x)->cos(x)
so code looked like this:
// sin
MXNET_OPERATOR_REGISTER_UNARY_WITH_RSP(sin, cpu, mshadow_op::sin)
MXNET_ADD_SPARSE_OP_ALIAS(sin)
.describe(R"code(Computes the element-wise sine of the input array.

The input should be in radians (:math:`2\pi` rad equals 360 degrees).

.. math::
   sin([0, \pi/4, \pi/2]) = [0, 0.707, 1]

The storage type of ``sin`` output depends upon the input storage type:

   - sin(default) = default
   - sin(row_sparse) = row_sparse

)code" ADD_FILELINE)
.set_attr<nnvm::FGradient>("FGradient", ElemwiseGradUseIn{ "cos" });

MXNET_OPERATOR_REGISTER_BINARY_WITH_SPARSE_CPU_DR(_backward_sin, unary_bwd<mshadow_op::sin_grad>);

but it does not work. this is because ElemwiseGradUseIn{ "cos"} != _backward_sin the math is similar but the function signatures dont match. here is the error

C++ exception with description "[19:00:10] ../src/io/../operator/elemwise_op_common.h:176: Check
failed: in_attrs->size() == static_cast<size_t>(n_in) (2 vs. 1)  in operator

_backward_sin is actualy a binary function (takes in input and gradient) while cos is a unary operation.
notice the line
MXNET_OPERATOR_REGISTER_BINARY_WITH_SPARSE_CPU_DR(_backward_sin, unary_bwd<mshadow_op::sin_grad>);

is registering _backward_sin as a BINARY operator. Digging through the code, that macro does some magic that allows mshadow_op::sin_grad to take in two arguments but ignore the second.
it does not seem feasible to try and support arbitrary order gradients. but supporting second order gradients should still be good to go.

@JohnCalhoun @aidan-plenert-macdonald I've supported the higher-order gradient of sin/cos in https://github.com/apache/incubator-mxnet/pull/12821 We can set the FGradient to be a combination of the forward nodes. If you have time, you can try to support the other unitary operators.

@sxjscience  your example is extremely helpful and provides a great example of how to implement the other operators. is there any good documentation on how the nnvm:Nodes work? or do I just need to study the code more?

Shall we create a check list of targeted 2nd order grad operators with high, medium and low priority? @sxjscience

Yes, we should create one.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Haibin Lin<EMAIL_ADDRESS>Sent: Monday, October 15, 2018 2:29:21 PM
To: apache/incubator-mxnet
Cc: Xingjian SHI; Mention
Subject: Re: [apache/incubator-mxnet] General support of OPs for second-order gradient (#10002)
Shall we create a check list of targeted 2nd order grad operators with high, medium and low priority? @sxjsciencehttps://github.com/sxjscience
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-mxnet/issues/10002#issuecomment-429723432, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AE8D7tS__Gz4MpufZn0FBpvTEPd77BpFks5ulCtBgaJpZM4SeTsU.

where would be the appropriate place to put that checklist? in an issue? or in a JIRA ticket?
probably in an issue so we can mark commits to the ops

Issue +1
Get Outlook for iOShttps://aka.ms/o0ukef

From: John M Calhoun<EMAIL_ADDRESS>Sent: Tuesday, October 16, 2018 12:13:41 AM
To: apache/incubator-mxnet
Cc: Xingjian SHI; Mention
Subject: Re: [apache/incubator-mxnet] General support of OPs for second-order gradient (#10002)
where would be the appropriate place to put that checklist? in an issue? or in a JIRA ticket?
probably in an issue so we can mark commits to the ops
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-mxnet/issues/10002#issuecomment-429917315, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AE8D7qF9RLob8FGekjuzj86ogPAxFq7Oks5ulLQ1gaJpZM4SeTsU.

good note @leopd . where would be the appropriate place to track progress and priorities on these 100+ ops? in a github issue? an issue for each op? or use the JIRA tickets?

There is already an epic created: https://issues.apache.org/jira/browse/MXNET-978
I suggest we add tasks/stories to this epic and prioritize in there.

I am good with that. I can put together a list of all ops that need FGradients defined

related question. Ignoring prioritization, are there ops where gradients dont make sense? or ops that should not have an FGradient?

update: posted checklist on jira issue https://issues.apache.org/jira/browse/MXNET-978

@sandeep-krishnamurthy please add label [Operator]

Any news? I saw no updates in the Jira issue

@lonelykid We are actively working on the higher order gradient feature right now. We will update you once the PR is ready for review. Thanks for your patience.

@lonelykid PR is out for review https://github.com/apache/incubator-mxnet/pull/14613
Your comments are appreciated.

What is the current status of support for second order derivatives in Gluon? I tried implementing the method from the paper Improved Training of Wasserstein GANs, but the training program returns an error when I add the gradient penalty to the loss function and do a back propagation. I noticed that, with mxnet version 1.7, it works for Dense layers without activation, but e.g. Conv2D and many other layers seem still unsupported. I saw a similar question here #5982, but that was around 3 years ago.
Are there plans to add second order derivative support for e.g. gluon.nn.Conv2D, gluon.nn.BatchNorm, gluon.nn.Activation, gluon.nn.LeakyReLU?

Same here on MXNet 1.8.0.rc2.
I'm trying to implement cBiGAN which is composed of residual blocks and follows WGAN-GP training procedure.

Same here on MXNet 1.8.0.rc2.
I'm trying to implement cBiGAN which is composed of residual blocks and follows WGAN-GP training procedure.


Is it possible to convert docx file to pdf?

Is it possible to convert docx file to pdf ? If not how can it be done ?
Thanks

Is it possible to convert docx file to pdf ? If not how can it be done ?
Thanks

I'm not affiliated with the project, but have been using docx-templates for quite a while.
There is no functionality for conversion in place, so you will need to either use

An open source library (I have reviewed & tested a huge number & they generally don't render complex documents correctly - for basic invoice templates etc, they are likely fine)
I would suggested taking a look at Cloudmersive. It isn't open source & is a paid service, but there is a free tier & they have a huge library of API's for a whole number of tasks.

Have a Look at https://www.npmjs.com/package/@ec-nordbund/docx-templates-to-pdf wich uses gotenberg (Install that via dicker) See https://github.com/gotenberg/gotenberg

Thanks for your answers @KAVA-Leigh and @mathe42 !
Docx-templates is concerned with creating docx files. To turn docx files into PDF files you need a docx reader like Microsoft Word or LibreOffice.


Allow host.name to be auto-detected if left undefined

In order to reduce the noise in cas.properties in clustered deployments, allow host.name to be calculated automatically, if left undefined.

+1


Reevaluate choice of always considering replacements to be descendants

The choice made sense for cases where projects would fork or otherwise modify a given module, but replace is also commonly used for version pinning. Kubernetes does this, for example.

Alright, so replacements can be any of the following:

Different version of the same module (used when pinning specific versions)
Different module that is at least partly API compatible with the original one
A fork of the replaced module (in this case the original should appear as ancestor in the BOM)
...

While 1 could be differentiated from 2 and 3 by comparing the module paths / names, telling apart 2 and 3 would require looking at the code and / or comparing the commits.
I'm leaving the issue open, but I'll remove the milestone. As of https://github.com/CycloneDX/cyclonedx-gomod/commit/3c40e5d7aec5c9680f61418a17092bf8044d1071, replaced modules are discarded and not part of the BOM anymore.

I think this doesn't really make sense anymore.


Transition path for existing users of asm!

There are basically two options for transitioning to the new asm syntax.
Option 1
We simply change the asm! macro to the new syntax. All users of asm! on nightly will have to fix their code to use the new syntax.
Pros:

Only one such transition is needed.

Cons:

This is a pretty severe breaking change.
No transition path for users of asm! on architectures not supported by the new macro.

Option 2
Rename asm! to llvm_asm! and keep it around as perma-unstable. Mark asm! as deprecated until it is eventually replaced by the new syntax.
Pros:

llvm_asm! is still available for unsupported architectures, and for experimenting with unsupported register constraints.
Users have time to fix their code before it stops working.

Cons:

This will require two transitions: one to rename to llvm_asm! and one to port to the new asm! syntax.
Requires maintaining two separate inline assembly implementations in the compiler.

Requires maintaining two separate inline assembly implementations in the compiler.

One of which is just a few houndred lines of code.

We could make the meaning of asm! feature-gate dependent.
For example, if feature(asm), we keep asm! "as is", and start warning on it on nightly.
Then, we add a new feature gate, e.g., inline_asm, and if feature(inline_asm), we give the asm! macro the new semantics.
At some point later on, we stabilize inline_asm, and maybe remove feature(asm) and the old semantics from nightly.

I would favor Option 2. It's easy as an end user to understand that I can quickly get my code working again with a 5 character change, and then when I have time (and when the language is ready) I could spend additional time to transition to the new system and possibly even move the crate to working on Stable.

Option 3

Add llvm_asm
Warn for a few cycles on nightly that asm will be renamed to llvm_asm.
When the new implementation is ready. Rename asm to lvm_asm and allow people to start using the new asm.


Fix console warning on properties flyout

An issue with handlers was causing a warning in the console when interacting with the lists in the properties flyout. This just moves the handlers into functions and binds them to prevent the warning.
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

@karlaspuldaro Thank you good catch - just pushed a fix for the missing return type!

@karlaspuldaro Thank you good catch - just pushed a fix for the missing return type!


Update license headers to 2023

Summary
Update license headers year to 2023
Additional Reviewers
@xiazcy
@alexey-temnikov
@kylepbit

Closing this PR as we don't want to change the year, and I will follow-up with an update to license check for CI.


[BEAM-11055] Update log4j to version 2.14.1

R: @aromanenko-dev

I missed some places so it became a bit unstable, let's see if it is ok now.

Do we really need to have so many places where the same version is defined? Couldn't be better to extract this into BeamModulePlugin.groovy since it's shared across different modules?

Do we really need to have so many places where the same version is defined? Couldn't be better to extract this into BeamModulePlugin.groovy since it's shared across different modules?

I hesitated to do this becasue the references defined in BeamModulePlugin.groovy tend to be used as a reference of libraries Beam devs 'can' use and I did not want to promote the use of log4j which is not Beam's default logging library but mostly a provided lifetime one. If you prefer I can put it there.

@iemejia Yes, this is not our default logging library but since it's a library that is used in different modules (and seems the same version everywhere), then I'd prefer to extract it as we do for other libraries as well. In any case, the version can be overridden in case if module will need another version.

Done suggested changes can you PTAL again @aromanenko-dev

@iemejia Thanks! Could you take a look on failed tests? Looks that some of them are caused by this change.

Arrghh I executed by mistake the hcatalog tests locally instead of hadoop-format ones. Let's hope it is ok this time :crossed_fingers:

retest this please

Unfortunately, there are still failing Java tests, not sure that Python one is related.

This PR is breaking on the HCatalog module with a NoClassDefFoundError and that does not make any sense to me.
In the PR I am not even touching that module and as far as I see none of its dependencies, so I am wondering if this is some sort of gradle craziness.
I tried to run Google's Linkage Checker to find the issue but it seems also that the tool configuration is broken on Beam current master (double checked by Alexey) when used with the hcatalog module. @suztomo sorry to bother you, but I am absolutely puzzled about the issue here and I was wondering if you could have a hint on what is going on.
Also I suppose you could help us check what is going on with the linkage check since you mentioned some months ago it was working now on the HCatalog module.

Interesting. Let me see.
java.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ReflectionUtil
	at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:42)
	at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:48)
	at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
	at org.apache.hive.hcatalog.common.HCatUtil.<clinit>(HCatUtil.java:83)
	at org.apache.beam.sdk.io.hcatalog.test.EmbeddedMetastoreService.<init>(EmbeddedMetastoreService.java:50)
	at org.apache.beam.sdk.io.hcatalog.HCatalogBeamSchemaTest.setupEmbeddedMetastoreService(HCatalogBeamSchemaTest.java:52)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

https://ci-beam.apache.org/job/beam_PreCommit_Java_Commit/14470/testReport/junit/org.apache.beam.sdk.io.hcatalog/HCatalogBeamSchemaTest/classMethod/

Thanks for taking a look @suztomo. I had not seen that ignoreFailures part, weird.
Gradle behavior is so weird, show the dependency but still ignoring it.
I think the person who knows Beam's build best is @lukecwik, maybe he understands what is going on here.

With some debug output, I see the Gradle supplies the ReflectionUtil class when the class runs.
https://github.com/suztomo/beam/commit/81381393f0d19f7d67a7a692239d09b75c3a692c#r43916554
I'm now feeling that the EmbeddedMetastoreService runs with a special class path.

Argh! I was afraid of that too, It clearly looks like a different classpath issue, that will explain why it breaks so weirdly.
I think the simplest solution would be to let that module to provide its own log4j. The part that still does not make any sense to me is how the hcatalog module in Beam ends up resolving the new version of log4j? Can you spot which dependency is overwriting the version ? From a look at the module build.gradle file I don't see any of the Beam dependencies of hcatalog requiring log4j. I have checked in the gradle scan too and I just cannot see who is doing it

@iemejia

Can you spot which dependency is overwriting the version ?

BeamModulePlugin.groovy forces the library version listed in the file.
    def log4j_version = "2.13.3"
...
        log4j_core                                  : "org.apache.logging.log4j:log4j-core:$log4j_version",
...
          config.resolutionStrategy {
...
            def librariesWithVersion = project.library.java.values().findAll { it.split(':').size() > 2 }
            force librariesWithVersion
          }

@suztomo thanks for the pointer I was not aware we were forcing dependencies, but does forcing all dependencies make even sense? The exclusion I am doing at the hcatalog module in this PR feels hacky specially because log4j is a dependency none of the Beam modules require it is only required by transitive dependencies.
I saw your work on BEAM-9542 #11168 but it seems that the change to support the GCP BoM undid it, was this intentional?

My attempt #11168 was not merged. (As per my comment there, I had to upgrade google-api-client at that time and didn't get a chance to come back.)

I see, good to know there is awareness on the issue, thanks @suztomo.
I wonder now if my forcing fix makes even sense since this PR has two goals (1) upgrade the dependency and (2) silence automatic security detectors from reporting this dependency as a security issue which clearly won't be the case at least for the hcatalog module if I force the previous version even if this is not at all a Beam problem.
WDYT @aromanenko-dev shall we upgrade as it is to cover (1) for most of the other modules knowing that (2) would still be an issue for HCatalog?

Run Java PreCommit

Run Python PreCommit

Run Java PreCommit

Run Java PostCommit


left to right items

1st, i love what you've done here, helps feed my gambling addiction at work.
as a graphic designer and guy w/ ADHD how come you load items from top to bottom vs left to right? only belts, rings and amulets go into inventory top to bottom, all other items enter left to right. i looked and you seem to have various divs and aren't using floats, but data attributes so should be pretty easy

I guess I haven't really payed close enough attention to it. I will fix this when I get the crafting panel up to make hellfire amulets too. Should just be a simple size check on the item.

well I tried about 3 different fixes for this. Although they worked (items appear correctly in inventory) i noticed some very bad interface lag when holding the enter key (the way most people seem to like to play).
I have a couple more ideas I would like to test out in the coming week:

have the blank inventory slots absolutely positioned behind the actual inventory rather than as a part of the inventory. this way the dom reflows are minimized from when we rip out 2 placeholder slots and shove a large item in
creating more than one event to listen and register in on the stores. so that the entire application isnt listening for inventory changes (what occurs most when gambling with the enter key). currently the appstore emits a change to hide the menus for mobile when an item is bought, but I think I can find away around this.

I'll let you know when I get it fixed and I can still hold down enter without my screen locking up for a half second.


Not logging changed value when logOnlyDirty = true

LogOnlyDirty logs when a changed value = 1, but not when a changed value = 0. Instead it return empty arrays
Value = 1: {"attributes":{"active":1},"old":{"active":0}}
vs
Value = 0: {"attributes":[],"old":[]}
It does this also when value is changed to empty.
It does log successfully when the related attribute is the only one listed in $logAttributes but if other attributes are listed then it fails to log.

Would you mind PR'ing a failing test?

I also found that problem which occurs in
spatie/laravel-activitylog/src/Traits/DetectsChanges.php
$properties = array (
'attributes' =>
array (
'name' => 'David',
'email' =><EMAIL_ADDRESS>'tel' => '123456789',
'boolean_a' => 0,
'boolean_b' => 1,
),
'old' =>
array (
'name' => 'David',
'email' =><EMAIL_ADDRESS>'tel' => '123456789',
'boolean_a' => 1,
'boolean_b' => 0,
),
);
var_dump(array_udiff($properties['attributes'],$properties['old'],
function ($new, $old) {
return $new <=> $old;
}
));

Sorry I'm not sure how to PR a failing test. What about nealyip's fix he pushed to nealyip/laravel-activitylog, is that a fix for this?

I also think array_udiff_assoc is better way to computes the difference of arrays with additional index check.
See http://php.net/manual/en/function.array-udiff-assoc.php

please  check,  before
       if ($this->shouldlogOnlyDirty() && isset($properties['old'])) {             $attributesNew = array_diff_assoc($properties['attributes'], $properties['old'] );             $attributesOld = array_diff_assoc($properties['old'], $properties['attributes']  );             $properties = ['attributes' => $attributesNew, 'old' => $attributesOld];         }
after
          if ($this->shouldlogOnlyDirty() && isset($properties['old'])) {             $attributesNew = array_diff_assoc($properties['attributes'], $properties['old'] );             $attributesOld = array_diff_assoc($properties['old'], $properties['attributes']  );             $properties = ['attributes' => $attributesNew, 'old' => $attributesOld];         }

This is fixed in the latest release.

nealyip's fix does not work for my case, unfortunately, where values are changed to null. This triggers a database update and therefore I would expect them to be logged also, but they are not. Instead, only the updated_at timestamp is logged, despite that being in the ignored attributes list. gendalfbug's fix seems to work for that case.

sorry for necroposting, but I have same bug. If I comment out $protected $logOnlyDirty = true
all attributes comes into log, But when I am unccoment $protected $logOnlyDirty = true  one property doesn't logs and I have also two empty arrays.
Laravel: 5.5.40 laravel-activitylog: 2.5.1


visualization?

I think the best thing to improve accuracy and usability of demographic models would be a way to visualize the graphs!

Totally agree, but I think it should be a separate project. Something like demeviz?
Part of the point of having a rigorously defined specification is that we can reason with it and third party code can be built on it.

Definitely agree. We had some discussion of this a while back in #22.

See https://github.com/grahamgower/demesdraw for a start on this.


Investigate potential rst grammar to include as a built-in extension

It would be great to have syntax highlighting for rst files built-in to VS Code.

Just came across this by chance. I'm the author of the most used rst syntax highlight extension: https://marketplace.visualstudio.com/items?itemName=trond-snekvik.simple-rst
I'd be happy to help out porting that grammar to ship with VS Code 🙂

@trond-snekvik thanks for reaching out (and for noticing this issue so quickly!)! Your syntax highlighting grammar is exactly what we're looking for, and I'd love to have your help bringing in to built-in extension in VS Code.
I've gotten us started in a PR. It would be great to get your feedback there: https://github.com/microsoft/vscode/pull/144680
I usually update the grammars included in VS Code from other repos via a script about once per month. After the PR is merged, the reStructuredText grammar will be included in that update. If you ever have any more urgent issues that you think should be pulled in sooner, you can open an issue or a PR and I will pull in the updates.

Verified through integration tests.


add: language selector

I do this PR in favor to the issue https://github.com/zyle87/turing-machine-interactive-sheet/issues/29

I close this pull request in favor of this other https://github.com/zyle87/turing-machine-interactive-sheet/pull/32.
We publish the PR at same time.


[doc-enhancement][Delete obsolete files]

Deleted:

/resources/m365-plugins/openid-connect.md
/resources/getting-help.md

Docs Build status updates of commit 0bd3f6f:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/resources/partner-apps-for-moodle.md
:warning:Warning
View
Details

msteams-platform/resources/getting-help.md
:white_check_mark:Succeeded

msteams-platform/resources/m365-plugins/openid-connect.md
:white_check_mark:Succeeded

msteams-platform/resources/partner-apps-for-moodle.md

Line 36, Column 3: [Warning: file-not-found - See documentation] Invalid file link: 'getting-help.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-gs-javascript.yml
93
87
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 4e951a5:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/resources/partner-apps-for-moodle.md
:warning:Warning
View
Details

msteams-platform/resources/getting-help.md
:white_check_mark:Succeeded

msteams-platform/resources/m365-plugins/openid-connect.md
:white_check_mark:Succeeded

msteams-platform/sbs-gs-javascript.yml
:white_check_mark:Succeeded
View

msteams-platform/resources/partner-apps-for-moodle.md

Line 36, Column 3: [Warning: file-not-found - See documentation] Invalid file link: 'getting-help.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/resources/partner-apps-for-moodle.md
88
4
link
:white_check_mark:

msteams-platform/sbs-gs-javascript.yml
93
87
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 06e2716:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/resources/getting-help.md
:white_check_mark:Succeeded

msteams-platform/resources/m365-plugins/openid-connect.md
:white_check_mark:Succeeded

msteams-platform/resources/partner-apps-for-moodle.md
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-javascript.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/TOC.yml
98
4
link
:white_check_mark:

msteams-platform/get-started/get-started-overview.md
97
1
link
:white_check_mark:

msteams-platform/mstdd-landing.yml
100
0
link
:white_check_mark:

msteams-platform/resources/partner-apps-for-moodle.md
88
4
link
:white_check_mark:

msteams-platform/sbs-gs-blazor.yml
96
40
link
:white_check_mark:

msteams-platform/sbs-gs-javascript.yml
93
87
link
:white_check_mark:

msteams-platform/whats-new.md
93
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/TOC.yml
98
4
link
:white_check_mark:

msteams-platform/get-started/get-started-overview.md
97
1
link
:white_check_mark:

msteams-platform/resources/partner-apps-for-moodle.md
88
4
link
:white_check_mark:

msteams-platform/sbs-gs-blazorupdate.yml
96
40
link
:white_check_mark:

msteams-platform/sbs-gs-javascript.yml
93
87
link
:white_check_mark:

msteams-platform/toolkit/create-new-project.md
100
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit abe3d26:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/TOC.yml
:white_check_mark:Succeeded
View

msteams-platform/get-started/get-started-overview.md
:white_check_mark:Succeeded
View

msteams-platform/mstdd-landing.yml
:white_check_mark:Succeeded
View

msteams-platform/resources/getting-help.md
:white_check_mark:Succeeded

msteams-platform/resources/m365-plugins/openid-connect.md
:white_check_mark:Succeeded

msteams-platform/resources/partner-apps-for-moodle.md
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-blazorapp.yml
:white_check_mark:Succeeded

msteams-platform/sbs-gs-blazorupdate.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-javascript-debug-F5key.yml
:white_check_mark:Succeeded

msteams-platform/sbs-gs-javascript-new-debug.yml
:white_check_mark:Succeeded

msteams-platform/sbs-gs-javascript.yml
:white_check_mark:Succeeded
View

msteams-platform/toolkit/create-new-project.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/TOC.yml
98
4
link
:white_check_mark:

msteams-platform/get-started/get-started-overview.md
97
1
link
:white_check_mark:

msteams-platform/mstdd-landing.yml
100
0
link
:white_check_mark:

msteams-platform/resources/partner-apps-for-moodle.md
88
4
link
:white_check_mark:

msteams-platform/sbs-gs-blazorupdate.yml
96
40
link
:white_check_mark:

msteams-platform/sbs-gs-javascript.yml
93
87
link
:white_check_mark:

msteams-platform/toolkit/create-new-project.md
100
1
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


Add office_hours module

If we need to add a timetable to a site, it would be nice to just use https://www.drupal.org/project/office_hours for that.
Note that the output is not fully WCAG 2.1 AA compliant yet (no  tag output)

Added.


Updated name

Can you please update your code by pulling the latest code from the original repo?

git pull upstream main

git push origin main

I've just done that and resolved conflict.

can you repeat the process one more time

We have updated the code and your fork is out of date. Name list is one 41 and your is on 29. Sorry for the back and forth

Okay, I've synced to update the branch


Add support for ContactsContract.Groups.SOURCE_ID

Problem
Similar to #300, this library currently does not support reading and writing the value of Group's ContactsContract.SyncColumns.SOURCE_ID, which is a critical component to sync adapter operations.
Solution
Add sourceId field to GroupEntity and support CRUD operations for it.
Although this library is focused on supporting application use cases instead of sync adapter use cases, this field is pretty simple to add and may be used by apps for read operations/queries. It's not that out-of-place 🤔

[x] Regression check GroupsInsert API (new Groups with null source ID but non-null Account should have a non-null source ID automatically assigned to it post-insert assuming sync settings and network connection are enabled).
[x] Check that the source ID is settable using the GroupsInsert API.
[x] Regression check GroupsUpdate API (source ID should remain unchanged between updates if the user did not change them).
[x] Check that the source ID is modifiable using the GroupsUpdate API.
[x] Check GroupsDelete API (delete by matching source ID using WHERE clause).
[x] Check that GroupsQuery API (find by matching source ID using WHERE clause).
[x] Update all in-code documentation, where necessary.
[x] Update docs, where necessary.
[x] Update gh-pages branch, if necessary.

🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥
This is now release in 0.3.1!
🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥


On Command + Save VS Code Cuts Off the First Few Characters of JavaScript Code

Issue Type: Bug
I wrote JavaScript code, then press command save.  I expected my code not to change.  But I realized that I lost several beggining characters after spending time checking to make sure I closed off everything.
VS Code version: Code 1.23.1 (d0182c3417d225529c6d5ad24b7572815d0de9ac, 2018-05-10T16:03:31.083Z)
OS version: Darwin x64 17.5.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 x 2800)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledvpx_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
1, 2, 2

Memory (System)
16.00GB (0.16GB free)

Process Argv
/Applications/Visual Studio Code.app/Contents/MacOS/Electron

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

prettier-vscode
esb
1.4.0

vscode-elixir
mjm
1.1.0

autoimport
ste
1.5.3

Does this repo if you disable all extensions? Prettier and autoimport both could cause this

The bug still happened when I disbled prettier-vscode.

Thanks mjbvz, I disabled the other two extensions just in case, and I'll keep you posted.

I don't seem to have the bug now, but I updated many JavaScript files and the bug only happened on two or three of them when I reported the bug.


chore: generalise ‖a ^ n‖ ≤ n * ‖a‖ to non-abelian groups

From LeanCamCombi

Thanks! Once CI is happy, please merge this PR using bors r+
bors d+


Update components.md

This is a small space issues

@anois Please sign the CLA in order for the PR to be reviewed.

@anois Please sign the CLA in order for the PR to be reviewed.

How to restart ci audit？

@anois Commit your PR using the email account you used for CLA signing. Set user name with "git config" and then "git commit --reset-author --amend".

Thanks.
/lgtm


feat(intersection-observer): migrate to SafeObserver

Closes #

There is a similar issue in MutationObserver.
We need to make the same changes over there and switch to SafeObserver.
https://github.com/taiga-family/ng-web-apis/issues/524


Build Tool problem

Hello, I've just re-installed OS and noticed some problem. I insalled both visual studio versions - 2017 and 2019. When I run build tool looks like it goes to C:\Program Files (x86)\Microsoft Visual Studio and find the 1st available version there - it's 2017, then it tries to build it using that 2017 version and fails (as v142 doesn't support there).
I had to rename 2017 to _2017 in this folder C:\Program Files (x86)\Microsoft Visual Studio and it fixed the problem.
I only have this problem on a clean OS installation, is it something on my side? Or if you can please fix it please.

it tries to build it using that 2017 version

I recently migrated the BuildTools to .NET core and changed how Visual Studio gets detected.

2017 and 2019

This should be fixed in the latest commit 👍

I'm sorry, but it didn't help.
That's how it looks like:

vswhere.exe shows 2019 as the latest installed VS

@fengjixuchui
You need to stop spamming the issue tracker with commit messages.

@dmex
You need to update ProcessHacker.sln so that it is opened by VS2019 by default.
Right now it has Visual Studio 15 which means VS2017.
Unfortunately VS doesn't automatically update SLN when opened with new version.
You need to open it in VS2019, click on solution in Solution Explorer and save manually (Ctrl+S).

Right now it has Visual Studio 15 which means VS2017.

You can build the project using 2017 by changing the SDK version and platform toolset in the project properties:

build the project using 2017

I've added a workaround in the latest commit 👍


limarka --version inclui versões das dependências

Comportamento esperado: limarka --version retorna também:
pandoc --version
xelatex --version
latexmk --version
pdftk --version
ruby --version

Como foi implementado:
$ bundle exec limarka --version
limarka 0.8.0
pandoc <IP_ADDRESS>
Compiled with pandoc-types <IP_ADDRESS>, texmath 0.9, skylighting <IP_ADDRESS>
Default user data directory: /home/eduardo/.pandoc
Copyright (C) 2006-2016 John MacFarlane
Web:  http://pandoc.org
This is free software; see the source for copying conditions.
There is no warranty, not even for merchantability or fitness
for a particular purpose.
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Copyright (c) 2003-13 Steward and Lee, LLC - Please Visit: www.pdftk.com
This is free software; see the source code for copying conditions. There is
NO warranty, not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Latexmk, John Collins, 1 January 2015. Version 4.41
XeTeX 3.14159265-2.6-0.99992 (TeX Live 2015/Debian)
kpathsea version 6.2.1
Copyright 2015 SIL International, Jonathan Kew and Khaled Hosny.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 55.1; using 55.1
Compiled with zlib version 1.2.8; using 1.2.8
Compiled with FreeType2 version 2.5.5; using 2.5.5
Compiled with Graphite2 version 1.3.6; using 1.3.6
Compiled with HarfBuzz version 1.0.1; using 1.0.1
Compiled with libpng version 1.6.17; using 1.6.17
Compiled with poppler version 0.41.0


The text of the notifications is cut in Vertical mode.

If i disable axon in icleaner or disable the vertical mode the problem seems to be solved but i want to use axon :)
If i disable all other tweaks, the notification is less affected.

Can you fix it please ?
Edit: I'm on iPhone XS 12.1

It's not perfect but it has been fixed. In iOS 13 it works perfectly.

The text is still cut for me..
iPhone XS iOS 12.1 Axon 0.2.3

This fix will be included in 0.2.4. The update will be displayed on
December 1st.
2019년 11월 27일 (수) 오후 7:11, xBreaKOuTz<EMAIL_ADDRESS>작성:

The text is still cut for me..
iPhone XS iOS 12.1 Axon 0.2.3
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Baw-Appie/Axon/issues/1?email_source=notifications&email_token=ADXRX7YYA76NDFX7W26UZ4LQVZBWFA5CNFSM4JLWYOEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFI726I#issuecomment-559021433,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXRX76KAAU7GHTIXDVBCIDQVZBWFANCNFSM4JLWYOEA
.

Ok ok thanks

The bug is still present in 0.2.4
https://imgur.com/gallery/wLVALG0

I specify that I am on chimera

The bug is still present 14.3


ClassDefinitionFixer - Anonymous classes format by PSR12

closes https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/2302

:+1:
cc @gharlan

:+1: might be nice to add another test with messy comments everywhere though.

Thank you @SpacePossum.


Reflections over DynamicContract

Motivation: At present, the process of registering callable functions in DynamicContract involves overriding the registerContractFunction class, creating lambdas within the functions for registration, and decoding the arguments within each lambda before calling the function. This approach is prone to human error and poses significant debugging challenges for new developers. Simplifying the registration of callable functions is crucial for streamlining the process.

Objectives: Streamline the registration process for callable functions in DynamicContracts.

Success Criteria: A user-friendly solution that facilitates the registration and decoding of arguments for each callable function in a contract.

Dependencies: Implementing this improvement may require the use of a reflection library or a similar tool. However, this differs from the ContractManager improvement, as developers are still responsible for explicitly defining which functions they want to register.

Risks and Mitigations: This milestone shares similarities with the challenges faced during the ContractManager improvement. Developers must continue to specify the functions they wish to register and the method to be used (callable, payable, or view function) in the source code. Meticulous planning and execution are essential to ensure a successful outcome.

Resource Allocation: This issue will have an impact on the DynamicContract class, affecting all inherited classes, including ERC20, NativeWrapper, and ERC20Wrapper. Consequently, developers must allocate sufficient resources to address any potential issues that may arise.

PR: https://github.com/SparqNet/orbitersdk-cpp/pull/42


Test new components (PVSystem2, Storage2, etc.)

The new components recently introduced in the official OpenDSS seen to be stable enough to start testing here.
The next release of DSS C-API, 0.10.5, already contains the code for them, but no extensive testing has been done. There are new examples in https://github.com/dss-extensions/electricdss-tst/ but they're still unused in the validation tests.
Related: dss-extensions/OpenDSSDirect.py#75

Not all tests are running with the current COM DLL. Some tests needs updating, some tests result in null-pointer exceptions.

Everything (105 new test files) validated successfully. Just like with OpenDSS 9.0, the next DSS C-API release will use the new models by default. See how to toggle the old models in https://github.com/dss-extensions/dss_capi/issues/79#issuecomment-664754961


Make function to get rid of end  tags

Completed with commit: https://github.com/redstarbird/arrowpack/commit/f2d91e7cea8aee999a2c3c2b55c60c7184bce3aa


Cannot find module 'cypress-plugin-retries' from '/cypress/support'

When I run cypress with this add-on locally, it works perfectly without any issues at all, however for some reason when I run cypress in a container through Jenkins, I seem to be getting the following error in my console:
'cypress_1  | Error: Cannot find module 'cypress-plugin-retries' from '/cypress/support'
This is my cypress/support/index.js file:
import './commands'

require('cypress-plugin-retries');

This is my cypress.json file:
{
    "env":
    {
        "RETRIES": 1
    },
    "supportFile":  "./cypress/support/index.js",
    "defaultCommandTimeout": 10000,
    "requestTimeout": 10000,
    "responseTimeout": 10000,
    "pageLoadTimeout": 120000,
    "chromeWebSecurity": false,
    "video": false,
    "viewportWidth": 1800,
    "viewportHeight": 1000,
    "reporter": "junit",
    "reporterOptions": {
        "mochaFile": "../test_reports/cypress-result.xml",
        "toConsole": true
    },
    "trashAssetsBeforeRuns": true,
    "screenshotsFolder": "../test_reports/cypress_screenshots"
}

This is my package.json file:
{
  "name": "guacamole-cypress",
  "version": "1.0.0",
  "dependencies": {
    "cypress-plugin-retries": "^1.5.2",
    "darwin": "0.0.5",
    "mocha": "^5.2.0",
    "mocha-junit-reporter": "^1.23.0",
    "xvfb": "0.2.3",
    "yarn": "^1.21.0"
  },
  "devDependencies": {
    "cypress": "^4.0.2"
  }
}

Dockerfile:
FROM cypress/included:4.0.2

WORKDIR /cypress

COPY /cypress/package.json .

RUN npm install --production

Could anyone provide any assistance regarding this? I feel like i've made a silly mistake somewhere, or i'm missing a line; works perfectly fine locally - it's just when ran in a container on Jenkins this issue seems to occur.
I can provide more information if needed.
Thanks

Problem solved - was an error on my part :)

@YemiYuma glad to hear that, what was the problem?

@YemiYuma  can u tell what was the problem ? I am facing the same issue.running fine locally but on Jenkins throwing error no cypress retries command found

hey guys, I changed the require import to take it directly from my node_modules
import '../../node_modules/cypress-plugin-retries'


Make UX / UI consistent across all lists / consistency

odo list
odo component list
odo service list
etc..

We need to define how the output should look like.

Are we going to support different output formats, like oc or kubectl, or structured output, so one can select/filter what he sees and how he sees it?

This was more in terms of tables / UX, such as what is being outputted in odo catalog list and odo service list
At this point, I'm going to close this as I believe it's pretty uniform between the commands now.


luci-theme-material: make colors configurable

The var() css function can be used to insert the value of a custom property.
A custom.css file is added to change the colors. This file will get included
in the cascade.css file.
The following colors could be costomized in the file costom.css.
--header-bg
--header-color
--menu-bg-color
--menu-color
--submenu-bg-hover
--submenu-bg-hover-active

Merged, thank you!


TestNG 7.4.0  Can not skip test through listener

It looks like  testng  continue execute test   even there is skip exception has been generated  through listener
public class TestListener implements  IInvokedMethodListener {
  @Override
    public void beforeInvocation(IInvokedMethod invokedMethod, ITestResult result) {
            if (method.getName().contains("oneTest"))
            throw new SkipException("skip test ...");
   }

  @Override
    public void afterInvocation(IInvokedMethod method, ITestResult testResult) {
    }
}

@Listeners({TestListener.class})
public class TestSample  {

    @Test()
    public void oneTest() {
        System.out.println("aaaaaaa");
        Assert.assertEquals(1,2);
    }

    @Test()
    public void twoTest() {
        Assert.assertEquals(1,1);
    }
}

when run TestSample ,
[Utils] [WARN] [Warning] Caught a [SkipException] exception from one of listeners com.sample.tests.TestListener. Will mark [com.sample.tests.TestSample.oneTest()] as SKIPPED.
aaaaaaa
.....
....
......

testNG still continue execute code .
BaseInvoker.java catch the exception , but does not handle it properly ...
  InvokedMethodListenerInvoker invoker =
        new InvokedMethodListenerInvoker(listenerMethod, testResult, testResult.getTestContext());
    for (IInvokedMethodListener currentListener : m_invokedMethodListeners) {
      try {
        invoker.invokeListener(currentListener, invokedMethod);
      } catch (SkipException e) {
        String msg = String.format(
            "Caught a [%s] exception from one of listeners %s. Will mark [%s()] as SKIPPED.",
            SkipException.class.getSimpleName(), currentListener.getClass().getName(),
            invokedMethod.getTestMethod().getQualifiedName());
        Utils.warn(msg);
        testResult.setStatus(ITestResult.SKIP);
        testResult.setThrowable(e);
      }
    }

Hi,
Maybe it related to the code if (method.getName().contains("oneTest")) in the beforeInvocation methed.
I use if (invokedMethod.getTestMethod().getMethodName().contains("oneTest")) instead and it shows:

@bj-9527 Could you tell us what is the difference between method and invokedMethod, and what is the result of method.getName()?

Sorry, I have the concern too. Maybe the reporter @bearxc could clarify how to get the method.

System.out.println("aaaaaaa");
This line should not be executed  when throw skip exception  on listener

i found same issue

I think method.getName() is not returning what you expect.
You can check the expected behavior here: https://github.com/cbeust/testng/blob/master/core/src/test/java/test/name/NameTest.java

I think method.getName() is not returning what you expect.
You can check the expected behavior here: https://github.com/cbeust/testng/blob/master/core/src/test/java/test/name/NameTest.java

method.getName()  has nothing to do, you can just skip nomatter what
    public void beforeInvocation(IInvokedMethod invokedMethod, ITestResult result) {             throw new SkipException("skip test ...");    }
the behaviour is still the same

This is nothing to do with   method.getName().
when  running oneTest() ,  listener  throws skip exception on   beforeInvocation  , TestNG catches that exception and still continue execute   the test code from oneTest() ( System.out.println("aaaaaaa";) , that is not correct.
expect behaviour : TestNG should skip execution on  oneTest() immediately.

This issue is a duplicate of https://github.com/cbeust/testng/issues/2415
Closing this issue.


Send archive options via pipe in chrootarchive

Really fix #10426 this time! :smile:
After finding our initial thinking on env. space versus arg list space
was wrong, we need to solve this by using a pipe between the caller and
child to marshall the (potentially very large) options array to the
archiver.
Docker-DCO-1.1-Signed-off-by: Phil Estes<EMAIL_ADDRESS>(github: estesp)

@crosbymichael @jfrazelle Should we add this to 1.6?

It was a redherring!!! um ya we can

Perhaps this should be in 1.6.1?

@LK4D4 modified to use decoders instead of marshall/unmarshall; PTAL

yes that sounds a little less scary :)
On Fri, Apr 10, 2015 at 11:44 AM, unclejack<EMAIL_ADDRESS>wrote:

Perhaps this should be in 1.6.1?
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/pull/12276#issuecomment-91648827.

@estesp Can you add a test which breaks the old code and works on the new one, please? It's just that this would help make the case for getting this into 1.6.0 from my point of view.

@unclejack test is added; @LK4D4 I used the cmd.Wait(); wdyt?

@estesp Take a look at CombinedOutput implementation.

ooh..that's nice @LK4D4; give me another bit and I'll clean up :)

@LK4D4 not sure if you saw the update last evening, PTAL

@LK4D4 updated, thx!

@estesp Perfect!
LGTM

LGTM

LGTM


[Documentation] Figma design for the website

Attach the figma link in the project's README.md file

Can you provide the figma link of your web page?

Can I help out?

@PankajKumar1947 You can go ahead, pick an issue and start working from scratch. Figma is WIP as of now.

@Rajdeep1311 Sure, you want to contribute a figma?

is the issue already taken ?

add me to this issue

Hii assign me this issue

If available in future, would love to work on this issue


fix(node/types): Types for jsc.minify.format

Uses helper type ToSnakeCase to support snake_case property usage.
Related issue (if exists):

#4387
https://github.com/swc-project/website/commit/7b643838779db47c9329c0efba3b2435eef92584

Maybe out of scope:

Is there some tools for auto-generating these stuffs?
I want to use Prettier for this file badly.

Yeah, I think we need to configure some formatter for ts/js files too


file versions.

Closes #8

Codecov Report

Merging #334 (aa62572) into master (4123933) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #334   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files           2       2
  Lines          27      27
  Branches        1       1
======================================
  Misses         27      27

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 4123933...aa62572. Read the comment docs.


Moving containers to a new machine

Hi!
I'm exploring tar-ing a built container and one machine, and copying it to another machine for use.
I ship the .roots directory for the built container, along with the symlink to the container, and the corresponding vagga.yaml config file. When invoking a vagga command to uses that container, it begins building from scratch.
What goes into the hash vagga generates for a container to determine when to rebuild?
The source machine I'm building on is debian:
Linux hop 3.12-1-amd64 #1 SMP Debian 3.12.6-2 (2013-12-29) x86_64 GNU/Linux

The target machine is ubuntu:
Linux sjc1-b1-8 3.13.0-27-generic #50-Ubuntu SMP Thu May 15 18:06:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

I removed root/bin/bbsuid before shipping from the source container, as tar-ing that file was complicated. Removing it didn't seem to interfere with the source container working.
Apologies in advance, I'm probably being really naive around this.

Ah! the uidmap goes into the hash. By matching the user I'm using on the source and target's machine id's in /etc/sub[ug]id, the same hash is generated on both machines, for a given config file.


Update team profile on RCODI website

Add Lionel + Jasmine to the current team webpage.
Move Miriam to Alumni

Lionel's
Expertise:
Machine Learning
Deep Learning
Generative Adversarial Networks
Computer Vision
Data Engineering
Data Science
Links
GitHub: https://github.com/twinblade02
Portfolio: https://twinblade02.github.io/LDPortfolio.github.io/
https://www.linkedin.com/in/dsilva-lionel/
<EMAIL_ADDRESS><EMAIL_ADDRESS>Instagram: @sierrafoxtrot10
Bio
I'm a Data Scientist, and former Airport Ops specialist; and my areas of interest are Computer Vision, Sensor Fusion, Generative Algorithms, and Cloud and Distributed Systems. I will be starting my PhD at Purdue in the Fall of 2023, and am very active on LinkedIn and Instagram.
I also build track/street cars!

Jasmine Bui's
Role: Communications Manager, Designer
Links:
LinkedIn: https://www.linkedin.com/in/jasmine-bui-b1283a1ab/
Email<EMAIL_ADDRESS>Bio:

Please also add my CV to my profile back again!
Brunswicker_CV_2022.pdf


Port "Motion Planning API" tutorial

Port tutorial to ROS2.

It was ported: https://moveit.picknik.ai/main/doc/examples/motion_planning_api/motion_planning_api_tutorial.html


Consider remove build script and generate files using unit tests. It is unnecessary for users to have  protoc

What type of enhancement is this?
Refactor
What does the enhancement do?

[api] remove build script and generate files using unit tests. reference https://github.com/open-telemetry/opentelemetry-rust/pull/881

Implementation challenges
No major difficulties

Looks like we need to put the generated files in the repo if we remove the build script?

Looks like we need to put the generated files in the repo if we remove the build script?

Yeah. Then the user does not need to have a protoc environment.

Yeah. Then the user does not need to have a protoc environment.

Our proto is still unstable and may change rapidly at this period. Putting generated files in the repo may result in a large diff in PR. It might be better to consider this when we stabilize our protocol.


Would like a semver number in flutter_tool usage data

Would be useful to me to have the flutter/flutter semver number included in the flutter_tools usage information.  Right now it's alpha/12345abc, but would be easier to read in the usage tables if it inlucded 0.0.19, vs 0.020, etc.
I believe this is the code in question:
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/version.dart
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/usage.dart
We're already increasing the semver number as part of our release process:
https://github.com/flutter/flutter/wiki/Release-process
Thoughts @tvolkert?

We'd need a way to extract the semver number from our pubspec.yaml file - relevant code is here:
https://github.com/flutter/flutter/blob/15601fe55cdafe3d854f0125dde1b47b1be2a526/packages/flutter_tools/lib/src/flutter_manifest.dart#L37
However, @Hixie and I are considering nuking the semver number altogether from our pubspec and just git tagging releases once they've baked long enough.  In that design, we could use git tag --contains <commit> to see if our current version has a semantic version attached to it.
tldr; let's discuss in the new year.

@eseidel How does this look now?

This is how it's reported now:


updated source for NCIT

The NCIT x-ref updated are not in the "Cell or Molecular Dysfunction" branch of NCIT, and therefore should not be MONDO:equivalentTo
addresses https://github.com/monarch-initiative/mondo-ingest/issues/31
(worked for the spreadsheet: https://docs.google.com/spreadsheets/d/1cqPedCheb-aKOsF0o9wyikz4TB1rySJ0KhoW2MFvqHM/edit#gid=0)
I reviewed and updated "MONDO:equivalentTo" to "MONDO:relatedTo". It should be noted that some terms also already had the source "MONDO:otherHierarchy", which I kept. Also If the source should be  "MONDO:otherHierarchy" instead of "MONDO:relatedTo", I can update later.

good points @sabrinatoro! Let's keep these are relatedTo for now and we should discuss the usage of otherHierarchy vs relatedTo on a curation call and make sure we understand when to use each and have it documented.


Next doc

Pull Request Test Coverage Report for Build bd49b7b9ee351b6e15519ec9d6e8a44f0c7c5b3b-PR-30
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build e36cdb3c4a35dbe323bd0193590e47faa8d8e0cc:
0.0%

Covered Lines:
173

Relevant Lines:
182

💛  - Coveralls


Moes IR Controller does everything except send the IR Command

Describe the bug
The Moes IR Controller is added fine and the Air Conditioning card is added to the dashboard.
All buttons seem to work and update the touchscreen display but the device doesn't send the IR command to the air conditioner
To Reproduce
Try to add the Moes IR Air Conditioner controller to devices.
Add the new Thermostat card to the dashboard.
Try to turn on the air conditioner or make and changes and they will show on the touchscreen but not send the signal to the air conditioner.
Expected behavior
The touchscreen should update and send the new settings via IR to the air conditioner.
Additional context
I have added both the master wifi controller and the sub devices named after the air conditioner in the smartlife app. Both seem to function exactly the same not sure which one I'm supposed to be using but neither sends the IR signal.
If the bug involves a device, then please include device diagnostics from
Settings / Devices & Services / Tuya Local (your device) / "1 device"
{
"home_assistant": {
"installation_type": "Home Assistant Container",
"version": "2024.1.6",
"dev": false,
"hassio": false,
"virtualenv": false,
"python_version": "3.11.6",
"docker": true,
"arch": "x86_64",
"timezone": "Pacific/Auckland",
"os_name": "Linux",
"os_version": "5.10.0-10-amd64",
"run_as_root": true
},
"custom_components": {
"hacs": {
"version": "1.34.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"tuya_local": {
"version": "2024.1.1",
"requirements": [
"tinytuya==1.13.1"
]
}
},
"integration_manifest": {
"domain": "tuya_local",
"name": "Tuya Local",
"codeowners": [
"@make-all"
],
"config_flow": true,
"dependencies": [],
"documentation": "https://github.com/make-all/tuya-local",
"integration_type": "device",
"iot_class": "local_push",
"issue_tracker": "https://github.com/make-all/tuya-local/issues",
"requirements": [
"tinytuya==1.13.1"
],
"version": "2024.1.1",
"is_built_in": false
},
"data": {
"name": "Air Conditioning",
"type": "ir_moes_heatpump",
"device_id": "REDACTED",
"device_cid": "",
"local_key": "REDACTED",
"host": "REDACTED",
"protocol_version": 3.3,
"tinytuya_version": "1.13.1",
"api_version_set": 3.3,
"api_version_used": 3.3,
"api_working": true,
"status": {},
"cached_state": {
"updated_at":<PHONE_NUMBER>.175817,
"1": false,
"2": 240,
"3": 23,
"4": "cold",
"5": "auto",
"8": 364,
"9": 23,
"10": 20,
"11": "c",
"12": 60,
"15": "scene_1",
"16": "done",
"18": 364,
"201": "{"ver":"3","control":"irlib_download","sub_ctrl":2,"dl_percent":100,"devid":"ebfbf4b15d3f00fa1abc1z","range":-1542458297}"
},
"pending_state": {},
"connected": true,
"force_dps": [],
"home_assistant": {
"name": "Air Conditioning",
"name_by_user": null,
"disabled": false,
"disabled_by": null,
"entities": [
{
"disabled": false,
"disabled_by": null,
"entity_category": null,
"device_class": null,
"original_device_class": null,
"icon": null,
"unit_of_measurement": null,
"state": {
"entity_id": "climate.air_conditioning",
"state": "off",
"attributes": {
"hvac_modes": [
"off",
"cool",
"heat",
"heatcool",
"fan_only",
"dry"
],
"min_temp": 16,
"max_temp": 32,
"target_temp_step": 1.0,
"fan_modes": [
"auto",
"low",
"medium",
"high"
],
"current_temperature": 24.0,
"temperature": 23,
"current_humidity": 60,
"fan_mode": "auto",
"unknown_9": 23,
"unknown_10": 20,
"display_unit": "c",
"unknown_15": "scene_1",
"unknown_16": "done",
"unknown_18": 364,
"friendly_name": "Air Conditioning",
"supported_features": 9
},
"last_changed": "2024-02-04T08:21:35.078906+00:00",
"last_updated": "2024-02-04T08:23:25.833975+00:00"
}
}
]
}
}
}
Please check if there are messages from Tuya Local in the Home
Assistant log (Settings / System / Logs), and include those too.
No Logged messages.
If applicable, add screenshots to help explain your problem.

If the device display is updating, then the commands are getting through from Home Assistant to the device, so the problem is not in the integration, but in the device itself, or your setup of the device.

I forgot to mention the device works fine from the Smart life App. Is there any other advice for setting this up. I saw in a previous lost that you actually own one of these so I assume by your response yours is working fine.
-------- Original message --------
From: Jason Rumney @.>
Date: 4/02/24 9:56 pm (GMT+12:00)
To: make-all/tuya-local @.>
Cc: Brett Smith @.>, Author @.>
Subject: Re: [make-all/tuya-local] Moes IR Controller does everything except send the IR Command (Issue #1599)
If the device display is updating, then the commands are getting through from Home Assistant to the device, so the problem is not in the integration, but in the device itself, or your setup of the device.
—
Reply to this email directly, view it on GitHubhttps://github.com/make-all/tuya-local/issues/1599#issuecomment-1925642573, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BB65IBJIX53VDGYK2FXMOWLYR5EK5AVCNFSM6AAAAABCYV7E2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVGY2DENJXGM.
You are receiving this because you authored the thread.Message ID: @.***>

No, I don't own this one, but another universal remote that presents send-only representations of high level devices as subdevices, which are unusable with tuya-local, as they do not report anything. The main device is a universal learning remote which works as a remote entity for learning and sending remote commands.


Support networkMode=awsvpc

When that happens, there will never be a network binding, but the task should still be considered

Please hold on this PR. I just realised that some target IP addresses are getting mixed. Maybe it was my fault.

@alrosot Did you had the chance to look at my previews comments? Thanks.

Sorry @fredsig, I got disconnected from github for a while. I'll review your comments.

I stopped doing devops since last year, so it was a bit hard to remember the context of this chance. But believe it or not, I guess I hit exactly the same problem you described with ports one day after I raised this PR.
So I just added my commit from 2018-10-12 into this PR. I hope it makes sense.
Thanks!

I ran into several issues on my test environment.

Defaulting to port 9100 if you don't set it on PROMETHEUS_PORT breaks dynamic port discovery for containers running the bridge network mode.
The lambda to get the private ip:

eni = list(filter(lambda x: x.get('PrivateIpAddress') != task_info.ec2_instance['PrivateIpAddress'], task_info.ec2_instance.get('NetworkInterfaces')))[0]
doesn't work well if you have multiple attached private ips to a given ec2 instance, so it's better to instead use it like:
interface_ip = container['networkInterfaces'][0]['privateIpv4Address']

It breaks containers with PROMETHEUS_NOLABELS set.

I really appreciate your work and submitting this PR, but since I want to get this working with awsvpc networking, I'm going to close this PR and commit my changes today. Thanks again!


Add possibility to set KVM MTU size for all NIC

Description
This Pull Request enables a global setting for MTU size . The given value in the global settings will be added to customize all MTU values the MTU interface (see libvirt XML - https://libvirt.org/formatnetwork.html#elementsConnect).
First of all we implemented a change for each single nic of a vm. We observed that this is not useful because Linux Bridges / OpenvSwitch with Libvirt always configures bridge network interface MTU
to use the lowest MTU of all ports (devices) on the bridge.
The only useful way to bypass this problem is to set the MTU to the same size for all VMs.
We introduced a global setting.
kvm.mtu.size Set the MTU for Libvirt and KVM (if not set the default MTU will be considered, Attention: If you use OVS the main bridge automatically is adjusted to the guest nic mtu)
if this is not set nothing will happen. after set a value it will be set for all virtual machines.
We tested it in production in our KVM environment.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

@gmueller-ewerk great!

@GabrielBrascher @rafaelweingartner @rhtyd can you review it? thanks

@wido @gmueller-ewerk @svenvogel
I also think we should check the min/max values in the frontend (WebUI) and backend (java/API).
Also the idea is to manually set the MTU to activate the feature for the specific NIC. This is to not break existing functionality. At the moment the MTU is implicitely set through the nic type and one doesn't know what value is.
So the feature here allows to override the active configuration without forcing an default value onto other vms. This is to allow a soft migration of existing CS installations.

@DennisKonrad Good and valid point. The MTU should only be set if specified. Otherwise we should not define it in the XML and leave it up to libvirt to decide.
So if MTU !=0 or NULL we should add the element to the XML, otherwise just leave it out and let libvirt decide what to do.
@gmueller-ewerk Can you address these comments?

Yes, I will have a look at the issues

@wido can you check again?
@rhtyd @borisstoyanov @rafaelweingartner can you check this?

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✖debian. JID-2645

@DaanHoogland why thumbs down?

@svenvogel because the packaging failed on all platforms. The thumb down is on the blueorangutan output.

restarting
@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2661

During out latests internal tests we discovered some smaller issues with this feature. We are going to fix that. In the meantime, please DO NOT merge the PR.
@gmueller-ewerk: Can anyone with admin permission please reflag the PR with [DO NOT MERGE WIP].

@holgerstolzenberg can you resolve the conflicts and force push your branch?

@gmueller-ewerk there is a small conflict:
.detail-view .details.group-multiple {
  float: left;
<<<<<<< nic_set_mtu_size
  height: 700px;
=======
>>>>>>> master
  width: 100%;
  height: 600px;
  margin-bottom: 30px;
}

Can you quickly decide to use 600px or 700px?

@gmueller-ewerk can you fix the conflicts and address review comments.
Thanks.

@rhtyd I updated the PR. Accidentally I made a rebase before the merge from master but resolved all conflicts. Could you please have a look? Thank you.

we've got a drunk rat ;) the file services/console-proxy-rdp/rdpconsole/pom.xml is unchanged so it shouldn't be in the changes, @gmueller-ewerk . I don't see why it would give a license error, but can you please remove it from the change?

@DaanHoogland Thank you for figuring out. I removed the xml file.

If a variable of type Boolean is equal to null, this tends to indicate the value is false (but here we seem to have it indicate the value is true). Is this really what we want to do?

@mike-tutkowski
do you mean this should result in the MTU change on the bridges?

@gmueller-ewerk new conflicts, sorry. can you please resolve them?

@DaanHoogland I'm already working on it.

@gmueller-ewerk can you merge/rebase against latest master and fix the conflicts?

@gmueller-ewerk can you merge/rebase against latest master and fix the conflicts? cc @svenvogel

@gmueller-ewerk can you rebase it?
@rhtyd @ustcweizhou @wido there are anybody has an ideas why we get these error here with OVS.
https://github.com/apache/cloudstack/pull/3186#pullrequestreview-242716403

@svenvogel I'm not sure about OVS issues.
Fixed db upgrade path conflict

@mdominka can you please fix the conflicts?

@rhtyd can you kick tests again? @wido can you check again. i think we are now ready to merge.

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✖centos7 ✖debian. JID-302

@rhtyd can you please check this failed test:
TESTS="component/find_hosts_for_migration component/test_acl_isolatednetwork component/test_acl_isolatednetwork_delete component/test_acl_listsnapshot

@rhtyd what do you think looks good?

LGTM now i think.

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✔centos7 ✔debian. JID-304

@wido @GabrielBrascher could you find time to look at it?

@wido please review the changes, thanks.

@andrijapanicsb can you take  a look again?

@andrijapanicsb can you take a look again? Thanks.

@andrijapanicsb @wido can you please take a look again?

Now the changes are only in the current SQL schema.

@svenvogel I kindly suggest that you guys install clean 4.13 version and then upgrade to packages built from this PR, to see if the config key defined global setting will be added or not during upgrades. I've seen cases where it is NOT added during upgrades

@svenvogel I am testing it right now; should have a feedback soon (based on code and manual tests).

@mdominka @svenvogel @gmueller-ewerk thanks for the changes!
Quick update on tests. I have been testing it and overall looks fine; however, it would be nice to have VRs automatically configured with the MTU.
When a VR is deployed, the MTU is being correctly configured on the KVM (e.g. /run/libvirt/qemu/r-2293-VM.xml) but the VR OS is still configured with default MTU (1500). It still would be needed to pass this in 'cmdline' to the VR on boot to have VRs booted with correct MTU.

When a VR is deployed, the MTU is being correctly configured on the KVM (e.g. /run/libvirt/qemu/r-2293-VM.xml) but the VR OS is still configured with default MTU (1500). It still would be needed to pass this in 'cmdline' to the VR on boot to have VRs booted with correct MTU.

@GabrielBrascher thanks for testing! we dont know about the router scripts in VPC or virtual router an how we can implement it. i think its not so easy. maybe you can implement it?
@andrijapanicsb yes we tested it on a new 4.13 install. seems to work fine.

@svenvogel Without sending the MTU parameter to the VR things like password resets and other metadata >1500 bytes would become a problem.
During startup the 'cmdline' is send to the VR/SSVM which it uses to configure it's IPs and other network related.
There we would need to add a parameter which also sets the MTU on those NIC(s).

@andrijapanicsb yes we tested it on a new 4.13 install. seems to work fine.

I was speaking about upgrades, where the config key (older style of code) will not be executed during the upgrades and the setting will be missing completely.

@wido you are completely right. we will test it tomorrow. the main problem is we dont have the knowledge about the router internal scripts. you know? there is nobody who know where "cmdline" will be used. a grep inside a virtual router gave ~20 script where this variable will be used.
i will repeat. we dont have the skills to change this. we can try to add the mtu value to the "cmdline" but we need help by the change of the router scripts? can you or @GabrielBrascher help?
Cheers
Sven

@andrijapanicsb we test both thing but we dont encounter any problem. can you check this too?

@svenvogel parsing data to systemvms requires a bit of work indeed; here follows a bit of explanation.
The common.sh script (cloudstack/systemvm/debian/opt/cloud/bin/setup/common.sh) parses the 'cmdline' values (as mentioned above by @wido ). That script is the base for multipe scripts such as:

consoleproxy.sh
router.sh
secstorage.sh
vpcrouter.sh

On VRs we can see the cmdline values at /var/cache/cloud/cmdline:
root@r-2293-VM:~# cat /var/cache/cloud/cmdline
template=domP name=r-2293-VM eth0ip=<IP_ADDRESS> eth0mask=<IP_ADDRESS> gateway=<IP_ADDRESS> domain=cs1cloud.internal cidrsize=26 dhcprange=<IP_ADDRESS> eth1ip=<IP_ADDRESS> eth1mask=<IP_ADDRESS> type=dhcpsrvr disable_rp_filter=true dns1=<IP_ADDRESS> dns2=<IP_ADDRESS> (etc....)
For VRs, there is router.sh, used for configuring virtual router (e.g. network interfaces).
On the management server side, there is the preparation code that sets up a StringBuilder that will contain all these configuration data. For (non-VPC) VRs we can find a bit of details at method finalizeVirtualMachineProfile in VirtualNetworkApplianceManagerImpl.java
On the execution flow, there are also the python scripts merge.py & CsAddress.py.
The question now is how to proceed with this. Does it feet as a new PR? Would it best fit in this PR?

Hi @GabrielBrascher @mdominka yes we should start another PR after this one. Make this sense? we can approve this one so this PR seems ready.

@DaanHoogland is https://github.com/apache/cloudstack/pull/3186/commits/1a91c457c1f16ce6d7e2750c85aacc7e30f91e2c correctly?
possibly the wrong PR? 👍

@svenvogel @gmueller-ewerk it is better practice to rebase the branch upon master, but as we squash-merge on merge a new commit will be created anyway, so it could just turn out fine. The cosmetic and administrative disadvantages will disappear.

I agree with @GabrielBrascher, I've seen some nasty issues with MTU not being in place correctly.
I do want an opinion from @rhtyd as well on this one.
That being said, I do need to back out from this PR, due to lack of time (instead of silently ignoring it) as it would mean considerable testing effort (I can't help much with code obviously).

@GabrielBrascher @andrijapanicsb sure we can put it on-hold and work in progress. at the moment there are no resources to get the things done with the router scripts.

@svenvogel do you think you could work on this, or should we move it to the 4.15 milestone?

Hi @gmueller-ewerk, given inactivity on this PR for last 3+ years, I'm closing this. If you happen to work on this PR again, pl re-open this with conflicts fixed or re-raise a fresh PR. I've meanwhile logged this as an issue for tracking purposes https://github.com/apache/cloudstack/issues/6014


Add information about interrupted conversion/dist-upgrade to stdout and motd

Can you also share the console outputs when you try it?

Sure, no problem:
# ./centos2alma
Doing preparation checks...
^CThe dist-upgrade process was stopped by signal 2. Please use the `centos2alma --revert` option before trying again.
# exit
logout
Connection to plesk-cos-7-1 closed.
~ [1]$ ssh root@XXX

===============================================================================
Message from the Plesk dist-upgrader tool:

    The dist-upgrade process was stopped by signal.
    Please use the `centos2alma --revert` option before trying again.
    You can remove this message from the /etc/motd file.
===============================================================================

Sure, no problem:
# ./centos2alma
Doing preparation checks...
^CThe dist-upgrade process was stopped by signal 2. Please use the `centos2alma --revert` option before trying again.
# exit
logout
Connection to plesk-cos-7-1 closed.
~ [1]$ ssh root@XXX

===============================================================================
Message from the Plesk dist-upgrader tool:

    The dist-upgrade process was stopped by signal.
    Please use the `centos2alma --revert` option before trying again.
    You can remove this message from the /etc/motd file.
===============================================================================

Does it revert motd message when we revert?

Yes. --revert restores motd file from backup


Mumble full rework

I've added install, update, monitoring functions, fixed start, stop and details functions...
Everything is now working fine during my testing.
More than fixes #745

Note this change to the core_dl, otherwise it couldn't download from github. Took me ages to figure this bad boy out. https://github.com/dgibbs64/linuxgsm/pull/947/commits/b0253a9ff555ad71e326e48a6b73fb079511bbec

WOW. I will look at all this work as soon a possible :)

I will do a full test and check all the code before a commit. Probably not a good idea to commit when tired. At quick glance looks decent :D

You're right :)
Maybe displayed messages could be improved while updating, you'll see.
To simulate an update, like for TS, you can change the version number in the last log.
Saving you some time :
https://raw.githubusercontent.com/dgibbs64/linuxgsm/mumble-git-dl/Mumble/mumbleserver
Don't forget to change the branch to mumble-git-dl
Crap, speaking of logs, i'm thinking now there won't have any due to the fact that it's not using tmux anymore... Brrrr ! Now i need to find a workaround. I'll probably use tmux anyways then, will have to rework start and stop, again.

Im testing this currently. Should be able to merge soon :)

Awesome work. Mumble server has never been better!!!

Thanks ! It really needed it; most functions were not working, it was pretty much unusable.
My checklist is finally getting smaller and smaller :o))


Add feature to swap rows and columns

Version?

vs code plugin
browser

Feature
(Via Mail)
A user wanted to have a feature (button) to swap all lines and columns (transposing).

see https://github.com/janisdd/vscode-edit-csv/commit/36c1c2b1c28180d33a1969ec6e150ffacc7f721a


Update Django to 2.2.x and Wagtail to 2.7.x

Django 2.2.x is a LTS (Long Term Support release) so it's something we can stick with until Q1 2022 if we want.
Wagtail 2.7.x is the version that supports Django 2.2.x.
There was a security update on 2019-12-18 that patched a serious issue in the password reset function. This is the main reason we want to push out Django 2.2.x a soon as possible since it has a fix for that.
Until the fix is deployed we have blocked access to the password reset function for normal users.

@danblah @fourthletter @saoun Would be really doom if you could do some testing on this.
These updates touch more or less everything. So I recommend to test things like:

Submit an application as an applicant, both logged in and not logged in.
Administer the new application as staff, writing reviews, determinations etc.
Review applications as a reviewer.
Edit/resubmit an application as a applicant.
Administer application forms and rounds in wagtail admin.

Wagtail admin has got a facelift, some good improvements to the UI I think.

The majority of the above tests work. Number 5: Administer application forms and rounds in wagtail admin presents several issues.
[ ] I was unable to add a new round. Go to Add Round and click on any Fund like  [Fund] Core Infrastructure Fund. I get an internal server error 500.
[ ] Attempting to edit a Fund was presented an error.
I can successfully copy a Fund.

@frjo, same comments as @fourthletter: tests 1 to 4 worked fine on my end, but 5 failed in the same spots (500 errors on adding rounds etc.

@saoun @fourthletter A change in Wagtail 2.7 I had missed, fixed now. Creating rounds seems to work now.


question

why is pornhub available? like what would you play off there 😂

why is pornhub available?
Memes mostly

like what would you play off there 😂
Adult videos most likely


Include lock expiration in ComputationToken.

This will allow a Mill to time out processing as soon as the lock expires, rather than wasting time on an operation that can no longer succeed.

This change is

Depends on #906.
CC @renjiezh

@renjiezh PTAL. I had to change some behavior w.r.t. LockExpirationTime.


Fix about page links to gallery

Closes #58

Both links were broken with / on the live site, it just points to azure.github.io/. This actually worked locally. Is something misconfigured?


Can't load save_path when it is None.

Hello, I'd like to run the  test.py. But there is something wrong .Can you help me ?
Traceback (most recent call last):
File "test.py", line 108, in
main(args)
File "test.py", line 106, in main
test(args, sess, model)
File "test.py", line 66, in test
saver.restore(sess, last_ckpt)
File "/home/guanyun/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1796, in restore
raise ValueError("Can't load save_path when it is None.")
ValueError: Can't load save_path when it is None.

<EMAIL_ADDRESS>微信：loveanshen QQ:519838354


The color for chart looks like no background color

customized with --history-bg-color , thanks.


Updated 21.1 set time zone guidance

Fixes https://github.com/cockroachdb/docs/issues/9551.

This change is